From 1f42367ac9d0869046e5dd2daeceb1c10a581889 Mon Sep 17 00:00:00 2001 From: Michael Droettboom Date: Fri, 26 Apr 2013 11:47:02 -0400 Subject: [PATCH 01/18] Go back to one ghostscript process per test --- lib/matplotlib/testing/compare.py | 32 ++++--------- lib/matplotlib/testing/util.py | 76 ------------------------------- 2 files changed, 10 insertions(+), 98 deletions(-) delete mode 100644 lib/matplotlib/testing/util.py diff --git a/lib/matplotlib/testing/compare.py b/lib/matplotlib/testing/compare.py index 7f649e58befd..23368ddcac0a 100644 --- a/lib/matplotlib/testing/compare.py +++ b/lib/matplotlib/testing/compare.py @@ -141,28 +141,16 @@ def convert(old, new): return convert if matplotlib.checkdep_ghostscript() is not None: - def make_ghostscript_conversion_command(): - # FIXME: make checkdep_ghostscript return the command - if sys.platform == 'win32': - gs = 'gswin32c' - else: - gs = 'gs' - cmd = [gs, '-q', '-sDEVICE=png16m', '-sOutputFile=-'] - - process = util.MiniExpect(cmd) - - def do_convert(old, new): - process.expect("GS>") - process.sendline("(%s) run" % old.replace('\\', '/')) - with open(new, 'wb') as fd: - process.expect(">>showpage, press to continue<<", fd) - process.sendline('') - - return do_convert - - converter['pdf'] = make_ghostscript_conversion_command() - converter['eps'] = make_ghostscript_conversion_command() - + if sys.platform == 'win32': + gs = 'gswin32c' + else: + gs = 'gs' + + cmd = lambda old, new: \ + ['gs', '-q', '-sDEVICE=png16m', '-dNOPAUSE', '-dBATCH', + '-sOutputFile=' + new, old] + converter['pdf'] = make_external_conversion_command(cmd) + converter['eps'] = make_external_conversion_command(cmd) if matplotlib.checkdep_inkscape() is not None: cmd = lambda old, new: \ diff --git a/lib/matplotlib/testing/util.py b/lib/matplotlib/testing/util.py deleted file mode 100644 index 4a0fa43e8b18..000000000000 --- a/lib/matplotlib/testing/util.py +++ /dev/null @@ -1,76 +0,0 @@ -import sys -from matplotlib.compat import subprocess - - -class MiniExpect: - """ - This is a very basic version of pexpect, providing only the - functionality necessary for the testing framework, built on top of - `subprocess` rather than directly on lower-level calls. - """ - def __init__(self, args): - """ - Start the subprocess so it may start accepting commands. - - *args* is a list of commandline arguments to pass to - `subprocess.Popen`. - """ - self._name = args[0] - self._process = subprocess.Popen( - args, - stdin=subprocess.PIPE, - stdout=subprocess.PIPE, - stderr=subprocess.STDOUT) - - def check_alive(self): - """ - Raises a RuntimeError if the process is no longer alive. - """ - returncode = self._process.poll() - if returncode is not None: - raise RuntimeError("%s unexpectedly quit" % self._name) - - def sendline(self, line): - """ - Send a line to the process. - """ - line = line.encode('ascii') - self.check_alive() - stdin = self._process.stdin - stdin.write(line) - stdin.write(b'\n') - stdin.flush() - - def expect(self, s, output=None): - """ - Wait for the string *s* to appear in the child process's output. - - *output* (optional) is a writable file object where all of the - content preceding *s* will be written. - """ - s = s.encode('ascii') - read = self._process.stdout.read - pos = 0 - buf = b'' - while True: - self.check_alive() - char = read(1) - if not char: - raise IOError("Unexpected end-of-file") - - if sys.version_info[0] >= 3: - match = (ord(char) == s[pos]) - else: - match = (char == s[pos]) - - if match: - buf += char - pos += 1 - if pos == len(s): - return - else: - if output is not None: - output.write(buf) - output.write(char) - buf = b'' - pos = 0 From 6410daba06e51f6a8884108e24fa5c8305b00ef4 Mon Sep 17 00:00:00 2001 From: Michael Droettboom Date: Fri, 26 Apr 2013 11:47:36 -0400 Subject: [PATCH 02/18] Fix some test images that weren't being run on Travis before --- .../test_backend_pdf/pdf_use14corefonts.pdf | Bin 1924 -> 1918 bytes .../baseline_images/test_png/pngsuite.png | Bin 48289 -> 48127 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/lib/matplotlib/tests/baseline_images/test_backend_pdf/pdf_use14corefonts.pdf b/lib/matplotlib/tests/baseline_images/test_backend_pdf/pdf_use14corefonts.pdf index 1f3a03b85589d5e02bfa7fbdd94a2b8b8d70c0a5..d85691e95cd885e77232bde7e420d5218b60c274 100644 GIT binary patch delta 840 zcmZqS|HrrCG-G|8!q+o-b96MhqZ4L-yLSC-bP3NkL(Mf?KJgg;FgN=z$=2U;Sl6JU zfn{F7UPaC*cMs#%Y}<7~1zUu+%bl=&c4tD*W9C!2dY41|{NBneG`;#FagzDlYWsux zRhMqcG+N4K#e9EZW6QFLrlZC`tlpiU$#pw=x7z&^;yw2t{a1W)ynbnf_U6(F+Cn#u zujI)*ec(CIyc3~}`RgPzG~RU{^4cKcn7V4g4(0Viv-Y$-60{RbNfB5k@${DQp68b5 zzOQ+Z_c3BtP;>y#6K@6o!ce&vw)`dg*xAatPo(Zza#Gc|V@}q~%zK|ro>xZ|Y|n5y z@$rvgfNtZY=TlnqpFxz?mvd|ElsGTX{8dOo)8xd}$4Lj}nrpTvXg+@YFSWnXVL z_-+neA%=fB|!+km4nDS*e*zifQ1?%e`2+YK!L;`ZENI%@cC zVc|aQJ**SCtzw-LKg^kLA9Hx!o&N?AXM#;-7TDg*ZYa*5acBG7oyUv6yzhD^lh^Qv zdCFF%r4p0gw;t1pw?jVyXZD delta 871 zcmeyz*TTQyG-Lg?$d&2SEFy!%wjD5gyLSET?Jp$i83fmC`NWg_N1Fe?B%6QBVO@iY z7M6L1dlfmO+&zq2vu)P}6>JgOFL#3Z-A+ZxzOQ}(KhhkXxjdH=WR z!?Y=<@+NDBUXc93$g5&g(rqZ8e(BzEf#p zZAqrbY&N^}4?gS4KD?XN*mjpWa0cfxrHo@2_p9d%&Dzs?SGeZh#EFhGl0=f{3GO-Y zu`a>2y!-g2DYsf!wjM2Y*vIloBwV!NAh*MN_Joq{4Kd5SXT@At`3UbFkYP6cEAi@yv#@5BO%4DZ$RUGaY4voLTSqq+DS!&Bwl(~Rum z>b2CX*G`)$^;dn4fg!7;bsF!Y6>g0W3yWeWbR^8^_#lw)KSQEqL1c~W(MfZbMXl?; zc*tb4?W2Tq^A0*)IK1o!o6cnu?IK@4!zTuDQF_>@3fo%k2v@3H-G6M?v3t!*0u-;^L*O%O3pF ziDy~n+1LM0H1r4>eW(nI{U+eVkJEAgW!=(di{`GfnHtb)tvwc%;+oG&h&jf#c%XqNM*tfFb zQ$UHU<&1Um<-F|7&+cr!@Za{`?O%Vj+B{|MhL!rb9yuz0d8+7~I6wUve|9$C`f@}6 z!}~{91y}Ta@}1ua{EaTz_6pFgky=py6A}Yli3d3?jG9tvpcu zMZWB=CC9XeKkP?;FIhj?gGGkP+-P$eiwz^Ep`n?fv4Mr5$>i0n%j!){6bwK>Ay0t| z%rG!CGPb}JGdI8#voypIGd48B6f-tP7c($0GX;xHzQAUxWrS(Ap$Vp#3DC*<>~5T9 Mrd+D3uKsRZ0Ij2N!vFvP diff --git a/lib/matplotlib/tests/baseline_images/test_png/pngsuite.png b/lib/matplotlib/tests/baseline_images/test_png/pngsuite.png index f6f9193bba017365e4b4771e2ef063853f4d22ac..d06b45edf194e586f08a0bfa937dbad374edf6bc 100644 GIT binary patch literal 48127 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 kRCS=uSK{d<^XZzD`Sp-Gxr@)Qf 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 UipD1I@V7x;R#~Rxk+I+Z0WkJFivR!s From 9795b15d45b90efee051a4985b9970f7f02a9ad8 Mon Sep 17 00:00:00 2001 From: Michael Droettboom Date: Fri, 26 Apr 2013 11:47:50 -0400 Subject: [PATCH 03/18] Run tests in parallel on Travis and in tox --- .travis.yml | 2 +- tox.ini | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index e0b6dee6e52a..6882d0e50736 100644 --- a/.travis.yml +++ b/.travis.yml @@ -19,4 +19,4 @@ install: script: - mkdir ../tmp_test_dir - cd ../tmp_test_dir - - python ../matplotlib/tests.py -sv + - python ../matplotlib/tests.py -sv --processes=-1 --process-timeout=300 diff --git a/tox.ini b/tox.ini index f6bca134b12d..b34e6ea7af13 100644 --- a/tox.ini +++ b/tox.ini @@ -10,7 +10,7 @@ envlist = py26, py27, py31, py32 changedir = /tmp commands = sh -c 'rm -f $HOME/.matplotlib/fontList*' - {envpython} {toxinidir}/tests.py + {envpython} {toxinidir}/tests.py --processes=-1 --process-timeout=300 deps = nose numpy From 12bbda837babe425900ceaa36455b46f9e9339f0 Mon Sep 17 00:00:00 2001 From: Michael Droettboom Date: Fri, 26 Apr 2013 11:48:00 -0400 Subject: [PATCH 04/18] Include all test files --- lib/matplotlib/__init__.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py index cebdf0cb9e31..0f646647dc5d 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py @@ -1167,10 +1167,13 @@ def tk_window_focus(): default_test_modules = [ 'matplotlib.tests.test_agg', + 'matplotlib.tests.test_arrow_patches', 'matplotlib.tests.test_artist', 'matplotlib.tests.test_axes', - 'matplotlib.tests.test_backend_svg', + 'matplotlib.tests.test_backend_pdf', 'matplotlib.tests.test_backend_pgf', + 'matplotlib.tests.test_backend_qt4', + 'matplotlib.tests.test_backend_svg', 'matplotlib.tests.test_basic', 'matplotlib.tests.test_bbox_tight', 'matplotlib.tests.test_cbook', @@ -1189,6 +1192,7 @@ def tk_window_focus(): 'matplotlib.tests.test_mlab', 'matplotlib.tests.test_patches', 'matplotlib.tests.test_pickle', + 'matplotlib.tests.test_png', 'matplotlib.tests.test_rcparams', 'matplotlib.tests.test_scale', 'matplotlib.tests.test_simplification', @@ -1198,10 +1202,8 @@ def tk_window_focus(): 'matplotlib.tests.test_text', 'matplotlib.tests.test_ticker', 'matplotlib.tests.test_tightlayout', - 'matplotlib.tests.test_triangulation', 'matplotlib.tests.test_transforms', - 'matplotlib.tests.test_arrow_patches', - 'matplotlib.tests.test_backend_qt4', + 'matplotlib.tests.test_triangulation', ] From ecf9ec304d37544138f31d1b0cf2649902fccd47 Mon Sep 17 00:00:00 2001 From: Michael Droettboom Date: Fri, 26 Apr 2013 11:48:26 -0400 Subject: [PATCH 05/18] Make the test function name match so that they can be pickled through multiprocessing --- lib/matplotlib/tests/test_mathtext.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/tests/test_mathtext.py b/lib/matplotlib/tests/test_mathtext.py index 42f77d4358ac..c4e6191ba0a8 100644 --- a/lib/matplotlib/tests/test_mathtext.py +++ b/lib/matplotlib/tests/test_mathtext.py @@ -146,7 +146,7 @@ def single_test(): fig = plt.figure(figsize=(5.25, 0.75)) fig.text(0.5, 0.5, test, horizontalalignment='center', verticalalignment='center') func = single_test - func.__name__ = filename + "_test" + func.__name__ = "test_" + filename return func # We inject test functions into the global namespace, rather than From a127c314afc088cb1ed660cad5ae1fde1617989c Mon Sep 17 00:00:00 2001 From: Michael Droettboom Date: Fri, 26 Apr 2013 11:48:34 -0400 Subject: [PATCH 06/18] Don't call "show" from a test --- lib/matplotlib/tests/test_triangulation.py | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/matplotlib/tests/test_triangulation.py b/lib/matplotlib/tests/test_triangulation.py index 7dee67bea1f9..2d04d154e48d 100644 --- a/lib/matplotlib/tests/test_triangulation.py +++ b/lib/matplotlib/tests/test_triangulation.py @@ -769,7 +769,6 @@ def dipole_potential(x, y): plt.quiver(triang.x, triang.y, Ex/E_norm, Ey/E_norm, units='xy', scale=10., zorder=3, color='blue', width=0.007, headwidth=3., headlength=4.) - plt.show() def test_tritools(): From 852c1277730a586d725dbd174a4ac321ac9f73ff Mon Sep 17 00:00:00 2001 From: Michael Droettboom Date: Tue, 30 Apr 2013 11:26:30 -0400 Subject: [PATCH 07/18] Fix typo so correct gs executable will be run --- lib/matplotlib/testing/compare.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/testing/compare.py b/lib/matplotlib/testing/compare.py index 23368ddcac0a..231e159a1f48 100644 --- a/lib/matplotlib/testing/compare.py +++ b/lib/matplotlib/testing/compare.py @@ -147,7 +147,7 @@ def convert(old, new): gs = 'gs' cmd = lambda old, new: \ - ['gs', '-q', '-sDEVICE=png16m', '-dNOPAUSE', '-dBATCH', + [gs, '-q', '-sDEVICE=png16m', '-dNOPAUSE', '-dBATCH', '-sOutputFile=' + new, old] converter['pdf'] = make_external_conversion_command(cmd) converter['eps'] = make_external_conversion_command(cmd) From de64395e5c1239645a56c3399d54f2ed77d952ad Mon Sep 17 00:00:00 2001 From: Michael Droettboom Date: Tue, 30 Apr 2013 12:31:28 -0400 Subject: [PATCH 08/18] Remove import of old util --- lib/matplotlib/testing/compare.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/testing/compare.py b/lib/matplotlib/testing/compare.py index 231e159a1f48..e4213cf70c1d 100644 --- a/lib/matplotlib/testing/compare.py +++ b/lib/matplotlib/testing/compare.py @@ -9,7 +9,7 @@ import matplotlib from matplotlib.compat import subprocess from matplotlib.testing.noseclasses import ImageComparisonFailure -from matplotlib.testing import image_util, util +from matplotlib.testing import image_util from matplotlib import _png from matplotlib import _get_configdir from distutils import version From 2ba68a4c60c8a36eae6357568896e70df80ac0d8 Mon Sep 17 00:00:00 2001 From: Michael Droettboom Date: Tue, 30 Apr 2013 12:53:12 -0400 Subject: [PATCH 09/18] Don't run tests in parallel on Travis --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 6882d0e50736..e0b6dee6e52a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -19,4 +19,4 @@ install: script: - mkdir ../tmp_test_dir - cd ../tmp_test_dir - - python ../matplotlib/tests.py -sv --processes=-1 --process-timeout=300 + - python ../matplotlib/tests.py -sv From 268c91c51974fbc6fd21edd700e562da2072b32c Mon Sep 17 00:00:00 2001 From: Michael Droettboom Date: Wed, 1 May 2013 08:03:42 -0400 Subject: [PATCH 10/18] Use $(nproc) to determine number of processors, as discovered by @pelson. --- .travis.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index e0b6dee6e52a..7b1e76d375b7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,7 +7,7 @@ python: - 3.3 install: - - pip install --use-mirrors nose python-dateutil numpy + - pip -q install --use-mirrors nose python-dateutil numpy # This is a workaround to install the latest versions of pyparsing, # which are not yet available on PyPI - 'if [ ${TRAVIS_PYTHON_VERSION:0:1} == "3" ]; then pip install http://sourceforge.net/projects/pyparsing/files/pyparsing/pyparsing-2.0.0/pyparsing-2.0.0.tar.gz; fi' @@ -19,4 +19,5 @@ install: script: - mkdir ../tmp_test_dir - cd ../tmp_test_dir - - python ../matplotlib/tests.py -sv + - echo Testing using $(nproc) processes + - python ../matplotlib/tests.py -sv --processes=$(nproc) --process-timeout=300 From 720fa8023ea0dbe5eaecf025901a5013e5964dd1 Mon Sep 17 00:00:00 2001 From: Michael Droettboom Date: Wed, 1 May 2013 08:18:45 -0400 Subject: [PATCH 11/18] Use cbook.mkdirs, since with multiprocessing tests each process may try to create a directory at the same time --- lib/matplotlib/testing/decorators.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/testing/decorators.py b/lib/matplotlib/testing/decorators.py index 859326673148..db61a482fd38 100644 --- a/lib/matplotlib/testing/decorators.py +++ b/lib/matplotlib/testing/decorators.py @@ -6,6 +6,7 @@ import matplotlib import matplotlib.tests import matplotlib.units +from matplotlib import cbook from matplotlib import ticker from matplotlib import pyplot as plt from matplotlib import ft2font @@ -281,6 +282,6 @@ def find_dotted_module(module_name, path=None): result_dir = os.path.abspath(os.path.join('result_images', subdir)) if not os.path.exists(result_dir): - os.makedirs(result_dir) + cbook.mkdirs(result_dir) return baseline_dir, result_dir From 61fb7802418a1ddadb52b34996030bc989fe2c4d Mon Sep 17 00:00:00 2001 From: Michael Droettboom Date: Wed, 1 May 2013 08:18:57 -0400 Subject: [PATCH 12/18] Make the log quieter --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 7b1e76d375b7..8fdf59f6cac4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,8 +12,8 @@ install: # which are not yet available on PyPI - 'if [ ${TRAVIS_PYTHON_VERSION:0:1} == "3" ]; then pip install http://sourceforge.net/projects/pyparsing/files/pyparsing/pyparsing-2.0.0/pyparsing-2.0.0.tar.gz; fi' - 'if [ ${TRAVIS_PYTHON_VERSION:0:1} == "2" ]; then pip install http://sourceforge.net/projects/pyparsing/files/pyparsing/pyparsing-1.5.7/pyparsing-1.5.7.tar.gz; fi' - - if [[ $TRAVIS_PYTHON_VERSION == '2.'* ]]; then pip install --use-mirrors PIL; fi - - sudo apt-get update && sudo apt-get install inkscape + - if [[ $TRAVIS_PYTHON_VERSION == '2.'* ]]; then pip -q install --use-mirrors PIL; fi + - sudo apt-get update && sudo apt-get -qq install inkscape - python setup.py install script: From 623a1286165b7bfcfe620fc998685744b33a2ee5 Mon Sep 17 00:00:00 2001 From: Michael Droettboom Date: Mon, 6 May 2013 15:21:47 -0400 Subject: [PATCH 13/18] Only compare PNG version of hexbin extent -- it otherwise can crash inkscape on Travis --- 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 9f8e547eb4eb..6bb9244a57ea 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -426,7 +426,7 @@ def test_axhspan_epoch(): @image_comparison(baseline_images=['hexbin_extent'], - remove_text=True) + remove_text=True, extensions=['png']) def test_hexbin_extent(): # this test exposes sf bug 2856228 fig = plt.figure() From 3c94011527e2028bcea4b8f675cb6da65fb9dd9f Mon Sep 17 00:00:00 2001 From: Michael Droettboom Date: Wed, 8 May 2013 12:00:50 -0400 Subject: [PATCH 14/18] Don't switch backends in a test --- lib/matplotlib/tests/test_backend_pdf.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/lib/matplotlib/tests/test_backend_pdf.py b/lib/matplotlib/tests/test_backend_pdf.py index 5d4e0e136806..091205a51624 100644 --- a/lib/matplotlib/tests/test_backend_pdf.py +++ b/lib/matplotlib/tests/test_backend_pdf.py @@ -6,7 +6,6 @@ @image_comparison(baseline_images=['pdf_use14corefonts'], extensions=['pdf']) def test_use14corefonts(): - rcParams['backend'] = 'pdf' rcParams['pdf.use14corefonts'] = True rcParams['font.family'] = 'sans-serif' rcParams['font.size'] = 8 @@ -27,7 +26,6 @@ def test_use14corefonts(): def test_type42(): import io - rcParams['backend'] = 'pdf' rcParams['pdf.fonttype'] = 42 fig = plt.figure() From 8c5071b9abcf0a5bf15fd5e7fef46893caaea15d Mon Sep 17 00:00:00 2001 From: Michael Droettboom Date: Wed, 8 May 2013 12:03:49 -0400 Subject: [PATCH 15/18] Make pip install of pyparsing quiet also --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 8fdf59f6cac4..746a565439b1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,8 +10,8 @@ install: - pip -q install --use-mirrors nose python-dateutil numpy # This is a workaround to install the latest versions of pyparsing, # which are not yet available on PyPI - - 'if [ ${TRAVIS_PYTHON_VERSION:0:1} == "3" ]; then pip install http://sourceforge.net/projects/pyparsing/files/pyparsing/pyparsing-2.0.0/pyparsing-2.0.0.tar.gz; fi' - - 'if [ ${TRAVIS_PYTHON_VERSION:0:1} == "2" ]; then pip install http://sourceforge.net/projects/pyparsing/files/pyparsing/pyparsing-1.5.7/pyparsing-1.5.7.tar.gz; fi' + - 'if [ ${TRAVIS_PYTHON_VERSION:0:1} == "3" ]; then pip -q install http://sourceforge.net/projects/pyparsing/files/pyparsing/pyparsing-2.0.0/pyparsing-2.0.0.tar.gz; fi' + - 'if [ ${TRAVIS_PYTHON_VERSION:0:1} == "2" ]; then pip -q install http://sourceforge.net/projects/pyparsing/files/pyparsing/pyparsing-1.5.7/pyparsing-1.5.7.tar.gz; fi' - if [[ $TRAVIS_PYTHON_VERSION == '2.'* ]]; then pip -q install --use-mirrors PIL; fi - sudo apt-get update && sudo apt-get -qq install inkscape - python setup.py install From 3063af920eeeb9905848b54c20b9c33e79df862f Mon Sep 17 00:00:00 2001 From: Michael Droettboom Date: Wed, 8 May 2013 12:18:36 -0400 Subject: [PATCH 16/18] Limited number of processes on Travis to 8, since otherwise we run out of memory when running too many inkscapes/ghostscripts in parallel --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 746a565439b1..861735cd6049 100644 --- a/.travis.yml +++ b/.travis.yml @@ -19,5 +19,5 @@ install: script: - mkdir ../tmp_test_dir - cd ../tmp_test_dir - - echo Testing using $(nproc) processes - - python ../matplotlib/tests.py -sv --processes=$(nproc) --process-timeout=300 + - echo Testing using 4 processes + - python ../matplotlib/tests.py -sv --processes=8 --process-timeout=300 From 807125d23eba5c84c2a65174b79d077d6ee0691c Mon Sep 17 00:00:00 2001 From: Michael Droettboom Date: Wed, 8 May 2013 13:18:27 -0400 Subject: [PATCH 17/18] Remove tests we're no longer using because they consume too much memory on Travis --- .../test_axes/hexbin_extent.pdf | Bin 3802 -> 0 bytes .../test_axes/hexbin_extent.svg | 34901 ---------------- 2 files changed, 34901 deletions(-) delete mode 100644 lib/matplotlib/tests/baseline_images/test_axes/hexbin_extent.pdf delete mode 100644 lib/matplotlib/tests/baseline_images/test_axes/hexbin_extent.svg diff --git a/lib/matplotlib/tests/baseline_images/test_axes/hexbin_extent.pdf b/lib/matplotlib/tests/baseline_images/test_axes/hexbin_extent.pdf deleted file mode 100644 index 1edeac0909f5e54f539295cf72d7539937506f69..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3802 zcmeHKc~n!`8NU#PV?@y^I3UPVhY^&Jm4rxyR03$H0)j18MF-6h?~`*+Ct5aAOgee)k2$W&Z6yJ$--Ncfa+1%YElNg zMfZ;kmIg$ul0}k)fYJd2l9cJxgc~O5%s`zcGFV0u%fXez7u?JAB*9#$0=M&r-rhs+ zg+wU9^wE=k!K9Rw5j>-VV7W9(p^hQ=M)$rNHA!%({YW@$7BGer@Y8AHwFFMZJD6Zf zWC@B$S&$zb2GkOrR2`?4>SXH3HN&YI^*udtt{@xWepT(1V3%aO@GnbRUoNt5N}b)Xk<*ZstKmP;zhRRD3H?dk zou^b!x(#*)Hl;qNR7VON5>)Fs76=~0 zFP8QD8%tZ$l6wMHi5@1J24`BP?Ygt{k_iY~GN%qCW%}4*#qG-CbQ-+Hf6qKev^6K$ z3|!n*6Q=#;!U3!qKBi?Y<9x!idDF43i_O<7dhY5s6K&X_G`tp@XinEyMpyzv-dhr> zsTz-WjHZgnC;#dgSg+%w2l+-efOqhbq)fmJvD%nz369?CRBU`Z^> zt3}xI;254QLKDrYxR5qAecee9I1r%>vxG|~hKn>*_`7gFJBk%+zVf0u2SE&oXrp34 zNMc9DfDGw090NiVRvUez!=@9%JZj{SvNGlDDshbtb~|X__8o)*Kz3o~GYTLCXh_9* z^K690sD+VYb()g?XgcvOm?9#$uqi#32fMApr2~8U40G7-9N*NJsZ)4P&+7yVb=sBr zUvh&i5L#(bP(IWDI&LX3ttJ$+(#^>!_}ymGI2v9Cy*Tmz;{S44^y>nx8)>~sQy*4Z z3a&`KidD;(+?UdIq2&F2$Bq^q4Y)44py=RTXzh&p{^0op+@1v%H?Frthmh6NPghsn z8(jN*!%}=pDvlQS^ggkEUXY(~zsRBfnw84<_b9RKxy#I$i!CL}ccT~oa?YykiYX>L zMf&&K!%pAZk3T*a+SfJD?jAa~>)+6GgYv?RWiEBV7GDmxXIRI=jtI@Gih%o!^{1Fxx54xI5|++%&=`uc~6o@prcHZHbG-CrsvO zL62c(O-aQWDVI{PGdX*!dtnGT6Q4*)HJtpea`$LYgw~iin%9|w8$+?dnkIgex^6-| zLcFOczrqAvwUo0_x*PloEYMRLgoahxD*U;WhPCN49(>o=Ou`$*`6h%_UKK(s6s^-F z_Shal6j#T9JpwzhuUH0AfIWgJZd+gtLn`v9#`b8bU_xw5pEv{RQc$k7+&_K=9eb#t z+toxsseEY1&5FN*L|3;w*0pf*?m>FjHoOc?S?5wn&+7oHm-hZnoyA}A&vim913rAT z-8|wL#Dm0b;`|b@MGNfGOW<^b{!Du*ysLyw`1FcFt|R`2t;g*g%*|cJhb=lorZ}ve zY;HvKQjh!}4@(y< zPRnY27Ui|~%>8~cI$P?raaNg4eb=*tNB23GT26UVe)!ShTeoh;v$tt7c$Q0wRYcBhtoGs z)@$&GxHHi7^`?tTZYb^R$lc;;uRYoOwm#yZpE~fFuy3G2rOSo9Wwei-(114t^ z%x@J@ae&1stRIA7xN%Z34k#miV}I05rZ)g+QlU{x@Ic`tnag3ZxhyuD4=dkIz+mxa zu~@U5sVOBYJ`xbQlS)czl^Rm1h#<64(L{taG8V25s8FsnpK7pOxvqK_LQay}xlHDW zscT%ct6D}ne>5@ab+TwW+yfq+_2D7-Zf;yRBAWQXgCkGL4m&DaliD(;;>){`qY-=j+^uu5AN9KJT6E0 zQOu-Hs!+;w)DXH*9jzg#PQr8*q|x9DKuub~inTH*A}(wkDb - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - From 08ba300bd436d76d22654a209c3427e95c2db690 Mon Sep 17 00:00:00 2001 From: Michael Droettboom Date: Wed, 8 May 2013 14:37:12 -0400 Subject: [PATCH 18/18] Fix .travis.yml message --- .travis.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 861735cd6049..be3b6b77820b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -19,5 +19,8 @@ install: script: - mkdir ../tmp_test_dir - cd ../tmp_test_dir - - echo Testing using 4 processes + # 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). + - echo Testing using 8 processes - python ../matplotlib/tests.py -sv --processes=8 --process-timeout=300