summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2015-09-20 10:31:52 -0400
committerNed Batchelder <ned@nedbatchelder.com>2015-09-20 10:31:52 -0400
commitf031278b7cf70db69b3dce63d94b65452728d080 (patch)
treed3d95319881588b3be86ee8d336fe6ef0c527b89
parent7780f988bd6a012353798c47f10908eefe6496aa (diff)
downloadpython-coveragepy-git-f031278b7cf70db69b3dce63d94b65452728d080.tar.gz
Latest sample HTML report
-rw-r--r--doc/sample_html/README.txt5
-rw-r--r--doc/sample_html/cogapp___init__.html102
-rw-r--r--doc/sample_html/cogapp___init___py.html109
-rw-r--r--doc/sample_html/cogapp___main__.html94
-rw-r--r--doc/sample_html/cogapp___main___py.html101
-rw-r--r--doc/sample_html/cogapp_backward.html148
-rw-r--r--doc/sample_html/cogapp_backward_py.html143
-rw-r--r--doc/sample_html/cogapp_cogapp.html1550
-rw-r--r--doc/sample_html/cogapp_cogapp_py.html1641
-rw-r--r--doc/sample_html/cogapp_makefiles.html210
-rw-r--r--doc/sample_html/cogapp_makefiles_py.html217
-rw-r--r--doc/sample_html/cogapp_test_cogapp.html4160
-rw-r--r--doc/sample_html/cogapp_test_cogapp_py.html4535
-rw-r--r--doc/sample_html/cogapp_test_makefiles.html270
-rw-r--r--doc/sample_html/cogapp_test_makefiles_py.html275
-rw-r--r--doc/sample_html/cogapp_test_whiteutils.html290
-rw-r--r--doc/sample_html/cogapp_test_whiteutils_py.html295
-rw-r--r--doc/sample_html/cogapp_whiteutils.html226
-rw-r--r--doc/sample_html/cogapp_whiteutils_py.html233
-rw-r--r--doc/sample_html/coverage_html.js142
-rw-r--r--doc/sample_html/index.html188
-rw-r--r--doc/sample_html/jquery.debounce.min.js9
-rw-r--r--doc/sample_html/jquery.min.js170
-rw-r--r--doc/sample_html/status.dat340
-rw-r--r--doc/sample_html/status.json1
-rw-r--r--doc/sample_html/style.css44
26 files changed, 7838 insertions, 7660 deletions
diff --git a/doc/sample_html/README.txt b/doc/sample_html/README.txt
deleted file mode 100644
index 30b96b93..00000000
--- a/doc/sample_html/README.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-This directory was made with::
-
- cd C:\ned\cog\trunk
- coverage run --branch --source=cogapp cogapp\test_cogapp.py CogTestsInMemory
- coverage html
diff --git a/doc/sample_html/cogapp___init__.html b/doc/sample_html/cogapp___init__.html
deleted file mode 100644
index 1199d7b8..00000000
--- a/doc/sample_html/cogapp___init__.html
+++ /dev/null
@@ -1,102 +0,0 @@
-<!doctype html PUBLIC "-//W3C//DTD html 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
- <meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
-
-
- <meta http-equiv='X-UA-Compatible' content='IE=emulateIE7' />
- <title>Coverage for cogapp/__init__: 100%</title>
- <link rel='stylesheet' href='style.css' type='text/css'>
-
- <script type='text/javascript' src='jquery.min.js'></script>
- <script type='text/javascript' src='jquery.hotkeys.js'></script>
- <script type='text/javascript' src='jquery.isonscreen.js'></script>
- <script type='text/javascript' src='coverage_html.js'></script>
- <script type='text/javascript' charset='utf-8'>
- jQuery(document).ready(coverage.pyfile_ready);
- </script>
-</head>
-<body id='pyfile'>
-
-<div id='header'>
- <div class='content'>
- <h1>Coverage for <b>cogapp/__init__</b> :
- <span class='pc_cov'>100%</span>
- </h1>
- <img id='keyboard_icon' src='keybd_closed.png'>
- <h2 class='stats'>
- 2 statements &nbsp;
- <span class='run hide_run shortkey_r button_toggle_run'>2 run</span>
- <span class='mis shortkey_m button_toggle_mis'>0 missing</span>
- <span class='exc shortkey_x button_toggle_exc'>0 excluded</span>
-
- <span class='par run hide_run shortkey_p button_toggle_par'>0 partial</span>
-
- </h2>
- </div>
-</div>
-
-<div class='help_panel'>
- <img id='panel_icon' src='keybd_open.png'>
-<p class='legend'>Hot-keys on this page</p>
- <div>
-<p class='keyhelp'>
- <span class='key'>r</span>
- <span class='key'>m</span>
- <span class='key'>x</span>
- <span class='key'>p</span> &nbsp; toggle line displays
- </p>
-<p class='keyhelp'>
- <span class='key'>j</span>
- <span class='key'>k</span> &nbsp; next/prev highlighted chunk
- </p>
-<p class='keyhelp'>
- <span class='key'>0</span> &nbsp; (zero) top of page
- </p>
-<p class='keyhelp'>
- <span class='key'>1</span> &nbsp; (one) first highlighted chunk
- </p>
- </div>
-</div>
-
-<div id='source'>
- <table cellspacing='0' cellpadding='0'>
- <tr>
- <td class='linenos' valign='top'>
-<p id='n1' class='pln'><a href='#n1'>1</a></p>
-<p id='n2' class='pln'><a href='#n2'>2</a></p>
-<p id='n3' class='pln'><a href='#n3'>3</a></p>
-<p id='n4' class='pln'><a href='#n4'>4</a></p>
-<p id='n5' class='pln'><a href='#n5'>5</a></p>
-<p id='n6' class='pln'><a href='#n6'>6</a></p>
-<p id='n7' class='stm run hide_run'><a href='#n7'>7</a></p>
-<p id='n8' class='pln'><a href='#n8'>8</a></p>
-<p id='n9' class='stm run hide_run'><a href='#n9'>9</a></p>
-
- </td>
- <td class='text' valign='top'>
-<p id='t1' class='pln'><span class='str'>&quot;&quot;&quot; Cog code generation tool.</span><span class='strut'>&nbsp;</span></p>
-<p id='t2' class='pln'><span class='str'>&nbsp; &nbsp; http://nedbatchelder.com/code/cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t3' class='pln'><span class='str'>&nbsp; &nbsp; </span><span class='strut'>&nbsp;</span></p>
-<p id='t4' class='pln'><span class='str'>&nbsp; &nbsp; Copyright 2004-2012, Ned Batchelder.</span><span class='strut'>&nbsp;</span></p>
-<p id='t5' class='pln'><span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t6' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t7' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>__future__</span> <span class='key'>import</span> <span class='nam'>absolute_import</span><span class='strut'>&nbsp;</span></p>
-<p id='t8' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t9' class='stm run hide_run'><span class='key'>from</span> <span class='op'>.</span><span class='nam'>cogapp</span> <span class='key'>import</span> <span class='op'>*</span><span class='strut'>&nbsp;</span></p>
-
- </td>
- </tr>
- </table>
-</div>
-
-<div id='footer'>
- <div class='content'>
- <p>
- <a class='nav' href='index.html'>&#xab; index</a> &nbsp; &nbsp; <a class='nav' href='http://nedbatchelder.com/code/coverage'>coverage.py v3.7.1</a>
- </p>
- </div>
-</div>
-
-</body>
-</html>
diff --git a/doc/sample_html/cogapp___init___py.html b/doc/sample_html/cogapp___init___py.html
new file mode 100644
index 00000000..1ca2ee2a
--- /dev/null
+++ b/doc/sample_html/cogapp___init___py.html
@@ -0,0 +1,109 @@
+
+
+
+<!DOCTYPE html>
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+
+
+ <meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
+ <title>Coverage for cogapp/__init__.py: 100.00%</title>
+ <link rel="stylesheet" href="style.css" type="text/css">
+
+ <script type="text/javascript" src="jquery.min.js"></script>
+ <script type="text/javascript" src="jquery.hotkeys.js"></script>
+ <script type="text/javascript" src="jquery.isonscreen.js"></script>
+ <script type="text/javascript" src="coverage_html.js"></script>
+ <script type="text/javascript">
+ jQuery(document).ready(coverage.pyfile_ready);
+ </script>
+</head>
+<body class="pyfile">
+
+<div id="header">
+ <div class="content">
+ <h1>Coverage for <b>cogapp/__init__.py</b> :
+ <span class="pc_cov">100.00%</span>
+ </h1>
+
+ <img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
+
+ <h2 class="stats">
+ 2 statements &nbsp;
+ <span class="run hide_run shortkey_r button_toggle_run">2 run</span>
+ <span class="mis shortkey_m button_toggle_mis">0 missing</span>
+ <span class="exc shortkey_x button_toggle_exc">0 excluded</span>
+
+
+ <span class="par run hide_run shortkey_p button_toggle_par">0 partial</span>
+
+ </h2>
+ </div>
+</div>
+
+<div class="help_panel">
+ <img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
+<p class="legend">Hot-keys on this page</p>
+ <div>
+<p class="keyhelp">
+ <span class="key">r</span>
+ <span class="key">m</span>
+ <span class="key">x</span>
+ <span class="key">p</span> &nbsp; toggle line displays
+ </p>
+<p class="keyhelp">
+ <span class="key">j</span>
+ <span class="key">k</span> &nbsp; next/prev highlighted chunk
+ </p>
+<p class="keyhelp">
+ <span class="key">0</span> &nbsp; (zero) top of page
+ </p>
+<p class="keyhelp">
+ <span class="key">1</span> &nbsp; (one) first highlighted chunk
+ </p>
+ </div>
+</div>
+
+<div id="source">
+ <table>
+ <tr>
+ <td class="linenos">
+<p id="n1" class="pln"><a href="#n1">1</a></p>
+<p id="n2" class="pln"><a href="#n2">2</a></p>
+<p id="n3" class="pln"><a href="#n3">3</a></p>
+<p id="n4" class="pln"><a href="#n4">4</a></p>
+<p id="n5" class="pln"><a href="#n5">5</a></p>
+<p id="n6" class="pln"><a href="#n6">6</a></p>
+<p id="n7" class="stm run hide_run"><a href="#n7">7</a></p>
+<p id="n8" class="pln"><a href="#n8">8</a></p>
+<p id="n9" class="stm run hide_run"><a href="#n9">9</a></p>
+
+ </td>
+ <td class="text">
+<p id="t1" class="pln"><span class="str">&quot;&quot;&quot; Cog code generation tool.</span><span class="strut">&nbsp;</span></p>
+<p id="t2" class="pln"><span class="str">&nbsp; &nbsp; http://nedbatchelder.com/code/cog</span><span class="strut">&nbsp;</span></p>
+<p id="t3" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t4" class="pln"><span class="str">&nbsp; &nbsp; Copyright 2004-2015, Ned Batchelder.</span><span class="strut">&nbsp;</span></p>
+<p id="t5" class="pln"><span class="str">&quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t6" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t7" class="stm run hide_run"><span class="key">from</span> <span class="nam">__future__</span> <span class="key">import</span> <span class="nam">absolute_import</span><span class="strut">&nbsp;</span></p>
+<p id="t8" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t9" class="stm run hide_run"><span class="key">from</span> <span class="op">.</span><span class="nam">cogapp</span> <span class="key">import</span> <span class="op">*</span><span class="strut">&nbsp;</span></p>
+
+ </td>
+ </tr>
+ </table>
+</div>
+
+<div id="footer">
+ <div class="content">
+ <p>
+ <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.org">coverage.py v4.0</a>,
+ created at 2015-09-20 10:28
+ </p>
+ </div>
+</div>
+
+</body>
+</html>
diff --git a/doc/sample_html/cogapp___main__.html b/doc/sample_html/cogapp___main__.html
deleted file mode 100644
index 23c3d5ec..00000000
--- a/doc/sample_html/cogapp___main__.html
+++ /dev/null
@@ -1,94 +0,0 @@
-<!doctype html PUBLIC "-//W3C//DTD html 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
- <meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
-
-
- <meta http-equiv='X-UA-Compatible' content='IE=emulateIE7' />
- <title>Coverage for cogapp/__main__: 0%</title>
- <link rel='stylesheet' href='style.css' type='text/css'>
-
- <script type='text/javascript' src='jquery.min.js'></script>
- <script type='text/javascript' src='jquery.hotkeys.js'></script>
- <script type='text/javascript' src='jquery.isonscreen.js'></script>
- <script type='text/javascript' src='coverage_html.js'></script>
- <script type='text/javascript' charset='utf-8'>
- jQuery(document).ready(coverage.pyfile_ready);
- </script>
-</head>
-<body id='pyfile'>
-
-<div id='header'>
- <div class='content'>
- <h1>Coverage for <b>cogapp/__main__</b> :
- <span class='pc_cov'>0%</span>
- </h1>
- <img id='keyboard_icon' src='keybd_closed.png'>
- <h2 class='stats'>
- 3 statements &nbsp;
- <span class='run hide_run shortkey_r button_toggle_run'>0 run</span>
- <span class='mis shortkey_m button_toggle_mis'>3 missing</span>
- <span class='exc shortkey_x button_toggle_exc'>0 excluded</span>
-
- <span class='par run hide_run shortkey_p button_toggle_par'>0 partial</span>
-
- </h2>
- </div>
-</div>
-
-<div class='help_panel'>
- <img id='panel_icon' src='keybd_open.png'>
-<p class='legend'>Hot-keys on this page</p>
- <div>
-<p class='keyhelp'>
- <span class='key'>r</span>
- <span class='key'>m</span>
- <span class='key'>x</span>
- <span class='key'>p</span> &nbsp; toggle line displays
- </p>
-<p class='keyhelp'>
- <span class='key'>j</span>
- <span class='key'>k</span> &nbsp; next/prev highlighted chunk
- </p>
-<p class='keyhelp'>
- <span class='key'>0</span> &nbsp; (zero) top of page
- </p>
-<p class='keyhelp'>
- <span class='key'>1</span> &nbsp; (one) first highlighted chunk
- </p>
- </div>
-</div>
-
-<div id='source'>
- <table cellspacing='0' cellpadding='0'>
- <tr>
- <td class='linenos' valign='top'>
-<p id='n1' class='pln'><a href='#n1'>1</a></p>
-<p id='n2' class='stm mis'><a href='#n2'>2</a></p>
-<p id='n3' class='stm mis'><a href='#n3'>3</a></p>
-<p id='n4' class='pln'><a href='#n4'>4</a></p>
-<p id='n5' class='stm mis'><a href='#n5'>5</a></p>
-
- </td>
- <td class='text' valign='top'>
-<p id='t1' class='pln'><span class='str'>&quot;&quot;&quot;Make Cog runnable directly from the module.&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t2' class='stm mis'><span class='key'>import</span> <span class='nam'>sys</span><span class='strut'>&nbsp;</span></p>
-<p id='t3' class='stm mis'><span class='key'>from</span> <span class='nam'>cogapp</span> <span class='key'>import</span> <span class='nam'>Cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t4' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t5' class='stm mis'><span class='nam'>sys</span><span class='op'>.</span><span class='nam'>exit</span><span class='op'>(</span><span class='nam'>Cog</span><span class='op'>(</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>main</span><span class='op'>(</span><span class='nam'>sys</span><span class='op'>.</span><span class='nam'>argv</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-
- </td>
- </tr>
- </table>
-</div>
-
-<div id='footer'>
- <div class='content'>
- <p>
- <a class='nav' href='index.html'>&#xab; index</a> &nbsp; &nbsp; <a class='nav' href='http://nedbatchelder.com/code/coverage'>coverage.py v3.7.1</a>
- </p>
- </div>
-</div>
-
-</body>
-</html>
diff --git a/doc/sample_html/cogapp___main___py.html b/doc/sample_html/cogapp___main___py.html
new file mode 100644
index 00000000..e5584a7e
--- /dev/null
+++ b/doc/sample_html/cogapp___main___py.html
@@ -0,0 +1,101 @@
+
+
+
+<!DOCTYPE html>
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+
+
+ <meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
+ <title>Coverage for cogapp/__main__.py: 0.00%</title>
+ <link rel="stylesheet" href="style.css" type="text/css">
+
+ <script type="text/javascript" src="jquery.min.js"></script>
+ <script type="text/javascript" src="jquery.hotkeys.js"></script>
+ <script type="text/javascript" src="jquery.isonscreen.js"></script>
+ <script type="text/javascript" src="coverage_html.js"></script>
+ <script type="text/javascript">
+ jQuery(document).ready(coverage.pyfile_ready);
+ </script>
+</head>
+<body class="pyfile">
+
+<div id="header">
+ <div class="content">
+ <h1>Coverage for <b>cogapp/__main__.py</b> :
+ <span class="pc_cov">0.00%</span>
+ </h1>
+
+ <img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
+
+ <h2 class="stats">
+ 3 statements &nbsp;
+ <span class="run hide_run shortkey_r button_toggle_run">0 run</span>
+ <span class="mis shortkey_m button_toggle_mis">3 missing</span>
+ <span class="exc shortkey_x button_toggle_exc">0 excluded</span>
+
+
+ <span class="par run hide_run shortkey_p button_toggle_par">0 partial</span>
+
+ </h2>
+ </div>
+</div>
+
+<div class="help_panel">
+ <img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
+<p class="legend">Hot-keys on this page</p>
+ <div>
+<p class="keyhelp">
+ <span class="key">r</span>
+ <span class="key">m</span>
+ <span class="key">x</span>
+ <span class="key">p</span> &nbsp; toggle line displays
+ </p>
+<p class="keyhelp">
+ <span class="key">j</span>
+ <span class="key">k</span> &nbsp; next/prev highlighted chunk
+ </p>
+<p class="keyhelp">
+ <span class="key">0</span> &nbsp; (zero) top of page
+ </p>
+<p class="keyhelp">
+ <span class="key">1</span> &nbsp; (one) first highlighted chunk
+ </p>
+ </div>
+</div>
+
+<div id="source">
+ <table>
+ <tr>
+ <td class="linenos">
+<p id="n1" class="pln"><a href="#n1">1</a></p>
+<p id="n2" class="stm mis"><a href="#n2">2</a></p>
+<p id="n3" class="stm mis"><a href="#n3">3</a></p>
+<p id="n4" class="pln"><a href="#n4">4</a></p>
+<p id="n5" class="stm mis"><a href="#n5">5</a></p>
+
+ </td>
+ <td class="text">
+<p id="t1" class="pln"><span class="str">&quot;&quot;&quot;Make Cog runnable directly from the module.&quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t2" class="stm mis"><span class="key">import</span> <span class="nam">sys</span><span class="strut">&nbsp;</span></p>
+<p id="t3" class="stm mis"><span class="key">from</span> <span class="nam">cogapp</span> <span class="key">import</span> <span class="nam">Cog</span><span class="strut">&nbsp;</span></p>
+<p id="t4" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t5" class="stm mis"><span class="nam">sys</span><span class="op">.</span><span class="nam">exit</span><span class="op">(</span><span class="nam">Cog</span><span class="op">(</span><span class="op">)</span><span class="op">.</span><span class="nam">main</span><span class="op">(</span><span class="nam">sys</span><span class="op">.</span><span class="nam">argv</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+
+ </td>
+ </tr>
+ </table>
+</div>
+
+<div id="footer">
+ <div class="content">
+ <p>
+ <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.org">coverage.py v4.0</a>,
+ created at 2015-09-20 10:28
+ </p>
+ </div>
+</div>
+
+</body>
+</html>
diff --git a/doc/sample_html/cogapp_backward.html b/doc/sample_html/cogapp_backward.html
deleted file mode 100644
index 0ab8e96d..00000000
--- a/doc/sample_html/cogapp_backward.html
+++ /dev/null
@@ -1,148 +0,0 @@
-<!doctype html PUBLIC "-//W3C//DTD html 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
- <meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
-
-
- <meta http-equiv='X-UA-Compatible' content='IE=emulateIE7' />
- <title>Coverage for cogapp/backward: 52%</title>
- <link rel='stylesheet' href='style.css' type='text/css'>
-
- <script type='text/javascript' src='jquery.min.js'></script>
- <script type='text/javascript' src='jquery.hotkeys.js'></script>
- <script type='text/javascript' src='jquery.isonscreen.js'></script>
- <script type='text/javascript' src='coverage_html.js'></script>
- <script type='text/javascript' charset='utf-8'>
- jQuery(document).ready(coverage.pyfile_ready);
- </script>
-</head>
-<body id='pyfile'>
-
-<div id='header'>
- <div class='content'>
- <h1>Coverage for <b>cogapp/backward</b> :
- <span class='pc_cov'>52%</span>
- </h1>
- <img id='keyboard_icon' src='keybd_closed.png'>
- <h2 class='stats'>
- 25 statements &nbsp;
- <span class='run hide_run shortkey_r button_toggle_run'>13 run</span>
- <span class='mis shortkey_m button_toggle_mis'>12 missing</span>
- <span class='exc shortkey_x button_toggle_exc'>0 excluded</span>
-
- <span class='par run hide_run shortkey_p button_toggle_par'>1 partial</span>
-
- </h2>
- </div>
-</div>
-
-<div class='help_panel'>
- <img id='panel_icon' src='keybd_open.png'>
-<p class='legend'>Hot-keys on this page</p>
- <div>
-<p class='keyhelp'>
- <span class='key'>r</span>
- <span class='key'>m</span>
- <span class='key'>x</span>
- <span class='key'>p</span> &nbsp; toggle line displays
- </p>
-<p class='keyhelp'>
- <span class='key'>j</span>
- <span class='key'>k</span> &nbsp; next/prev highlighted chunk
- </p>
-<p class='keyhelp'>
- <span class='key'>0</span> &nbsp; (zero) top of page
- </p>
-<p class='keyhelp'>
- <span class='key'>1</span> &nbsp; (one) first highlighted chunk
- </p>
- </div>
-</div>
-
-<div id='source'>
- <table cellspacing='0' cellpadding='0'>
- <tr>
- <td class='linenos' valign='top'>
-<p id='n1' class='pln'><a href='#n1'>1</a></p>
-<p id='n2' class='pln'><a href='#n2'>2</a></p>
-<p id='n3' class='stm run hide_run'><a href='#n3'>3</a></p>
-<p id='n4' class='pln'><a href='#n4'>4</a></p>
-<p id='n5' class='stm run hide_run'><a href='#n5'>5</a></p>
-<p id='n6' class='pln'><a href='#n6'>6</a></p>
-<p id='n7' class='stm par run hide_run'><a href='#n7'>7</a></p>
-<p id='n8' class='stm mis'><a href='#n8'>8</a></p>
-<p id='n9' class='stm mis'><a href='#n9'>9</a></p>
-<p id='n10' class='stm mis'><a href='#n10'>10</a></p>
-<p id='n11' class='stm mis'><a href='#n11'>11</a></p>
-<p id='n12' class='stm mis'><a href='#n12'>12</a></p>
-<p id='n13' class='stm mis'><a href='#n13'>13</a></p>
-<p id='n14' class='stm mis'><a href='#n14'>14</a></p>
-<p id='n15' class='stm mis'><a href='#n15'>15</a></p>
-<p id='n16' class='stm mis'><a href='#n16'>16</a></p>
-<p id='n17' class='pln'><a href='#n17'>17</a></p>
-<p id='n18' class='stm run hide_run'><a href='#n18'>18</a></p>
-<p id='n19' class='stm run hide_run'><a href='#n19'>19</a></p>
-<p id='n20' class='stm run hide_run'><a href='#n20'>20</a></p>
-<p id='n21' class='stm run hide_run'><a href='#n21'>21</a></p>
-<p id='n22' class='stm run hide_run'><a href='#n22'>22</a></p>
-<p id='n23' class='stm run hide_run'><a href='#n23'>23</a></p>
-<p id='n24' class='stm mis'><a href='#n24'>24</a></p>
-<p id='n25' class='stm run hide_run'><a href='#n25'>25</a></p>
-<p id='n26' class='stm run hide_run'><a href='#n26'>26</a></p>
-<p id='n27' class='pln'><a href='#n27'>27</a></p>
-<p id='n28' class='pln'><a href='#n28'>28</a></p>
-<p id='n29' class='stm run hide_run'><a href='#n29'>29</a></p>
-<p id='n30' class='stm run hide_run'><a href='#n30'>30</a></p>
-<p id='n31' class='stm mis'><a href='#n31'>31</a></p>
-<p id='n32' class='stm mis'><a href='#n32'>32</a></p>
-
- </td>
- <td class='text' valign='top'>
-<p id='t1' class='pln'><span class='str'>&quot;&quot;&quot;Compatibility between Py2 and Py3.&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t2' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t3' class='stm run hide_run'><span class='key'>import</span> <span class='nam'>sys</span><span class='strut'>&nbsp;</span></p>
-<p id='t4' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t5' class='stm run hide_run'><span class='nam'>PY3</span> <span class='op'>=</span> <span class='nam'>sys</span><span class='op'>.</span><span class='nam'>version_info</span><span class='op'>[</span><span class='num'>0</span><span class='op'>]</span> <span class='op'>==</span> <span class='num'>3</span><span class='strut'>&nbsp;</span></p>
-<p id='t6' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t7' class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>8</span><span class='key'>if</span> <span class='nam'>PY3</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t8' class='stm mis'>&nbsp; &nbsp; <span class='nam'>string_types</span> <span class='op'>=</span> <span class='op'>(</span><span class='nam'>str</span><span class='op'>,</span><span class='nam'>bytes</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t9' class='stm mis'>&nbsp; &nbsp; <span class='nam'>text_types</span> <span class='op'>=</span> <span class='op'>(</span><span class='nam'>str</span><span class='op'>,</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t10' class='stm mis'>&nbsp; &nbsp; <span class='nam'>bytes_types</span> <span class='op'>=</span> <span class='op'>(</span><span class='nam'>bytes</span><span class='op'>,</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t11' class='stm mis'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>b</span><span class='op'>(</span><span class='nam'>s</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t12' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>s</span><span class='op'>.</span><span class='nam'>encode</span><span class='op'>(</span><span class='str'>&quot;latin-1&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t13' class='stm mis'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>u</span><span class='op'>(</span><span class='nam'>s</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t14' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>s</span><span class='strut'>&nbsp;</span></p>
-<p id='t15' class='stm mis'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>to_bytes</span><span class='op'>(</span><span class='nam'>s</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t16' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>s</span><span class='op'>.</span><span class='nam'>encode</span><span class='op'>(</span><span class='str'>&#39;utf8&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t17' class='pln'><span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t18' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>string_types</span> <span class='op'>=</span> <span class='op'>(</span><span class='nam'>basestring</span><span class='op'>,</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t19' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>text_types</span> <span class='op'>=</span> <span class='op'>(</span><span class='nam'>unicode</span><span class='op'>,</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t20' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>bytes_types</span> <span class='op'>=</span> <span class='op'>(</span><span class='nam'>str</span><span class='op'>,</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t21' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>b</span><span class='op'>(</span><span class='nam'>s</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t22' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>s</span><span class='strut'>&nbsp;</span></p>
-<p id='t23' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>u</span><span class='op'>(</span><span class='nam'>s</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t24' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>unicode</span><span class='op'>(</span><span class='nam'>s</span><span class='op'>,</span> <span class='str'>&quot;unicode_escape&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t25' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>to_bytes</span><span class='op'>(</span><span class='nam'>s</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t26' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>s</span><span class='strut'>&nbsp;</span></p>
-<p id='t27' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t28' class='pln'><span class='com'># Pythons 2 and 3 differ on where to get StringIO</span><span class='strut'>&nbsp;</span></p>
-<p id='t29' class='stm run hide_run'><span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t30' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>from</span> <span class='nam'>cStringIO</span> <span class='key'>import</span> <span class='nam'>StringIO</span><span class='strut'>&nbsp;</span></p>
-<p id='t31' class='stm mis'><span class='key'>except</span> <span class='nam'>ImportError</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t32' class='stm mis'>&nbsp; &nbsp; <span class='key'>from</span> <span class='nam'>io</span> <span class='key'>import</span> <span class='nam'>StringIO</span><span class='strut'>&nbsp;</span></p>
-
- </td>
- </tr>
- </table>
-</div>
-
-<div id='footer'>
- <div class='content'>
- <p>
- <a class='nav' href='index.html'>&#xab; index</a> &nbsp; &nbsp; <a class='nav' href='http://nedbatchelder.com/code/coverage'>coverage.py v3.7.1</a>
- </p>
- </div>
-</div>
-
-</body>
-</html>
diff --git a/doc/sample_html/cogapp_backward_py.html b/doc/sample_html/cogapp_backward_py.html
new file mode 100644
index 00000000..34b91ff0
--- /dev/null
+++ b/doc/sample_html/cogapp_backward_py.html
@@ -0,0 +1,143 @@
+
+
+
+<!DOCTYPE html>
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+
+
+ <meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
+ <title>Coverage for cogapp/backward.py: 57.14%</title>
+ <link rel="stylesheet" href="style.css" type="text/css">
+
+ <script type="text/javascript" src="jquery.min.js"></script>
+ <script type="text/javascript" src="jquery.hotkeys.js"></script>
+ <script type="text/javascript" src="jquery.isonscreen.js"></script>
+ <script type="text/javascript" src="coverage_html.js"></script>
+ <script type="text/javascript">
+ jQuery(document).ready(coverage.pyfile_ready);
+ </script>
+</head>
+<body class="pyfile">
+
+<div id="header">
+ <div class="content">
+ <h1>Coverage for <b>cogapp/backward.py</b> :
+ <span class="pc_cov">57.14%</span>
+ </h1>
+
+ <img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
+
+ <h2 class="stats">
+ 19 statements &nbsp;
+ <span class="run hide_run shortkey_r button_toggle_run">11 run</span>
+ <span class="mis shortkey_m button_toggle_mis">8 missing</span>
+ <span class="exc shortkey_x button_toggle_exc">0 excluded</span>
+
+
+ <span class="par run hide_run shortkey_p button_toggle_par">1 partial</span>
+
+ </h2>
+ </div>
+</div>
+
+<div class="help_panel">
+ <img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
+<p class="legend">Hot-keys on this page</p>
+ <div>
+<p class="keyhelp">
+ <span class="key">r</span>
+ <span class="key">m</span>
+ <span class="key">x</span>
+ <span class="key">p</span> &nbsp; toggle line displays
+ </p>
+<p class="keyhelp">
+ <span class="key">j</span>
+ <span class="key">k</span> &nbsp; next/prev highlighted chunk
+ </p>
+<p class="keyhelp">
+ <span class="key">0</span> &nbsp; (zero) top of page
+ </p>
+<p class="keyhelp">
+ <span class="key">1</span> &nbsp; (one) first highlighted chunk
+ </p>
+ </div>
+</div>
+
+<div id="source">
+ <table>
+ <tr>
+ <td class="linenos">
+<p id="n1" class="pln"><a href="#n1">1</a></p>
+<p id="n2" class="pln"><a href="#n2">2</a></p>
+<p id="n3" class="stm run hide_run"><a href="#n3">3</a></p>
+<p id="n4" class="pln"><a href="#n4">4</a></p>
+<p id="n5" class="stm run hide_run"><a href="#n5">5</a></p>
+<p id="n6" class="pln"><a href="#n6">6</a></p>
+<p id="n7" class="stm par run hide_run"><a href="#n7">7</a></p>
+<p id="n8" class="stm mis"><a href="#n8">8</a></p>
+<p id="n9" class="stm mis"><a href="#n9">9</a></p>
+<p id="n10" class="stm mis"><a href="#n10">10</a></p>
+<p id="n11" class="stm mis"><a href="#n11">11</a></p>
+<p id="n12" class="stm mis"><a href="#n12">12</a></p>
+<p id="n13" class="stm mis"><a href="#n13">13</a></p>
+<p id="n14" class="pln"><a href="#n14">14</a></p>
+<p id="n15" class="stm run hide_run"><a href="#n15">15</a></p>
+<p id="n16" class="stm run hide_run"><a href="#n16">16</a></p>
+<p id="n17" class="stm run hide_run"><a href="#n17">17</a></p>
+<p id="n18" class="stm run hide_run"><a href="#n18">18</a></p>
+<p id="n19" class="stm run hide_run"><a href="#n19">19</a></p>
+<p id="n20" class="stm run hide_run"><a href="#n20">20</a></p>
+<p id="n21" class="pln"><a href="#n21">21</a></p>
+<p id="n22" class="pln"><a href="#n22">22</a></p>
+<p id="n23" class="stm run hide_run"><a href="#n23">23</a></p>
+<p id="n24" class="stm run hide_run"><a href="#n24">24</a></p>
+<p id="n25" class="stm mis"><a href="#n25">25</a></p>
+<p id="n26" class="stm mis"><a href="#n26">26</a></p>
+
+ </td>
+ <td class="text">
+<p id="t1" class="pln"><span class="str">&quot;&quot;&quot;Compatibility between Py2 and Py3.&quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t2" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t3" class="stm run hide_run"><span class="key">import</span> <span class="nam">sys</span><span class="strut">&nbsp;</span></p>
+<p id="t4" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t5" class="stm run hide_run"><span class="nam">PY3</span> <span class="op">=</span> <span class="nam">sys</span><span class="op">.</span><span class="nam">version_info</span><span class="op">[</span><span class="num">0</span><span class="op">]</span> <span class="op">==</span> <span class="num">3</span><span class="strut">&nbsp;</span></p>
+<p id="t6" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t7" class="stm par run hide_run"><span class="annotate" title="Line 7 was executed, but never jumped to line 8">7&#x202F;&#x219B;&#x202F;8 [?]</span><span class="key">if</span> <span class="nam">PY3</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t8" class="stm mis">&nbsp; &nbsp; <span class="nam">string_types</span> <span class="op">=</span> <span class="op">(</span><span class="nam">str</span><span class="op">,</span><span class="nam">bytes</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t9" class="stm mis">&nbsp; &nbsp; <span class="nam">bytes_types</span> <span class="op">=</span> <span class="op">(</span><span class="nam">bytes</span><span class="op">,</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t10" class="stm mis">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">b</span><span class="op">(</span><span class="nam">s</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t11" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">return</span> <span class="nam">s</span><span class="op">.</span><span class="nam">encode</span><span class="op">(</span><span class="str">&quot;latin-1&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t12" class="stm mis">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">to_bytes</span><span class="op">(</span><span class="nam">s</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t13" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">return</span> <span class="nam">s</span><span class="op">.</span><span class="nam">encode</span><span class="op">(</span><span class="str">&#39;utf8&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t14" class="pln"><span class="key">else</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t15" class="stm run hide_run">&nbsp; &nbsp; <span class="nam">string_types</span> <span class="op">=</span> <span class="op">(</span><span class="nam">basestring</span><span class="op">,</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t16" class="stm run hide_run">&nbsp; &nbsp; <span class="nam">bytes_types</span> <span class="op">=</span> <span class="op">(</span><span class="nam">str</span><span class="op">,</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t17" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">b</span><span class="op">(</span><span class="nam">s</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t18" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">return</span> <span class="nam">s</span><span class="strut">&nbsp;</span></p>
+<p id="t19" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">to_bytes</span><span class="op">(</span><span class="nam">s</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t20" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">return</span> <span class="nam">s</span><span class="strut">&nbsp;</span></p>
+<p id="t21" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t22" class="pln"><span class="com"># Pythons 2 and 3 differ on where to get StringIO</span><span class="strut">&nbsp;</span></p>
+<p id="t23" class="stm run hide_run"><span class="key">try</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t24" class="stm run hide_run">&nbsp; &nbsp; <span class="key">from</span> <span class="nam">cStringIO</span> <span class="key">import</span> <span class="nam">StringIO</span><span class="strut">&nbsp;</span></p>
+<p id="t25" class="stm mis"><span class="key">except</span> <span class="nam">ImportError</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t26" class="stm mis">&nbsp; &nbsp; <span class="key">from</span> <span class="nam">io</span> <span class="key">import</span> <span class="nam">StringIO</span><span class="strut">&nbsp;</span></p>
+
+ </td>
+ </tr>
+ </table>
+</div>
+
+<div id="footer">
+ <div class="content">
+ <p>
+ <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.org">coverage.py v4.0</a>,
+ created at 2015-09-20 10:28
+ </p>
+ </div>
+</div>
+
+</body>
+</html>
diff --git a/doc/sample_html/cogapp_cogapp.html b/doc/sample_html/cogapp_cogapp.html
deleted file mode 100644
index bfac946a..00000000
--- a/doc/sample_html/cogapp_cogapp.html
+++ /dev/null
@@ -1,1550 +0,0 @@
-<!doctype html PUBLIC "-//W3C//DTD html 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
- <meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
-
-
- <meta http-equiv='X-UA-Compatible' content='IE=emulateIE7' />
- <title>Coverage for cogapp/cogapp: 49%</title>
- <link rel='stylesheet' href='style.css' type='text/css'>
-
- <script type='text/javascript' src='jquery.min.js'></script>
- <script type='text/javascript' src='jquery.hotkeys.js'></script>
- <script type='text/javascript' src='jquery.isonscreen.js'></script>
- <script type='text/javascript' src='coverage_html.js'></script>
- <script type='text/javascript' charset='utf-8'>
- jQuery(document).ready(coverage.pyfile_ready);
- </script>
-</head>
-<body id='pyfile'>
-
-<div id='header'>
- <div class='content'>
- <h1>Coverage for <b>cogapp/cogapp</b> :
- <span class='pc_cov'>49%</span>
- </h1>
- <img id='keyboard_icon' src='keybd_closed.png'>
- <h2 class='stats'>
- 403 statements &nbsp;
- <span class='run hide_run shortkey_r button_toggle_run'>223 run</span>
- <span class='mis shortkey_m button_toggle_mis'>180 missing</span>
- <span class='exc shortkey_x button_toggle_exc'>3 excluded</span>
-
- <span class='par run hide_run shortkey_p button_toggle_par'>26 partial</span>
-
- </h2>
- </div>
-</div>
-
-<div class='help_panel'>
- <img id='panel_icon' src='keybd_open.png'>
-<p class='legend'>Hot-keys on this page</p>
- <div>
-<p class='keyhelp'>
- <span class='key'>r</span>
- <span class='key'>m</span>
- <span class='key'>x</span>
- <span class='key'>p</span> &nbsp; toggle line displays
- </p>
-<p class='keyhelp'>
- <span class='key'>j</span>
- <span class='key'>k</span> &nbsp; next/prev highlighted chunk
- </p>
-<p class='keyhelp'>
- <span class='key'>0</span> &nbsp; (zero) top of page
- </p>
-<p class='keyhelp'>
- <span class='key'>1</span> &nbsp; (one) first highlighted chunk
- </p>
- </div>
-</div>
-
-<div id='source'>
- <table cellspacing='0' cellpadding='0'>
- <tr>
- <td class='linenos' valign='top'>
-<p id='n1' class='pln'><a href='#n1'>1</a></p>
-<p id='n2' class='pln'><a href='#n2'>2</a></p>
-<p id='n3' class='pln'><a href='#n3'>3</a></p>
-<p id='n4' class='pln'><a href='#n4'>4</a></p>
-<p id='n5' class='pln'><a href='#n5'>5</a></p>
-<p id='n6' class='pln'><a href='#n6'>6</a></p>
-<p id='n7' class='stm run hide_run'><a href='#n7'>7</a></p>
-<p id='n8' class='pln'><a href='#n8'>8</a></p>
-<p id='n9' class='stm run hide_run'><a href='#n9'>9</a></p>
-<p id='n10' class='stm run hide_run'><a href='#n10'>10</a></p>
-<p id='n11' class='pln'><a href='#n11'>11</a></p>
-<p id='n12' class='stm run hide_run'><a href='#n12'>12</a></p>
-<p id='n13' class='pln'><a href='#n13'>13</a></p>
-<p id='n14' class='stm run hide_run'><a href='#n14'>14</a></p>
-<p id='n15' class='pln'><a href='#n15'>15</a></p>
-<p id='n16' class='stm run hide_run'><a href='#n16'>16</a></p>
-<p id='n17' class='pln'><a href='#n17'>17</a></p>
-<p id='n18' class='pln'><a href='#n18'>18</a></p>
-<p id='n19' class='pln'><a href='#n19'>19</a></p>
-<p id='n20' class='pln'><a href='#n20'>20</a></p>
-<p id='n21' class='pln'><a href='#n21'>21</a></p>
-<p id='n22' class='pln'><a href='#n22'>22</a></p>
-<p id='n23' class='pln'><a href='#n23'>23</a></p>
-<p id='n24' class='pln'><a href='#n24'>24</a></p>
-<p id='n25' class='pln'><a href='#n25'>25</a></p>
-<p id='n26' class='pln'><a href='#n26'>26</a></p>
-<p id='n27' class='pln'><a href='#n27'>27</a></p>
-<p id='n28' class='pln'><a href='#n28'>28</a></p>
-<p id='n29' class='pln'><a href='#n29'>29</a></p>
-<p id='n30' class='pln'><a href='#n30'>30</a></p>
-<p id='n31' class='pln'><a href='#n31'>31</a></p>
-<p id='n32' class='pln'><a href='#n32'>32</a></p>
-<p id='n33' class='pln'><a href='#n33'>33</a></p>
-<p id='n34' class='pln'><a href='#n34'>34</a></p>
-<p id='n35' class='pln'><a href='#n35'>35</a></p>
-<p id='n36' class='pln'><a href='#n36'>36</a></p>
-<p id='n37' class='pln'><a href='#n37'>37</a></p>
-<p id='n38' class='pln'><a href='#n38'>38</a></p>
-<p id='n39' class='pln'><a href='#n39'>39</a></p>
-<p id='n40' class='pln'><a href='#n40'>40</a></p>
-<p id='n41' class='pln'><a href='#n41'>41</a></p>
-<p id='n42' class='pln'><a href='#n42'>42</a></p>
-<p id='n43' class='pln'><a href='#n43'>43</a></p>
-<p id='n44' class='stm run hide_run'><a href='#n44'>44</a></p>
-<p id='n45' class='pln'><a href='#n45'>45</a></p>
-<p id='n46' class='stm run hide_run'><a href='#n46'>46</a></p>
-<p id='n47' class='pln'><a href='#n47'>47</a></p>
-<p id='n48' class='pln'><a href='#n48'>48</a></p>
-<p id='n49' class='stm run hide_run'><a href='#n49'>49</a></p>
-<p id='n50' class='stm par run hide_run'><a href='#n50'>50</a></p>
-<p id='n51' class='stm run hide_run'><a href='#n51'>51</a></p>
-<p id='n52' class='pln'><a href='#n52'>52</a></p>
-<p id='n53' class='stm mis'><a href='#n53'>53</a></p>
-<p id='n54' class='pln'><a href='#n54'>54</a></p>
-<p id='n55' class='stm run hide_run'><a href='#n55'>55</a></p>
-<p id='n56' class='pln'><a href='#n56'>56</a></p>
-<p id='n57' class='pln'><a href='#n57'>57</a></p>
-<p id='n58' class='exc'><a href='#n58'>58</a></p>
-<p id='n59' class='pln'><a href='#n59'>59</a></p>
-<p id='n60' class='stm run hide_run'><a href='#n60'>60</a></p>
-<p id='n61' class='pln'><a href='#n61'>61</a></p>
-<p id='n62' class='pln'><a href='#n62'>62</a></p>
-<p id='n63' class='exc'><a href='#n63'>63</a></p>
-<p id='n64' class='pln'><a href='#n64'>64</a></p>
-<p id='n65' class='stm run hide_run'><a href='#n65'>65</a></p>
-<p id='n66' class='pln'><a href='#n66'>66</a></p>
-<p id='n67' class='pln'><a href='#n67'>67</a></p>
-<p id='n68' class='exc'><a href='#n68'>68</a></p>
-<p id='n69' class='pln'><a href='#n69'>69</a></p>
-<p id='n70' class='stm run hide_run'><a href='#n70'>70</a></p>
-<p id='n71' class='pln'><a href='#n71'>71</a></p>
-<p id='n72' class='pln'><a href='#n72'>72</a></p>
-<p id='n73' class='stm run hide_run'><a href='#n73'>73</a></p>
-<p id='n74' class='stm run hide_run'><a href='#n74'>74</a></p>
-<p id='n75' class='stm run hide_run'><a href='#n75'>75</a></p>
-<p id='n76' class='pln'><a href='#n76'>76</a></p>
-<p id='n77' class='stm run hide_run'><a href='#n77'>77</a></p>
-<p id='n78' class='pln'><a href='#n78'>78</a></p>
-<p id='n79' class='pln'><a href='#n79'>79</a></p>
-<p id='n80' class='stm par run hide_run'><a href='#n80'>80</a></p>
-<p id='n81' class='stm run hide_run'><a href='#n81'>81</a></p>
-<p id='n82' class='stm par run hide_run'><a href='#n82'>82</a></p>
-<p id='n83' class='stm mis'><a href='#n83'>83</a></p>
-<p id='n84' class='pln'><a href='#n84'>84</a></p>
-<p id='n85' class='stm run hide_run'><a href='#n85'>85</a></p>
-<p id='n86' class='stm mis'><a href='#n86'>86</a></p>
-<p id='n87' class='pln'><a href='#n87'>87</a></p>
-<p id='n88' class='stm run hide_run'><a href='#n88'>88</a></p>
-<p id='n89' class='stm mis'><a href='#n89'>89</a></p>
-<p id='n90' class='pln'><a href='#n90'>90</a></p>
-<p id='n91' class='pln'><a href='#n91'>91</a></p>
-<p id='n92' class='stm run hide_run'><a href='#n92'>92</a></p>
-<p id='n93' class='pln'><a href='#n93'>93</a></p>
-<p id='n94' class='pln'><a href='#n94'>94</a></p>
-<p id='n95' class='stm run hide_run'><a href='#n95'>95</a></p>
-<p id='n96' class='stm run hide_run'><a href='#n96'>96</a></p>
-<p id='n97' class='stm run hide_run'><a href='#n97'>97</a></p>
-<p id='n98' class='stm run hide_run'><a href='#n98'>98</a></p>
-<p id='n99' class='pln'><a href='#n99'>99</a></p>
-<p id='n100' class='stm run hide_run'><a href='#n100'>100</a></p>
-<p id='n101' class='stm run hide_run'><a href='#n101'>101</a></p>
-<p id='n102' class='pln'><a href='#n102'>102</a></p>
-<p id='n103' class='stm run hide_run'><a href='#n103'>103</a></p>
-<p id='n104' class='stm run hide_run'><a href='#n104'>104</a></p>
-<p id='n105' class='pln'><a href='#n105'>105</a></p>
-<p id='n106' class='stm run hide_run'><a href='#n106'>106</a></p>
-<p id='n107' class='pln'><a href='#n107'>107</a></p>
-<p id='n108' class='pln'><a href='#n108'>108</a></p>
-<p id='n109' class='pln'><a href='#n109'>109</a></p>
-<p id='n110' class='pln'><a href='#n110'>110</a></p>
-<p id='n111' class='pln'><a href='#n111'>111</a></p>
-<p id='n112' class='stm run hide_run'><a href='#n112'>112</a></p>
-<p id='n113' class='stm run hide_run'><a href='#n113'>113</a></p>
-<p id='n114' class='stm run hide_run'><a href='#n114'>114</a></p>
-<p id='n115' class='stm run hide_run'><a href='#n115'>115</a></p>
-<p id='n116' class='pln'><a href='#n116'>116</a></p>
-<p id='n117' class='stm run hide_run'><a href='#n117'>117</a></p>
-<p id='n118' class='pln'><a href='#n118'>118</a></p>
-<p id='n119' class='stm run hide_run'><a href='#n119'>119</a></p>
-<p id='n120' class='pln'><a href='#n120'>120</a></p>
-<p id='n121' class='stm run hide_run'><a href='#n121'>121</a></p>
-<p id='n122' class='pln'><a href='#n122'>122</a></p>
-<p id='n123' class='stm run hide_run'><a href='#n123'>123</a></p>
-<p id='n124' class='stm run hide_run'><a href='#n124'>124</a></p>
-<p id='n125' class='stm run hide_run'><a href='#n125'>125</a></p>
-<p id='n126' class='pln'><a href='#n126'>126</a></p>
-<p id='n127' class='pln'><a href='#n127'>127</a></p>
-<p id='n128' class='stm run hide_run'><a href='#n128'>128</a></p>
-<p id='n129' class='stm run hide_run'><a href='#n129'>129</a></p>
-<p id='n130' class='pln'><a href='#n130'>130</a></p>
-<p id='n131' class='pln'><a href='#n131'>131</a></p>
-<p id='n132' class='stm run hide_run'><a href='#n132'>132</a></p>
-<p id='n133' class='stm run hide_run'><a href='#n133'>133</a></p>
-<p id='n134' class='stm run hide_run'><a href='#n134'>134</a></p>
-<p id='n135' class='stm run hide_run'><a href='#n135'>135</a></p>
-<p id='n136' class='pln'><a href='#n136'>136</a></p>
-<p id='n137' class='stm run hide_run'><a href='#n137'>137</a></p>
-<p id='n138' class='stm run hide_run'><a href='#n138'>138</a></p>
-<p id='n139' class='pln'><a href='#n139'>139</a></p>
-<p id='n140' class='pln'><a href='#n140'>140</a></p>
-<p id='n141' class='pln'><a href='#n141'>141</a></p>
-<p id='n142' class='pln'><a href='#n142'>142</a></p>
-<p id='n143' class='stm run hide_run'><a href='#n143'>143</a></p>
-<p id='n144' class='stm run hide_run'><a href='#n144'>144</a></p>
-<p id='n145' class='pln'><a href='#n145'>145</a></p>
-<p id='n146' class='stm run hide_run'><a href='#n146'>146</a></p>
-<p id='n147' class='pln'><a href='#n147'>147</a></p>
-<p id='n148' class='stm run hide_run'><a href='#n148'>148</a></p>
-<p id='n149' class='stm mis'><a href='#n149'>149</a></p>
-<p id='n150' class='pln'><a href='#n150'>150</a></p>
-<p id='n151' class='stm run hide_run'><a href='#n151'>151</a></p>
-<p id='n152' class='pln'><a href='#n152'>152</a></p>
-<p id='n153' class='pln'><a href='#n153'>153</a></p>
-<p id='n154' class='stm run hide_run'><a href='#n154'>154</a></p>
-<p id='n155' class='stm run hide_run'><a href='#n155'>155</a></p>
-<p id='n156' class='stm run hide_run'><a href='#n156'>156</a></p>
-<p id='n157' class='stm run hide_run'><a href='#n157'>157</a></p>
-<p id='n158' class='stm par run hide_run'><a href='#n158'>158</a></p>
-<p id='n159' class='stm run hide_run'><a href='#n159'>159</a></p>
-<p id='n160' class='stm run hide_run'><a href='#n160'>160</a></p>
-<p id='n161' class='stm run hide_run'><a href='#n161'>161</a></p>
-<p id='n162' class='stm run hide_run'><a href='#n162'>162</a></p>
-<p id='n163' class='stm run hide_run'><a href='#n163'>163</a></p>
-<p id='n164' class='pln'><a href='#n164'>164</a></p>
-<p id='n165' class='stm run hide_run'><a href='#n165'>165</a></p>
-<p id='n166' class='pln'><a href='#n166'>166</a></p>
-<p id='n167' class='pln'><a href='#n167'>167</a></p>
-<p id='n168' class='stm run hide_run'><a href='#n168'>168</a></p>
-<p id='n169' class='stm run hide_run'><a href='#n169'>169</a></p>
-<p id='n170' class='pln'><a href='#n170'>170</a></p>
-<p id='n171' class='stm run hide_run'><a href='#n171'>171</a></p>
-<p id='n172' class='pln'><a href='#n172'>172</a></p>
-<p id='n173' class='pln'><a href='#n173'>173</a></p>
-<p id='n174' class='pln'><a href='#n174'>174</a></p>
-<p id='n175' class='pln'><a href='#n175'>175</a></p>
-<p id='n176' class='pln'><a href='#n176'>176</a></p>
-<p id='n177' class='stm mis'><a href='#n177'>177</a></p>
-<p id='n178' class='pln'><a href='#n178'>178</a></p>
-<p id='n179' class='pln'><a href='#n179'>179</a></p>
-<p id='n180' class='stm run hide_run'><a href='#n180'>180</a></p>
-<p id='n181' class='pln'><a href='#n181'>181</a></p>
-<p id='n182' class='pln'><a href='#n182'>182</a></p>
-<p id='n183' class='stm run hide_run'><a href='#n183'>183</a></p>
-<p id='n184' class='stm run hide_run'><a href='#n184'>184</a></p>
-<p id='n185' class='stm run hide_run'><a href='#n185'>185</a></p>
-<p id='n186' class='pln'><a href='#n186'>186</a></p>
-<p id='n187' class='stm run hide_run'><a href='#n187'>187</a></p>
-<p id='n188' class='stm run hide_run'><a href='#n188'>188</a></p>
-<p id='n189' class='stm run hide_run'><a href='#n189'>189</a></p>
-<p id='n190' class='stm run hide_run'><a href='#n190'>190</a></p>
-<p id='n191' class='stm run hide_run'><a href='#n191'>191</a></p>
-<p id='n192' class='pln'><a href='#n192'>192</a></p>
-<p id='n193' class='stm run hide_run'><a href='#n193'>193</a></p>
-<p id='n194' class='stm run hide_run'><a href='#n194'>194</a></p>
-<p id='n195' class='pln'><a href='#n195'>195</a></p>
-<p id='n196' class='pln'><a href='#n196'>196</a></p>
-<p id='n197' class='stm run hide_run'><a href='#n197'>197</a></p>
-<p id='n198' class='pln'><a href='#n198'>198</a></p>
-<p id='n199' class='pln'><a href='#n199'>199</a></p>
-<p id='n200' class='stm run hide_run'><a href='#n200'>200</a></p>
-<p id='n201' class='pln'><a href='#n201'>201</a></p>
-<p id='n202' class='stm run hide_run'><a href='#n202'>202</a></p>
-<p id='n203' class='stm run hide_run'><a href='#n203'>203</a></p>
-<p id='n204' class='stm run hide_run'><a href='#n204'>204</a></p>
-<p id='n205' class='stm run hide_run'><a href='#n205'>205</a></p>
-<p id='n206' class='stm run hide_run'><a href='#n206'>206</a></p>
-<p id='n207' class='stm run hide_run'><a href='#n207'>207</a></p>
-<p id='n208' class='stm run hide_run'><a href='#n208'>208</a></p>
-<p id='n209' class='stm run hide_run'><a href='#n209'>209</a></p>
-<p id='n210' class='stm run hide_run'><a href='#n210'>210</a></p>
-<p id='n211' class='stm run hide_run'><a href='#n211'>211</a></p>
-<p id='n212' class='stm run hide_run'><a href='#n212'>212</a></p>
-<p id='n213' class='stm run hide_run'><a href='#n213'>213</a></p>
-<p id='n214' class='stm run hide_run'><a href='#n214'>214</a></p>
-<p id='n215' class='stm run hide_run'><a href='#n215'>215</a></p>
-<p id='n216' class='pln'><a href='#n216'>216</a></p>
-<p id='n217' class='stm run hide_run'><a href='#n217'>217</a></p>
-<p id='n218' class='pln'><a href='#n218'>218</a></p>
-<p id='n219' class='pln'><a href='#n219'>219</a></p>
-<p id='n220' class='stm mis'><a href='#n220'>220</a></p>
-<p id='n221' class='pln'><a href='#n221'>221</a></p>
-<p id='n222' class='stm run hide_run'><a href='#n222'>222</a></p>
-<p id='n223' class='pln'><a href='#n223'>223</a></p>
-<p id='n224' class='pln'><a href='#n224'>224</a></p>
-<p id='n225' class='stm mis'><a href='#n225'>225</a></p>
-<p id='n226' class='pln'><a href='#n226'>226</a></p>
-<p id='n227' class='stm run hide_run'><a href='#n227'>227</a></p>
-<p id='n228' class='pln'><a href='#n228'>228</a></p>
-<p id='n229' class='pln'><a href='#n229'>229</a></p>
-<p id='n230' class='stm mis'><a href='#n230'>230</a></p>
-<p id='n231' class='stm mis'><a href='#n231'>231</a></p>
-<p id='n232' class='pln'><a href='#n232'>232</a></p>
-<p id='n233' class='stm run hide_run'><a href='#n233'>233</a></p>
-<p id='n234' class='pln'><a href='#n234'>234</a></p>
-<p id='n235' class='stm mis'><a href='#n235'>235</a></p>
-<p id='n236' class='stm mis'><a href='#n236'>236</a></p>
-<p id='n237' class='stm mis'><a href='#n237'>237</a></p>
-<p id='n238' class='stm mis'><a href='#n238'>238</a></p>
-<p id='n239' class='pln'><a href='#n239'>239</a></p>
-<p id='n240' class='pln'><a href='#n240'>240</a></p>
-<p id='n241' class='stm mis'><a href='#n241'>241</a></p>
-<p id='n242' class='stm mis'><a href='#n242'>242</a></p>
-<p id='n243' class='stm mis'><a href='#n243'>243</a></p>
-<p id='n244' class='stm mis'><a href='#n244'>244</a></p>
-<p id='n245' class='stm mis'><a href='#n245'>245</a></p>
-<p id='n246' class='stm mis'><a href='#n246'>246</a></p>
-<p id='n247' class='stm mis'><a href='#n247'>247</a></p>
-<p id='n248' class='stm mis'><a href='#n248'>248</a></p>
-<p id='n249' class='stm mis'><a href='#n249'>249</a></p>
-<p id='n250' class='stm mis'><a href='#n250'>250</a></p>
-<p id='n251' class='stm mis'><a href='#n251'>251</a></p>
-<p id='n252' class='stm mis'><a href='#n252'>252</a></p>
-<p id='n253' class='stm mis'><a href='#n253'>253</a></p>
-<p id='n254' class='stm mis'><a href='#n254'>254</a></p>
-<p id='n255' class='stm mis'><a href='#n255'>255</a></p>
-<p id='n256' class='stm mis'><a href='#n256'>256</a></p>
-<p id='n257' class='stm mis'><a href='#n257'>257</a></p>
-<p id='n258' class='stm mis'><a href='#n258'>258</a></p>
-<p id='n259' class='stm mis'><a href='#n259'>259</a></p>
-<p id='n260' class='stm mis'><a href='#n260'>260</a></p>
-<p id='n261' class='stm mis'><a href='#n261'>261</a></p>
-<p id='n262' class='stm mis'><a href='#n262'>262</a></p>
-<p id='n263' class='stm mis'><a href='#n263'>263</a></p>
-<p id='n264' class='stm mis'><a href='#n264'>264</a></p>
-<p id='n265' class='stm mis'><a href='#n265'>265</a></p>
-<p id='n266' class='stm mis'><a href='#n266'>266</a></p>
-<p id='n267' class='stm mis'><a href='#n267'>267</a></p>
-<p id='n268' class='stm mis'><a href='#n268'>268</a></p>
-<p id='n269' class='stm mis'><a href='#n269'>269</a></p>
-<p id='n270' class='stm mis'><a href='#n270'>270</a></p>
-<p id='n271' class='pln'><a href='#n271'>271</a></p>
-<p id='n272' class='pln'><a href='#n272'>272</a></p>
-<p id='n273' class='pln'><a href='#n273'>273</a></p>
-<p id='n274' class='stm mis'><a href='#n274'>274</a></p>
-<p id='n275' class='pln'><a href='#n275'>275</a></p>
-<p id='n276' class='stm run hide_run'><a href='#n276'>276</a></p>
-<p id='n277' class='pln'><a href='#n277'>277</a></p>
-<p id='n278' class='pln'><a href='#n278'>278</a></p>
-<p id='n279' class='stm mis'><a href='#n279'>279</a></p>
-<p id='n280' class='stm mis'><a href='#n280'>280</a></p>
-<p id='n281' class='pln'><a href='#n281'>281</a></p>
-<p id='n282' class='stm mis'><a href='#n282'>282</a></p>
-<p id='n283' class='stm mis'><a href='#n283'>283</a></p>
-<p id='n284' class='pln'><a href='#n284'>284</a></p>
-<p id='n285' class='pln'><a href='#n285'>285</a></p>
-<p id='n286' class='stm run hide_run'><a href='#n286'>286</a></p>
-<p id='n287' class='pln'><a href='#n287'>287</a></p>
-<p id='n288' class='pln'><a href='#n288'>288</a></p>
-<p id='n289' class='stm run hide_run'><a href='#n289'>289</a></p>
-<p id='n290' class='stm run hide_run'><a href='#n290'>290</a></p>
-<p id='n291' class='stm run hide_run'><a href='#n291'>291</a></p>
-<p id='n292' class='stm run hide_run'><a href='#n292'>292</a></p>
-<p id='n293' class='stm run hide_run'><a href='#n293'>293</a></p>
-<p id='n294' class='stm run hide_run'><a href='#n294'>294</a></p>
-<p id='n295' class='stm run hide_run'><a href='#n295'>295</a></p>
-<p id='n296' class='pln'><a href='#n296'>296</a></p>
-<p id='n297' class='stm run hide_run'><a href='#n297'>297</a></p>
-<p id='n298' class='pln'><a href='#n298'>298</a></p>
-<p id='n299' class='stm run hide_run'><a href='#n299'>299</a></p>
-<p id='n300' class='pln'><a href='#n300'>300</a></p>
-<p id='n301' class='stm run hide_run'><a href='#n301'>301</a></p>
-<p id='n302' class='stm mis'><a href='#n302'>302</a></p>
-<p id='n303' class='pln'><a href='#n303'>303</a></p>
-<p id='n304' class='stm run hide_run'><a href='#n304'>304</a></p>
-<p id='n305' class='stm run hide_run'><a href='#n305'>305</a></p>
-<p id='n306' class='pln'><a href='#n306'>306</a></p>
-<p id='n307' class='stm run hide_run'><a href='#n307'>307</a></p>
-<p id='n308' class='stm run hide_run'><a href='#n308'>308</a></p>
-<p id='n309' class='pln'><a href='#n309'>309</a></p>
-<p id='n310' class='stm run hide_run'><a href='#n310'>310</a></p>
-<p id='n311' class='stm run hide_run'><a href='#n311'>311</a></p>
-<p id='n312' class='pln'><a href='#n312'>312</a></p>
-<p id='n313' class='stm run hide_run'><a href='#n313'>313</a></p>
-<p id='n314' class='pln'><a href='#n314'>314</a></p>
-<p id='n315' class='pln'><a href='#n315'>315</a></p>
-<p id='n316' class='pln'><a href='#n316'>316</a></p>
-<p id='n317' class='stm run hide_run'><a href='#n317'>317</a></p>
-<p id='n318' class='stm run hide_run'><a href='#n318'>318</a></p>
-<p id='n319' class='stm run hide_run'><a href='#n319'>319</a></p>
-<p id='n320' class='pln'><a href='#n320'>320</a></p>
-<p id='n321' class='stm run hide_run'><a href='#n321'>321</a></p>
-<p id='n322' class='pln'><a href='#n322'>322</a></p>
-<p id='n323' class='pln'><a href='#n323'>323</a></p>
-<p id='n324' class='stm mis'><a href='#n324'>324</a></p>
-<p id='n325' class='stm mis'><a href='#n325'>325</a></p>
-<p id='n326' class='stm mis'><a href='#n326'>326</a></p>
-<p id='n327' class='stm mis'><a href='#n327'>327</a></p>
-<p id='n328' class='stm mis'><a href='#n328'>328</a></p>
-<p id='n329' class='stm mis'><a href='#n329'>329</a></p>
-<p id='n330' class='stm mis'><a href='#n330'>330</a></p>
-<p id='n331' class='pln'><a href='#n331'>331</a></p>
-<p id='n332' class='stm mis'><a href='#n332'>332</a></p>
-<p id='n333' class='stm mis'><a href='#n333'>333</a></p>
-<p id='n334' class='pln'><a href='#n334'>334</a></p>
-<p id='n335' class='stm run hide_run'><a href='#n335'>335</a></p>
-<p id='n336' class='pln'><a href='#n336'>336</a></p>
-<p id='n337' class='stm mis'><a href='#n337'>337</a></p>
-<p id='n338' class='stm mis'><a href='#n338'>338</a></p>
-<p id='n339' class='pln'><a href='#n339'>339</a></p>
-<p id='n340' class='stm mis'><a href='#n340'>340</a></p>
-<p id='n341' class='stm mis'><a href='#n341'>341</a></p>
-<p id='n342' class='stm mis'><a href='#n342'>342</a></p>
-<p id='n343' class='stm mis'><a href='#n343'>343</a></p>
-<p id='n344' class='pln'><a href='#n344'>344</a></p>
-<p id='n345' class='stm run hide_run'><a href='#n345'>345</a></p>
-<p id='n346' class='pln'><a href='#n346'>346</a></p>
-<p id='n347' class='pln'><a href='#n347'>347</a></p>
-<p id='n348' class='pln'><a href='#n348'>348</a></p>
-<p id='n349' class='pln'><a href='#n349'>349</a></p>
-<p id='n350' class='stm run hide_run'><a href='#n350'>350</a></p>
-<p id='n351' class='stm run hide_run'><a href='#n351'>351</a></p>
-<p id='n352' class='stm run hide_run'><a href='#n352'>352</a></p>
-<p id='n353' class='pln'><a href='#n353'>353</a></p>
-<p id='n354' class='stm par run hide_run'><a href='#n354'>354</a></p>
-<p id='n355' class='pln'><a href='#n355'>355</a></p>
-<p id='n356' class='stm mis'><a href='#n356'>356</a></p>
-<p id='n357' class='stm mis'><a href='#n357'>357</a></p>
-<p id='n358' class='stm par run hide_run'><a href='#n358'>358</a></p>
-<p id='n359' class='pln'><a href='#n359'>359</a></p>
-<p id='n360' class='stm mis'><a href='#n360'>360</a></p>
-<p id='n361' class='stm mis'><a href='#n361'>361</a></p>
-<p id='n362' class='pln'><a href='#n362'>362</a></p>
-<p id='n363' class='stm run hide_run'><a href='#n363'>363</a></p>
-<p id='n364' class='stm run hide_run'><a href='#n364'>364</a></p>
-<p id='n365' class='pln'><a href='#n365'>365</a></p>
-<p id='n366' class='stm run hide_run'><a href='#n366'>366</a></p>
-<p id='n367' class='pln'><a href='#n367'>367</a></p>
-<p id='n368' class='stm run hide_run'><a href='#n368'>368</a></p>
-<p id='n369' class='stm run hide_run'><a href='#n369'>369</a></p>
-<p id='n370' class='pln'><a href='#n370'>370</a></p>
-<p id='n371' class='pln'><a href='#n371'>371</a></p>
-<p id='n372' class='stm par run hide_run'><a href='#n372'>372</a></p>
-<p id='n373' class='stm run hide_run'><a href='#n373'>373</a></p>
-<p id='n374' class='pln'><a href='#n374'>374</a></p>
-<p id='n375' class='pln'><a href='#n375'>375</a></p>
-<p id='n376' class='stm run hide_run'><a href='#n376'>376</a></p>
-<p id='n377' class='pln'><a href='#n377'>377</a></p>
-<p id='n378' class='pln'><a href='#n378'>378</a></p>
-<p id='n379' class='stm run hide_run'><a href='#n379'>379</a></p>
-<p id='n380' class='stm run hide_run'><a href='#n380'>380</a></p>
-<p id='n381' class='pln'><a href='#n381'>381</a></p>
-<p id='n382' class='stm run hide_run'><a href='#n382'>382</a></p>
-<p id='n383' class='stm par run hide_run'><a href='#n383'>383</a></p>
-<p id='n384' class='stm mis'><a href='#n384'>384</a></p>
-<p id='n385' class='pln'><a href='#n385'>385</a></p>
-<p id='n386' class='stm par run hide_run'><a href='#n386'>386</a></p>
-<p id='n387' class='stm mis'><a href='#n387'>387</a></p>
-<p id='n388' class='pln'><a href='#n388'>388</a></p>
-<p id='n389' class='stm run hide_run'><a href='#n389'>389</a></p>
-<p id='n390' class='stm run hide_run'><a href='#n390'>390</a></p>
-<p id='n391' class='stm run hide_run'><a href='#n391'>391</a></p>
-<p id='n392' class='stm run hide_run'><a href='#n392'>392</a></p>
-<p id='n393' class='stm par run hide_run'><a href='#n393'>393</a></p>
-<p id='n394' class='stm run hide_run'><a href='#n394'>394</a></p>
-<p id='n395' class='pln'><a href='#n395'>395</a></p>
-<p id='n396' class='pln'><a href='#n396'>396</a></p>
-<p id='n397' class='stm run hide_run'><a href='#n397'>397</a></p>
-<p id='n398' class='stm run hide_run'><a href='#n398'>398</a></p>
-<p id='n399' class='stm run hide_run'><a href='#n399'>399</a></p>
-<p id='n400' class='stm run hide_run'><a href='#n400'>400</a></p>
-<p id='n401' class='stm run hide_run'><a href='#n401'>401</a></p>
-<p id='n402' class='pln'><a href='#n402'>402</a></p>
-<p id='n403' class='pln'><a href='#n403'>403</a></p>
-<p id='n404' class='pln'><a href='#n404'>404</a></p>
-<p id='n405' class='stm run hide_run'><a href='#n405'>405</a></p>
-<p id='n406' class='stm run hide_run'><a href='#n406'>406</a></p>
-<p id='n407' class='stm run hide_run'><a href='#n407'>407</a></p>
-<p id='n408' class='stm run hide_run'><a href='#n408'>408</a></p>
-<p id='n409' class='stm run hide_run'><a href='#n409'>409</a></p>
-<p id='n410' class='pln'><a href='#n410'>410</a></p>
-<p id='n411' class='pln'><a href='#n411'>411</a></p>
-<p id='n412' class='stm run hide_run'><a href='#n412'>412</a></p>
-<p id='n413' class='stm run hide_run'><a href='#n413'>413</a></p>
-<p id='n414' class='pln'><a href='#n414'>414</a></p>
-<p id='n415' class='pln'><a href='#n415'>415</a></p>
-<p id='n416' class='stm run hide_run'><a href='#n416'>416</a></p>
-<p id='n417' class='pln'><a href='#n417'>417</a></p>
-<p id='n418' class='pln'><a href='#n418'>418</a></p>
-<p id='n419' class='stm run hide_run'><a href='#n419'>419</a></p>
-<p id='n420' class='stm par run hide_run'><a href='#n420'>420</a></p>
-<p id='n421' class='stm mis'><a href='#n421'>421</a></p>
-<p id='n422' class='pln'><a href='#n422'>422</a></p>
-<p id='n423' class='stm par run hide_run'><a href='#n423'>423</a></p>
-<p id='n424' class='stm mis'><a href='#n424'>424</a></p>
-<p id='n425' class='pln'><a href='#n425'>425</a></p>
-<p id='n426' class='stm par run hide_run'><a href='#n426'>426</a></p>
-<p id='n427' class='stm run hide_run'><a href='#n427'>427</a></p>
-<p id='n428' class='stm run hide_run'><a href='#n428'>428</a></p>
-<p id='n429' class='stm run hide_run'><a href='#n429'>429</a></p>
-<p id='n430' class='stm par run hide_run'><a href='#n430'>430</a></p>
-<p id='n431' class='stm mis'><a href='#n431'>431</a></p>
-<p id='n432' class='pln'><a href='#n432'>432</a></p>
-<p id='n433' class='pln'><a href='#n433'>433</a></p>
-<p id='n434' class='pln'><a href='#n434'>434</a></p>
-<p id='n435' class='stm par run hide_run'><a href='#n435'>435</a></p>
-<p id='n436' class='stm run hide_run'><a href='#n436'>436</a></p>
-<p id='n437' class='stm run hide_run'><a href='#n437'>437</a></p>
-<p id='n438' class='pln'><a href='#n438'>438</a></p>
-<p id='n439' class='stm run hide_run'><a href='#n439'>439</a></p>
-<p id='n440' class='pln'><a href='#n440'>440</a></p>
-<p id='n441' class='pln'><a href='#n441'>441</a></p>
-<p id='n442' class='pln'><a href='#n442'>442</a></p>
-<p id='n443' class='stm run hide_run'><a href='#n443'>443</a></p>
-<p id='n444' class='stm run hide_run'><a href='#n444'>444</a></p>
-<p id='n445' class='stm run hide_run'><a href='#n445'>445</a></p>
-<p id='n446' class='stm par run hide_run'><a href='#n446'>446</a></p>
-<p id='n447' class='stm mis'><a href='#n447'>447</a></p>
-<p id='n448' class='pln'><a href='#n448'>448</a></p>
-<p id='n449' class='stm par run hide_run'><a href='#n449'>449</a></p>
-<p id='n450' class='stm mis'><a href='#n450'>450</a></p>
-<p id='n451' class='pln'><a href='#n451'>451</a></p>
-<p id='n452' class='stm run hide_run'><a href='#n452'>452</a></p>
-<p id='n453' class='stm run hide_run'><a href='#n453'>453</a></p>
-<p id='n454' class='stm run hide_run'><a href='#n454'>454</a></p>
-<p id='n455' class='stm run hide_run'><a href='#n455'>455</a></p>
-<p id='n456' class='pln'><a href='#n456'>456</a></p>
-<p id='n457' class='stm par run hide_run'><a href='#n457'>457</a></p>
-<p id='n458' class='pln'><a href='#n458'>458</a></p>
-<p id='n459' class='stm mis'><a href='#n459'>459</a></p>
-<p id='n460' class='pln'><a href='#n460'>460</a></p>
-<p id='n461' class='pln'><a href='#n461'>461</a></p>
-<p id='n462' class='pln'><a href='#n462'>462</a></p>
-<p id='n463' class='stm run hide_run'><a href='#n463'>463</a></p>
-<p id='n464' class='pln'><a href='#n464'>464</a></p>
-<p id='n465' class='pln'><a href='#n465'>465</a></p>
-<p id='n466' class='pln'><a href='#n466'>466</a></p>
-<p id='n467' class='stm run hide_run'><a href='#n467'>467</a></p>
-<p id='n468' class='stm par run hide_run'><a href='#n468'>468</a></p>
-<p id='n469' class='stm run hide_run'><a href='#n469'>469</a></p>
-<p id='n470' class='stm run hide_run'><a href='#n470'>470</a></p>
-<p id='n471' class='stm run hide_run'><a href='#n471'>471</a></p>
-<p id='n472' class='stm run hide_run'><a href='#n472'>472</a></p>
-<p id='n473' class='stm run hide_run'><a href='#n473'>473</a></p>
-<p id='n474' class='stm run hide_run'><a href='#n474'>474</a></p>
-<p id='n475' class='pln'><a href='#n475'>475</a></p>
-<p id='n476' class='stm run hide_run'><a href='#n476'>476</a></p>
-<p id='n477' class='pln'><a href='#n477'>477</a></p>
-<p id='n478' class='pln'><a href='#n478'>478</a></p>
-<p id='n479' class='stm run hide_run'><a href='#n479'>479</a></p>
-<p id='n480' class='stm par run hide_run'><a href='#n480'>480</a></p>
-<p id='n481' class='stm mis'><a href='#n481'>481</a></p>
-<p id='n482' class='stm mis'><a href='#n482'>482</a></p>
-<p id='n483' class='stm mis'><a href='#n483'>483</a></p>
-<p id='n484' class='stm mis'><a href='#n484'>484</a></p>
-<p id='n485' class='pln'><a href='#n485'>485</a></p>
-<p id='n486' class='pln'><a href='#n486'>486</a></p>
-<p id='n487' class='stm mis'><a href='#n487'>487</a></p>
-<p id='n488' class='pln'><a href='#n488'>488</a></p>
-<p id='n489' class='pln'><a href='#n489'>489</a></p>
-<p id='n490' class='stm mis'><a href='#n490'>490</a></p>
-<p id='n491' class='stm mis'><a href='#n491'>491</a></p>
-<p id='n492' class='pln'><a href='#n492'>492</a></p>
-<p id='n493' class='pln'><a href='#n493'>493</a></p>
-<p id='n494' class='pln'><a href='#n494'>494</a></p>
-<p id='n495' class='stm par run hide_run'><a href='#n495'>495</a></p>
-<p id='n496' class='stm mis'><a href='#n496'>496</a></p>
-<p id='n497' class='pln'><a href='#n497'>497</a></p>
-<p id='n498' class='stm par run hide_run'><a href='#n498'>498</a></p>
-<p id='n499' class='stm run hide_run'><a href='#n499'>499</a></p>
-<p id='n500' class='stm run hide_run'><a href='#n500'>500</a></p>
-<p id='n501' class='pln'><a href='#n501'>501</a></p>
-<p id='n502' class='stm par run hide_run'><a href='#n502'>502</a></p>
-<p id='n503' class='stm mis'><a href='#n503'>503</a></p>
-<p id='n504' class='pln'><a href='#n504'>504</a></p>
-<p id='n505' class='stm par run hide_run'><a href='#n505'>505</a></p>
-<p id='n506' class='stm mis'><a href='#n506'>506</a></p>
-<p id='n507' class='stm par run hide_run'><a href='#n507'>507</a></p>
-<p id='n508' class='stm mis'><a href='#n508'>508</a></p>
-<p id='n509' class='pln'><a href='#n509'>509</a></p>
-<p id='n510' class='pln'><a href='#n510'>510</a></p>
-<p id='n511' class='pln'><a href='#n511'>511</a></p>
-<p id='n512' class='stm run hide_run'><a href='#n512'>512</a></p>
-<p id='n513' class='pln'><a href='#n513'>513</a></p>
-<p id='n514' class='stm run hide_run'><a href='#n514'>514</a></p>
-<p id='n515' class='pln'><a href='#n515'>515</a></p>
-<p id='n516' class='pln'><a href='#n516'>516</a></p>
-<p id='n517' class='pln'><a href='#n517'>517</a></p>
-<p id='n518' class='stm par run hide_run'><a href='#n518'>518</a></p>
-<p id='n519' class='pln'><a href='#n519'>519</a></p>
-<p id='n520' class='stm mis'><a href='#n520'>520</a></p>
-<p id='n521' class='stm mis'><a href='#n521'>521</a></p>
-<p id='n522' class='stm run hide_run'><a href='#n522'>522</a></p>
-<p id='n523' class='pln'><a href='#n523'>523</a></p>
-<p id='n524' class='stm run hide_run'><a href='#n524'>524</a></p>
-<p id='n525' class='pln'><a href='#n525'>525</a></p>
-<p id='n526' class='pln'><a href='#n526'>526</a></p>
-<p id='n527' class='pln'><a href='#n527'>527</a></p>
-<p id='n528' class='stm run hide_run'><a href='#n528'>528</a></p>
-<p id='n529' class='stm run hide_run'><a href='#n529'>529</a></p>
-<p id='n530' class='stm run hide_run'><a href='#n530'>530</a></p>
-<p id='n531' class='stm run hide_run'><a href='#n531'>531</a></p>
-<p id='n532' class='pln'><a href='#n532'>532</a></p>
-<p id='n533' class='stm run hide_run'><a href='#n533'>533</a></p>
-<p id='n534' class='pln'><a href='#n534'>534</a></p>
-<p id='n535' class='pln'><a href='#n535'>535</a></p>
-<p id='n536' class='stm mis'><a href='#n536'>536</a></p>
-<p id='n537' class='pln'><a href='#n537'>537</a></p>
-<p id='n538' class='stm mis'><a href='#n538'>538</a></p>
-<p id='n539' class='pln'><a href='#n539'>539</a></p>
-<p id='n540' class='stm mis'><a href='#n540'>540</a></p>
-<p id='n541' class='stm mis'><a href='#n541'>541</a></p>
-<p id='n542' class='stm mis'><a href='#n542'>542</a></p>
-<p id='n543' class='stm mis'><a href='#n543'>543</a></p>
-<p id='n544' class='pln'><a href='#n544'>544</a></p>
-<p id='n545' class='pln'><a href='#n545'>545</a></p>
-<p id='n546' class='stm mis'><a href='#n546'>546</a></p>
-<p id='n547' class='stm mis'><a href='#n547'>547</a></p>
-<p id='n548' class='stm mis'><a href='#n548'>548</a></p>
-<p id='n549' class='stm mis'><a href='#n549'>549</a></p>
-<p id='n550' class='pln'><a href='#n550'>550</a></p>
-<p id='n551' class='stm run hide_run'><a href='#n551'>551</a></p>
-<p id='n552' class='stm mis'><a href='#n552'>552</a></p>
-<p id='n553' class='stm mis'><a href='#n553'>553</a></p>
-<p id='n554' class='pln'><a href='#n554'>554</a></p>
-<p id='n555' class='stm run hide_run'><a href='#n555'>555</a></p>
-<p id='n556' class='stm mis'><a href='#n556'>556</a></p>
-<p id='n557' class='stm mis'><a href='#n557'>557</a></p>
-<p id='n558' class='stm mis'><a href='#n558'>558</a></p>
-<p id='n559' class='pln'><a href='#n559'>559</a></p>
-<p id='n560' class='stm run hide_run'><a href='#n560'>560</a></p>
-<p id='n561' class='stm mis'><a href='#n561'>561</a></p>
-<p id='n562' class='stm mis'><a href='#n562'>562</a></p>
-<p id='n563' class='pln'><a href='#n563'>563</a></p>
-<p id='n564' class='stm run hide_run'><a href='#n564'>564</a></p>
-<p id='n565' class='pln'><a href='#n565'>565</a></p>
-<p id='n566' class='pln'><a href='#n566'>566</a></p>
-<p id='n567' class='pln'><a href='#n567'>567</a></p>
-<p id='n568' class='stm mis'><a href='#n568'>568</a></p>
-<p id='n569' class='pln'><a href='#n569'>569</a></p>
-<p id='n570' class='stm mis'><a href='#n570'>570</a></p>
-<p id='n571' class='stm mis'><a href='#n571'>571</a></p>
-<p id='n572' class='pln'><a href='#n572'>572</a></p>
-<p id='n573' class='pln'><a href='#n573'>573</a></p>
-<p id='n574' class='stm mis'><a href='#n574'>574</a></p>
-<p id='n575' class='pln'><a href='#n575'>575</a></p>
-<p id='n576' class='pln'><a href='#n576'>576</a></p>
-<p id='n577' class='stm mis'><a href='#n577'>577</a></p>
-<p id='n578' class='stm mis'><a href='#n578'>578</a></p>
-<p id='n579' class='stm mis'><a href='#n579'>579</a></p>
-<p id='n580' class='pln'><a href='#n580'>580</a></p>
-<p id='n581' class='pln'><a href='#n581'>581</a></p>
-<p id='n582' class='stm mis'><a href='#n582'>582</a></p>
-<p id='n583' class='stm mis'><a href='#n583'>583</a></p>
-<p id='n584' class='pln'><a href='#n584'>584</a></p>
-<p id='n585' class='stm mis'><a href='#n585'>585</a></p>
-<p id='n586' class='stm mis'><a href='#n586'>586</a></p>
-<p id='n587' class='stm mis'><a href='#n587'>587</a></p>
-<p id='n588' class='stm mis'><a href='#n588'>588</a></p>
-<p id='n589' class='stm mis'><a href='#n589'>589</a></p>
-<p id='n590' class='stm mis'><a href='#n590'>590</a></p>
-<p id='n591' class='stm mis'><a href='#n591'>591</a></p>
-<p id='n592' class='stm mis'><a href='#n592'>592</a></p>
-<p id='n593' class='stm mis'><a href='#n593'>593</a></p>
-<p id='n594' class='pln'><a href='#n594'>594</a></p>
-<p id='n595' class='pln'><a href='#n595'>595</a></p>
-<p id='n596' class='pln'><a href='#n596'>596</a></p>
-<p id='n597' class='pln'><a href='#n597'>597</a></p>
-<p id='n598' class='pln'><a href='#n598'>598</a></p>
-<p id='n599' class='stm mis'><a href='#n599'>599</a></p>
-<p id='n600' class='stm mis'><a href='#n600'>600</a></p>
-<p id='n601' class='pln'><a href='#n601'>601</a></p>
-<p id='n602' class='stm mis'><a href='#n602'>602</a></p>
-<p id='n603' class='pln'><a href='#n603'>603</a></p>
-<p id='n604' class='stm mis'><a href='#n604'>604</a></p>
-<p id='n605' class='pln'><a href='#n605'>605</a></p>
-<p id='n606' class='stm run hide_run'><a href='#n606'>606</a></p>
-<p id='n607' class='pln'><a href='#n607'>607</a></p>
-<p id='n608' class='pln'><a href='#n608'>608</a></p>
-<p id='n609' class='stm mis'><a href='#n609'>609</a></p>
-<p id='n610' class='stm mis'><a href='#n610'>610</a></p>
-<p id='n611' class='stm mis'><a href='#n611'>611</a></p>
-<p id='n612' class='stm mis'><a href='#n612'>612</a></p>
-<p id='n613' class='pln'><a href='#n613'>613</a></p>
-<p id='n614' class='stm mis'><a href='#n614'>614</a></p>
-<p id='n615' class='stm mis'><a href='#n615'>615</a></p>
-<p id='n616' class='stm mis'><a href='#n616'>616</a></p>
-<p id='n617' class='pln'><a href='#n617'>617</a></p>
-<p id='n618' class='stm mis'><a href='#n618'>618</a></p>
-<p id='n619' class='stm mis'><a href='#n619'>619</a></p>
-<p id='n620' class='stm mis'><a href='#n620'>620</a></p>
-<p id='n621' class='stm mis'><a href='#n621'>621</a></p>
-<p id='n622' class='pln'><a href='#n622'>622</a></p>
-<p id='n623' class='stm run hide_run'><a href='#n623'>623</a></p>
-<p id='n624' class='pln'><a href='#n624'>624</a></p>
-<p id='n625' class='pln'><a href='#n625'>625</a></p>
-<p id='n626' class='stm mis'><a href='#n626'>626</a></p>
-<p id='n627' class='stm mis'><a href='#n627'>627</a></p>
-<p id='n628' class='pln'><a href='#n628'>628</a></p>
-<p id='n629' class='stm mis'><a href='#n629'>629</a></p>
-<p id='n630' class='stm mis'><a href='#n630'>630</a></p>
-<p id='n631' class='pln'><a href='#n631'>631</a></p>
-<p id='n632' class='stm mis'><a href='#n632'>632</a></p>
-<p id='n633' class='stm mis'><a href='#n633'>633</a></p>
-<p id='n634' class='stm mis'><a href='#n634'>634</a></p>
-<p id='n635' class='stm mis'><a href='#n635'>635</a></p>
-<p id='n636' class='pln'><a href='#n636'>636</a></p>
-<p id='n637' class='stm mis'><a href='#n637'>637</a></p>
-<p id='n638' class='pln'><a href='#n638'>638</a></p>
-<p id='n639' class='stm mis'><a href='#n639'>639</a></p>
-<p id='n640' class='pln'><a href='#n640'>640</a></p>
-<p id='n641' class='stm run hide_run'><a href='#n641'>641</a></p>
-<p id='n642' class='pln'><a href='#n642'>642</a></p>
-<p id='n643' class='pln'><a href='#n643'>643</a></p>
-<p id='n644' class='pln'><a href='#n644'>644</a></p>
-<p id='n645' class='pln'><a href='#n645'>645</a></p>
-<p id='n646' class='stm mis'><a href='#n646'>646</a></p>
-<p id='n647' class='stm mis'><a href='#n647'>647</a></p>
-<p id='n648' class='pln'><a href='#n648'>648</a></p>
-<p id='n649' class='pln'><a href='#n649'>649</a></p>
-<p id='n650' class='stm mis'><a href='#n650'>650</a></p>
-<p id='n651' class='stm mis'><a href='#n651'>651</a></p>
-<p id='n652' class='stm mis'><a href='#n652'>652</a></p>
-<p id='n653' class='pln'><a href='#n653'>653</a></p>
-<p id='n654' class='stm mis'><a href='#n654'>654</a></p>
-<p id='n655' class='stm mis'><a href='#n655'>655</a></p>
-<p id='n656' class='pln'><a href='#n656'>656</a></p>
-<p id='n657' class='stm mis'><a href='#n657'>657</a></p>
-<p id='n658' class='stm mis'><a href='#n658'>658</a></p>
-<p id='n659' class='stm mis'><a href='#n659'>659</a></p>
-<p id='n660' class='pln'><a href='#n660'>660</a></p>
-<p id='n661' class='stm mis'><a href='#n661'>661</a></p>
-<p id='n662' class='stm mis'><a href='#n662'>662</a></p>
-<p id='n663' class='stm mis'><a href='#n663'>663</a></p>
-<p id='n664' class='pln'><a href='#n664'>664</a></p>
-<p id='n665' class='stm mis'><a href='#n665'>665</a></p>
-<p id='n666' class='pln'><a href='#n666'>666</a></p>
-<p id='n667' class='stm run hide_run'><a href='#n667'>667</a></p>
-<p id='n668' class='pln'><a href='#n668'>668</a></p>
-<p id='n669' class='pln'><a href='#n669'>669</a></p>
-<p id='n670' class='pln'><a href='#n670'>670</a></p>
-<p id='n671' class='stm mis'><a href='#n671'>671</a></p>
-<p id='n672' class='stm mis'><a href='#n672'>672</a></p>
-<p id='n673' class='stm mis'><a href='#n673'>673</a></p>
-<p id='n674' class='stm mis'><a href='#n674'>674</a></p>
-<p id='n675' class='stm mis'><a href='#n675'>675</a></p>
-<p id='n676' class='stm mis'><a href='#n676'>676</a></p>
-<p id='n677' class='stm mis'><a href='#n677'>677</a></p>
-<p id='n678' class='stm mis'><a href='#n678'>678</a></p>
-<p id='n679' class='stm mis'><a href='#n679'>679</a></p>
-<p id='n680' class='stm mis'><a href='#n680'>680</a></p>
-<p id='n681' class='stm mis'><a href='#n681'>681</a></p>
-<p id='n682' class='stm mis'><a href='#n682'>682</a></p>
-<p id='n683' class='stm mis'><a href='#n683'>683</a></p>
-<p id='n684' class='stm mis'><a href='#n684'>684</a></p>
-<p id='n685' class='stm mis'><a href='#n685'>685</a></p>
-<p id='n686' class='stm mis'><a href='#n686'>686</a></p>
-<p id='n687' class='pln'><a href='#n687'>687</a></p>
-<p id='n688' class='pln'><a href='#n688'>688</a></p>
-<p id='n689' class='pln'><a href='#n689'>689</a></p>
-<p id='n690' class='pln'><a href='#n690'>690</a></p>
-<p id='n691' class='pln'><a href='#n691'>691</a></p>
-<p id='n692' class='pln'><a href='#n692'>692</a></p>
-<p id='n693' class='pln'><a href='#n693'>693</a></p>
-<p id='n694' class='pln'><a href='#n694'>694</a></p>
-<p id='n695' class='pln'><a href='#n695'>695</a></p>
-<p id='n696' class='pln'><a href='#n696'>696</a></p>
-<p id='n697' class='pln'><a href='#n697'>697</a></p>
-<p id='n698' class='pln'><a href='#n698'>698</a></p>
-<p id='n699' class='pln'><a href='#n699'>699</a></p>
-<p id='n700' class='pln'><a href='#n700'>700</a></p>
-<p id='n701' class='pln'><a href='#n701'>701</a></p>
-<p id='n702' class='pln'><a href='#n702'>702</a></p>
-<p id='n703' class='pln'><a href='#n703'>703</a></p>
-<p id='n704' class='pln'><a href='#n704'>704</a></p>
-<p id='n705' class='pln'><a href='#n705'>705</a></p>
-<p id='n706' class='pln'><a href='#n706'>706</a></p>
-<p id='n707' class='pln'><a href='#n707'>707</a></p>
-<p id='n708' class='pln'><a href='#n708'>708</a></p>
-<p id='n709' class='pln'><a href='#n709'>709</a></p>
-<p id='n710' class='pln'><a href='#n710'>710</a></p>
-<p id='n711' class='pln'><a href='#n711'>711</a></p>
-<p id='n712' class='pln'><a href='#n712'>712</a></p>
-<p id='n713' class='pln'><a href='#n713'>713</a></p>
-<p id='n714' class='pln'><a href='#n714'>714</a></p>
-<p id='n715' class='pln'><a href='#n715'>715</a></p>
-<p id='n716' class='pln'><a href='#n716'>716</a></p>
-<p id='n717' class='pln'><a href='#n717'>717</a></p>
-<p id='n718' class='pln'><a href='#n718'>718</a></p>
-<p id='n719' class='pln'><a href='#n719'>719</a></p>
-<p id='n720' class='pln'><a href='#n720'>720</a></p>
-<p id='n721' class='pln'><a href='#n721'>721</a></p>
-<p id='n722' class='pln'><a href='#n722'>722</a></p>
-<p id='n723' class='pln'><a href='#n723'>723</a></p>
-<p id='n724' class='pln'><a href='#n724'>724</a></p>
-<p id='n725' class='pln'><a href='#n725'>725</a></p>
-<p id='n726' class='pln'><a href='#n726'>726</a></p>
-<p id='n727' class='pln'><a href='#n727'>727</a></p>
-<p id='n728' class='pln'><a href='#n728'>728</a></p>
-<p id='n729' class='pln'><a href='#n729'>729</a></p>
-<p id='n730' class='pln'><a href='#n730'>730</a></p>
-<p id='n731' class='pln'><a href='#n731'>731</a></p>
-<p id='n732' class='pln'><a href='#n732'>732</a></p>
-<p id='n733' class='pln'><a href='#n733'>733</a></p>
-
- </td>
- <td class='text' valign='top'>
-<p id='t1' class='pln'><span class='str'>&quot;&quot;&quot; Cog code generation tool.</span><span class='strut'>&nbsp;</span></p>
-<p id='t2' class='pln'><span class='str'>&nbsp; &nbsp; http://nedbatchelder.com/code/cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t3' class='pln'><span class='str'>&nbsp; &nbsp; </span><span class='strut'>&nbsp;</span></p>
-<p id='t4' class='pln'><span class='str'>&nbsp; &nbsp; Copyright 2004-2012, Ned Batchelder.</span><span class='strut'>&nbsp;</span></p>
-<p id='t5' class='pln'><span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t6' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t7' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>__future__</span> <span class='key'>import</span> <span class='nam'>absolute_import</span><span class='op'>,</span> <span class='nam'>print_function</span><span class='strut'>&nbsp;</span></p>
-<p id='t8' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t9' class='stm run hide_run'><span class='key'>import</span> <span class='nam'>copy</span><span class='op'>,</span> <span class='nam'>getopt</span><span class='op'>,</span> <span class='nam'>hashlib</span><span class='op'>,</span> <span class='nam'>imp</span><span class='op'>,</span> <span class='nam'>os</span><span class='op'>,</span> <span class='nam'>re</span><span class='op'>,</span> <span class='nam'>shlex</span><span class='op'>,</span> <span class='nam'>sys</span><span class='op'>,</span> <span class='nam'>traceback</span><span class='strut'>&nbsp;</span></p>
-<p id='t10' class='stm run hide_run'><span class='key'>from</span> <span class='op'>.</span><span class='nam'>backward</span> <span class='key'>import</span> <span class='nam'>PY3</span><span class='op'>,</span> <span class='nam'>StringIO</span><span class='op'>,</span> <span class='nam'>string_types</span><span class='op'>,</span> <span class='nam'>to_bytes</span><span class='strut'>&nbsp;</span></p>
-<p id='t11' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t12' class='stm run hide_run'><span class='nam'>__all__</span> <span class='op'>=</span> <span class='op'>[</span><span class='str'>&#39;Cog&#39;</span><span class='op'>,</span> <span class='str'>&#39;CogUsageError&#39;</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t13' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t14' class='stm run hide_run'><span class='nam'>__version__</span> <span class='op'>=</span> <span class='str'>&#39;2.3&#39;</span>&nbsp; &nbsp; &nbsp;&nbsp; <span class='com'># History at the end of the file.</span><span class='strut'>&nbsp;</span></p>
-<p id='t15' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t16' class='stm run hide_run'><span class='nam'>usage</span> <span class='op'>=</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t17' class='pln'><span class='str'>cog - generate code with inlined Python code.</span><span class='strut'>&nbsp;</span></p>
-<p id='t18' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t19' class='pln'><span class='str'>cog [OPTIONS] [INFILE | @FILELIST] ...</span><span class='strut'>&nbsp;</span></p>
-<p id='t20' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t21' class='pln'><span class='str'>INFILE is the name of an input file, &#39;-&#39; will read from stdin.</span><span class='strut'>&nbsp;</span></p>
-<p id='t22' class='pln'><span class='str'>FILELIST is the name of a text file containing file names or</span><span class='strut'>&nbsp;</span></p>
-<p id='t23' class='pln'><span class='str'>&nbsp; &nbsp; other @FILELISTs.</span><span class='strut'>&nbsp;</span></p>
-<p id='t24' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t25' class='pln'><span class='str'>OPTIONS:</span><span class='strut'>&nbsp;</span></p>
-<p id='t26' class='pln'><span class='str'>&nbsp; &nbsp; -c&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Checksum the output to protect it against accidental change.</span><span class='strut'>&nbsp;</span></p>
-<p id='t27' class='pln'><span class='str'>&nbsp; &nbsp; -d&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Delete the generator code from the output file.</span><span class='strut'>&nbsp;</span></p>
-<p id='t28' class='pln'><span class='str'>&nbsp; &nbsp; -D name=val Define a global string available to your generator code.</span><span class='strut'>&nbsp;</span></p>
-<p id='t29' class='pln'><span class='str'>&nbsp; &nbsp; -e&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Warn if a file has no cog code in it.</span><span class='strut'>&nbsp;</span></p>
-<p id='t30' class='pln'><span class='str'>&nbsp; &nbsp; -I PATH&nbsp; &nbsp;&nbsp; Add PATH to the list of directories for data files and modules.</span><span class='strut'>&nbsp;</span></p>
-<p id='t31' class='pln'><span class='str'>&nbsp; &nbsp; -o OUTNAME&nbsp; Write the output to OUTNAME.</span><span class='strut'>&nbsp;</span></p>
-<p id='t32' class='pln'><span class='str'>&nbsp; &nbsp; -r&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Replace the input file with the output.</span><span class='strut'>&nbsp;</span></p>
-<p id='t33' class='pln'><span class='str'>&nbsp; &nbsp; -s STRING&nbsp;&nbsp; Suffix all generated output lines with STRING.</span><span class='strut'>&nbsp;</span></p>
-<p id='t34' class='pln'><span class='str'>&nbsp; &nbsp; -U&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Write the output with Unix newlines (only LF line-endings).</span><span class='strut'>&nbsp;</span></p>
-<p id='t35' class='pln'><span class='str'>&nbsp; &nbsp; -w CMD&nbsp; &nbsp; &nbsp; Use CMD if the output file needs to be made writable.</span><span class='strut'>&nbsp;</span></p>
-<p id='t36' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; A %s in the CMD will be filled with the filename.</span><span class='strut'>&nbsp;</span></p>
-<p id='t37' class='pln'><span class='str'>&nbsp; &nbsp; -x&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Excise all the generated output without running the generators.</span><span class='strut'>&nbsp;</span></p>
-<p id='t38' class='pln'><span class='str'>&nbsp; &nbsp; -z&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; The [[[end]]] marker can be omitted, and is assumed at eof.</span><span class='strut'>&nbsp;</span></p>
-<p id='t39' class='pln'><span class='str'>&nbsp; &nbsp; -v&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Print the version of cog and exit.</span><span class='strut'>&nbsp;</span></p>
-<p id='t40' class='pln'><span class='str'>&nbsp; &nbsp; -h&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Print this help.</span><span class='strut'>&nbsp;</span></p>
-<p id='t41' class='pln'><span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t42' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t43' class='pln'><span class='com'># Other package modules</span><span class='strut'>&nbsp;</span></p>
-<p id='t44' class='stm run hide_run'><span class='key'>from</span> <span class='op'>.</span><span class='nam'>whiteutils</span> <span class='key'>import</span> <span class='op'>*</span><span class='strut'>&nbsp;</span></p>
-<p id='t45' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t46' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>CogError</span><span class='op'>(</span><span class='nam'>Exception</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t47' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Any exception raised by Cog.</span><span class='strut'>&nbsp;</span></p>
-<p id='t48' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t49' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>msg</span><span class='op'>,</span> <span class='nam'>file</span><span class='op'>=</span><span class='str'>&#39;&#39;</span><span class='op'>,</span> <span class='nam'>line</span><span class='op'>=</span><span class='num'>0</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t50' class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>53</span>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>file</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t51' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>Exception</span><span class='op'>.</span><span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='str'>&quot;%s(%d): %s&quot;</span> <span class='op'>%</span> <span class='op'>(</span><span class='nam'>file</span><span class='op'>,</span> <span class='nam'>line</span><span class='op'>,</span> <span class='nam'>msg</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t52' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t53' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>Exception</span><span class='op'>.</span><span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>msg</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t54' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t55' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>CogUsageError</span><span class='op'>(</span><span class='nam'>CogError</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t56' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; An error in usage of command-line arguments in cog.</span><span class='strut'>&nbsp;</span></p>
-<p id='t57' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t58' class='exc'>&nbsp; &nbsp; <span class='key'>pass</span>&nbsp; &nbsp; <span class='com'>#pragma: no cover</span><span class='strut'>&nbsp;</span></p>
-<p id='t59' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t60' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>CogInternalError</span><span class='op'>(</span><span class='nam'>CogError</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t61' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; An error in the coding of Cog. Should never happen.</span><span class='strut'>&nbsp;</span></p>
-<p id='t62' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t63' class='exc'>&nbsp; &nbsp; <span class='key'>pass</span>&nbsp; &nbsp; <span class='com'>#pragma: no cover</span><span class='strut'>&nbsp;</span></p>
-<p id='t64' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t65' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>CogGeneratedError</span><span class='op'>(</span><span class='nam'>CogError</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t66' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; An error raised by a user&#39;s cog generator.</span><span class='strut'>&nbsp;</span></p>
-<p id='t67' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t68' class='exc'>&nbsp; &nbsp; <span class='key'>pass</span>&nbsp; &nbsp; <span class='com'>#pragma: no cover</span><span class='strut'>&nbsp;</span></p>
-<p id='t69' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t70' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>Redirectable</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t71' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; An object with its own stdout and stderr files.</span><span class='strut'>&nbsp;</span></p>
-<p id='t72' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t73' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t74' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>stdout</span> <span class='op'>=</span> <span class='nam'>sys</span><span class='op'>.</span><span class='nam'>stdout</span><span class='strut'>&nbsp;</span></p>
-<p id='t75' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>stderr</span> <span class='op'>=</span> <span class='nam'>sys</span><span class='op'>.</span><span class='nam'>stderr</span><span class='strut'>&nbsp;</span></p>
-<p id='t76' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t77' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>setOutput</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>stdout</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>stderr</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t78' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Assign new files for standard out and/or standard error.</span><span class='strut'>&nbsp;</span></p>
-<p id='t79' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t80' class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>82</span>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>stdout</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t81' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>stdout</span> <span class='op'>=</span> <span class='nam'>stdout</span><span class='strut'>&nbsp;</span></p>
-<p id='t82' class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>83</span>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>stderr</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t83' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>stderr</span> <span class='op'>=</span> <span class='nam'>stderr</span><span class='strut'>&nbsp;</span></p>
-<p id='t84' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t85' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>prout</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>s</span><span class='op'>,</span> <span class='nam'>end</span><span class='op'>=</span><span class='str'>&quot;\n&quot;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t86' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>print</span><span class='op'>(</span><span class='nam'>s</span><span class='op'>,</span> <span class='nam'>file</span><span class='op'>=</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>stdout</span><span class='op'>,</span> <span class='nam'>end</span><span class='op'>=</span><span class='nam'>end</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t87' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t88' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>prerr</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>s</span><span class='op'>,</span> <span class='nam'>end</span><span class='op'>=</span><span class='str'>&quot;\n&quot;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t89' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>print</span><span class='op'>(</span><span class='nam'>s</span><span class='op'>,</span> <span class='nam'>file</span><span class='op'>=</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>stderr</span><span class='op'>,</span> <span class='nam'>end</span><span class='op'>=</span><span class='nam'>end</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t90' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t91' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t92' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>CogGenerator</span><span class='op'>(</span><span class='nam'>Redirectable</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t93' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; A generator pulled from a source file.</span><span class='strut'>&nbsp;</span></p>
-<p id='t94' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t95' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t96' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>Redirectable</span><span class='op'>.</span><span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t97' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>markers</span> <span class='op'>=</span> <span class='op'>[</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t98' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>lines</span> <span class='op'>=</span> <span class='op'>[</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t99' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t100' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>parseMarker</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>l</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t101' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>markers</span><span class='op'>.</span><span class='nam'>append</span><span class='op'>(</span><span class='nam'>l</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t102' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t103' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>parseLine</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>l</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t104' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>lines</span><span class='op'>.</span><span class='nam'>append</span><span class='op'>(</span><span class='nam'>l</span><span class='op'>.</span><span class='nam'>strip</span><span class='op'>(</span><span class='str'>&#39;\n&#39;</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t105' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t106' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>getCode</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t107' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Extract the executable Python code from the generator.</span><span class='strut'>&nbsp;</span></p>
-<p id='t108' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t109' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># If the markers and lines all have the same prefix</span><span class='strut'>&nbsp;</span></p>
-<p id='t110' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># (end-of-line comment chars, for example),</span><span class='strut'>&nbsp;</span></p>
-<p id='t111' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># then remove it from all the lines.</span><span class='strut'>&nbsp;</span></p>
-<p id='t112' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>prefIn</span> <span class='op'>=</span> <span class='nam'>commonPrefix</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>markers</span> <span class='op'>+</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>lines</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t113' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>prefIn</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t114' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>markers</span> <span class='op'>=</span> <span class='op'>[</span> <span class='nam'>l</span><span class='op'>.</span><span class='nam'>replace</span><span class='op'>(</span><span class='nam'>prefIn</span><span class='op'>,</span> <span class='str'>&#39;&#39;</span><span class='op'>,</span> <span class='num'>1</span><span class='op'>)</span> <span class='key'>for</span> <span class='nam'>l</span> <span class='key'>in</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>markers</span> <span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t115' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>lines</span> <span class='op'>=</span> <span class='op'>[</span> <span class='nam'>l</span><span class='op'>.</span><span class='nam'>replace</span><span class='op'>(</span><span class='nam'>prefIn</span><span class='op'>,</span> <span class='str'>&#39;&#39;</span><span class='op'>,</span> <span class='num'>1</span><span class='op'>)</span> <span class='key'>for</span> <span class='nam'>l</span> <span class='key'>in</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>lines</span> <span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t116' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t117' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>reindentBlock</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>lines</span><span class='op'>,</span> <span class='str'>&#39;&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t118' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t119' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>evaluate</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>cog</span><span class='op'>,</span> <span class='nam'>globals</span><span class='op'>,</span> <span class='nam'>fname</span><span class='op'>=</span><span class='str'>&#39;cog generator&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t120' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># figure out the right whitespace prefix for the output</span><span class='strut'>&nbsp;</span></p>
-<p id='t121' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>prefOut</span> <span class='op'>=</span> <span class='nam'>whitePrefix</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>markers</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t122' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t123' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>intext</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>getCode</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t124' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>intext</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t125' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='str'>&#39;&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t126' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t127' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># In Python 2.2, the last line has to end in a newline.</span><span class='strut'>&nbsp;</span></p>
-<p id='t128' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>intext</span> <span class='op'>=</span> <span class='str'>&quot;import cog\n&quot;</span> <span class='op'>+</span> <span class='nam'>intext</span> <span class='op'>+</span> <span class='str'>&quot;\n&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t129' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>code</span> <span class='op'>=</span> <span class='nam'>compile</span><span class='op'>(</span><span class='nam'>intext</span><span class='op'>,</span> <span class='nam'>str</span><span class='op'>(</span><span class='nam'>fname</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&#39;exec&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t130' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t131' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Make sure the &quot;cog&quot; module has our state.</span><span class='strut'>&nbsp;</span></p>
-<p id='t132' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>cog</span><span class='op'>.</span><span class='nam'>cogmodule</span><span class='op'>.</span><span class='nam'>msg</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>msg</span><span class='strut'>&nbsp;</span></p>
-<p id='t133' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>cog</span><span class='op'>.</span><span class='nam'>cogmodule</span><span class='op'>.</span><span class='nam'>out</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>out</span><span class='strut'>&nbsp;</span></p>
-<p id='t134' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>cog</span><span class='op'>.</span><span class='nam'>cogmodule</span><span class='op'>.</span><span class='nam'>outl</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>outl</span><span class='strut'>&nbsp;</span></p>
-<p id='t135' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>cog</span><span class='op'>.</span><span class='nam'>cogmodule</span><span class='op'>.</span><span class='nam'>error</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>error</span><span class='strut'>&nbsp;</span></p>
-<p id='t136' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t137' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>outstring</span> <span class='op'>=</span> <span class='str'>&#39;&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t138' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>eval</span><span class='op'>(</span><span class='nam'>code</span><span class='op'>,</span> <span class='nam'>globals</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t139' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t140' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># We need to make sure that the last line in the output</span><span class='strut'>&nbsp;</span></p>
-<p id='t141' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># ends with a newline, or it will be joined to the</span><span class='strut'>&nbsp;</span></p>
-<p id='t142' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># end-output line, ruining cog&#39;s idempotency.</span><span class='strut'>&nbsp;</span></p>
-<p id='t143' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>outstring</span> <span class='key'>and</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>outstring</span><span class='op'>[</span><span class='op'>-</span><span class='num'>1</span><span class='op'>]</span> <span class='op'>!=</span> <span class='str'>&#39;\n&#39;</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t144' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>outstring</span> <span class='op'>+=</span> <span class='str'>&#39;\n&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t145' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t146' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>reindentBlock</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>outstring</span><span class='op'>,</span> <span class='nam'>prefOut</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t147' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t148' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>msg</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>s</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t149' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>prout</span><span class='op'>(</span><span class='str'>&quot;Message: &quot;</span><span class='op'>+</span><span class='nam'>s</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t150' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t151' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>out</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>sOut</span><span class='op'>=</span><span class='str'>&#39;&#39;</span><span class='op'>,</span> <span class='nam'>dedent</span><span class='op'>=</span><span class='nam'>False</span><span class='op'>,</span> <span class='nam'>trimblanklines</span><span class='op'>=</span><span class='nam'>False</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t152' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; The cog.out function.</span><span class='strut'>&nbsp;</span></p>
-<p id='t153' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t154' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>trimblanklines</span> <span class='key'>and</span> <span class='op'>(</span><span class='str'>&#39;\n&#39;</span> <span class='key'>in</span> <span class='nam'>sOut</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t155' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>lines</span> <span class='op'>=</span> <span class='nam'>sOut</span><span class='op'>.</span><span class='nam'>split</span><span class='op'>(</span><span class='str'>&#39;\n&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t156' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>lines</span><span class='op'>[</span><span class='num'>0</span><span class='op'>]</span><span class='op'>.</span><span class='nam'>strip</span><span class='op'>(</span><span class='op'>)</span> <span class='op'>==</span> <span class='str'>&#39;&#39;</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t157' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>del</span> <span class='nam'>lines</span><span class='op'>[</span><span class='num'>0</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t158' class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>160</span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>lines</span> <span class='key'>and</span> <span class='nam'>lines</span><span class='op'>[</span><span class='op'>-</span><span class='num'>1</span><span class='op'>]</span><span class='op'>.</span><span class='nam'>strip</span><span class='op'>(</span><span class='op'>)</span> <span class='op'>==</span> <span class='str'>&#39;&#39;</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t159' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>del</span> <span class='nam'>lines</span><span class='op'>[</span><span class='op'>-</span><span class='num'>1</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t160' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>sOut</span> <span class='op'>=</span> <span class='str'>&#39;\n&#39;</span><span class='op'>.</span><span class='nam'>join</span><span class='op'>(</span><span class='nam'>lines</span><span class='op'>)</span><span class='op'>+</span><span class='str'>&#39;\n&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t161' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>dedent</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t162' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>sOut</span> <span class='op'>=</span> <span class='nam'>reindentBlock</span><span class='op'>(</span><span class='nam'>sOut</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t163' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>outstring</span> <span class='op'>+=</span> <span class='nam'>sOut</span><span class='strut'>&nbsp;</span></p>
-<p id='t164' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t165' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>outl</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>sOut</span><span class='op'>=</span><span class='str'>&#39;&#39;</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kw</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t166' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; The cog.outl function.</span><span class='strut'>&nbsp;</span></p>
-<p id='t167' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t168' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>out</span><span class='op'>(</span><span class='nam'>sOut</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kw</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t169' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>out</span><span class='op'>(</span><span class='str'>&#39;\n&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t170' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t171' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>error</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>msg</span><span class='op'>=</span><span class='str'>&#39;Error raised by cog generator.&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t172' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; The cog.error function.</span><span class='strut'>&nbsp;</span></p>
-<p id='t173' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Instead of raising standard python errors, cog generators can use</span><span class='strut'>&nbsp;</span></p>
-<p id='t174' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; this function.&nbsp; It will display the error without a scary Python</span><span class='strut'>&nbsp;</span></p>
-<p id='t175' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; traceback.</span><span class='strut'>&nbsp;</span></p>
-<p id='t176' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t177' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>CogGeneratedError</span><span class='op'>(</span><span class='nam'>msg</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t178' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t179' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t180' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>NumberedFileReader</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t181' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; A decorator for files that counts the readline()&#39;s called.</span><span class='strut'>&nbsp;</span></p>
-<p id='t182' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t183' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>f</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t184' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>f</span> <span class='op'>=</span> <span class='nam'>f</span><span class='strut'>&nbsp;</span></p>
-<p id='t185' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>n</span> <span class='op'>=</span> <span class='num'>0</span><span class='strut'>&nbsp;</span></p>
-<p id='t186' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t187' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>readline</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t188' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>l</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>f</span><span class='op'>.</span><span class='nam'>readline</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t189' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>l</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t190' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>n</span> <span class='op'>+=</span> <span class='num'>1</span><span class='strut'>&nbsp;</span></p>
-<p id='t191' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>l</span><span class='strut'>&nbsp;</span></p>
-<p id='t192' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t193' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>linenumber</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t194' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>n</span><span class='strut'>&nbsp;</span></p>
-<p id='t195' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t196' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t197' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>CogOptions</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t198' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Options for a run of cog.</span><span class='strut'>&nbsp;</span></p>
-<p id='t199' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t200' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t201' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Defaults for argument values.</span><span class='strut'>&nbsp;</span></p>
-<p id='t202' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>args</span> <span class='op'>=</span> <span class='op'>[</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t203' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>includePath</span> <span class='op'>=</span> <span class='op'>[</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t204' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>defines</span> <span class='op'>=</span> <span class='op'>{</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t205' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>bShowVersion</span> <span class='op'>=</span> <span class='nam'>False</span><span class='strut'>&nbsp;</span></p>
-<p id='t206' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>sMakeWritableCmd</span> <span class='op'>=</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t207' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>bReplace</span> <span class='op'>=</span> <span class='nam'>False</span><span class='strut'>&nbsp;</span></p>
-<p id='t208' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>bNoGenerate</span> <span class='op'>=</span> <span class='nam'>False</span><span class='strut'>&nbsp;</span></p>
-<p id='t209' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>sOutputName</span> <span class='op'>=</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t210' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>bWarnEmpty</span> <span class='op'>=</span> <span class='nam'>False</span><span class='strut'>&nbsp;</span></p>
-<p id='t211' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>bHashOutput</span> <span class='op'>=</span> <span class='nam'>False</span><span class='strut'>&nbsp;</span></p>
-<p id='t212' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>bDeleteCode</span> <span class='op'>=</span> <span class='nam'>False</span><span class='strut'>&nbsp;</span></p>
-<p id='t213' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>bEofCanBeEnd</span> <span class='op'>=</span> <span class='nam'>False</span><span class='strut'>&nbsp;</span></p>
-<p id='t214' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>sSuffix</span> <span class='op'>=</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t215' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>bNewlines</span> <span class='op'>=</span> <span class='nam'>False</span><span class='strut'>&nbsp;</span></p>
-<p id='t216' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t217' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__eq__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>other</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t218' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Comparison operator for tests to use.</span><span class='strut'>&nbsp;</span></p>
-<p id='t219' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t220' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>__dict__</span> <span class='op'>==</span> <span class='nam'>other</span><span class='op'>.</span><span class='nam'>__dict__</span><span class='strut'>&nbsp;</span></p>
-<p id='t221' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t222' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>clone</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t223' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Make a clone of these options, for further refinement.</span><span class='strut'>&nbsp;</span></p>
-<p id='t224' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t225' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>copy</span><span class='op'>.</span><span class='nam'>deepcopy</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t226' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t227' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>addToIncludePath</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>dirs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t228' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Add directories to the include path.</span><span class='strut'>&nbsp;</span></p>
-<p id='t229' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t230' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>dirs</span> <span class='op'>=</span> <span class='nam'>dirs</span><span class='op'>.</span><span class='nam'>split</span><span class='op'>(</span><span class='nam'>os</span><span class='op'>.</span><span class='nam'>pathsep</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t231' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>includePath</span><span class='op'>.</span><span class='nam'>extend</span><span class='op'>(</span><span class='nam'>dirs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t232' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t233' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>parseArgs</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>argv</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t234' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Parse the command line arguments.</span><span class='strut'>&nbsp;</span></p>
-<p id='t235' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t236' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>opts</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>args</span> <span class='op'>=</span> <span class='nam'>getopt</span><span class='op'>.</span><span class='nam'>getopt</span><span class='op'>(</span><span class='nam'>argv</span><span class='op'>,</span> <span class='str'>&#39;cdD:eI:o:rs:Uvw:xz&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t237' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>getopt</span><span class='op'>.</span><span class='nam'>error</span> <span class='key'>as</span> <span class='nam'>msg</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t238' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>CogUsageError</span><span class='op'>(</span><span class='nam'>msg</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t239' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t240' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Handle the command line arguments.</span><span class='strut'>&nbsp;</span></p>
-<p id='t241' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>o</span><span class='op'>,</span> <span class='nam'>a</span> <span class='key'>in</span> <span class='nam'>opts</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t242' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>o</span> <span class='op'>==</span> <span class='str'>&#39;-c&#39;</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t243' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>bHashOutput</span> <span class='op'>=</span> <span class='nam'>True</span><span class='strut'>&nbsp;</span></p>
-<p id='t244' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>elif</span> <span class='nam'>o</span> <span class='op'>==</span> <span class='str'>&#39;-d&#39;</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t245' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>bDeleteCode</span> <span class='op'>=</span> <span class='nam'>True</span><span class='strut'>&nbsp;</span></p>
-<p id='t246' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>elif</span> <span class='nam'>o</span> <span class='op'>==</span> <span class='str'>&#39;-D&#39;</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t247' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>a</span><span class='op'>.</span><span class='nam'>count</span><span class='op'>(</span><span class='str'>&#39;=&#39;</span><span class='op'>)</span> <span class='op'>&lt;</span> <span class='num'>1</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t248' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>CogUsageError</span><span class='op'>(</span><span class='str'>&quot;-D takes a name=value argument&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t249' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>name</span><span class='op'>,</span> <span class='nam'>value</span> <span class='op'>=</span> <span class='nam'>a</span><span class='op'>.</span><span class='nam'>split</span><span class='op'>(</span><span class='str'>&#39;=&#39;</span><span class='op'>,</span> <span class='num'>1</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t250' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>defines</span><span class='op'>[</span><span class='nam'>name</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>value</span><span class='strut'>&nbsp;</span></p>
-<p id='t251' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>elif</span> <span class='nam'>o</span> <span class='op'>==</span> <span class='str'>&#39;-e&#39;</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t252' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>bWarnEmpty</span> <span class='op'>=</span> <span class='nam'>True</span><span class='strut'>&nbsp;</span></p>
-<p id='t253' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>elif</span> <span class='nam'>o</span> <span class='op'>==</span> <span class='str'>&#39;-I&#39;</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t254' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>addToIncludePath</span><span class='op'>(</span><span class='nam'>a</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t255' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>elif</span> <span class='nam'>o</span> <span class='op'>==</span> <span class='str'>&#39;-o&#39;</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t256' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>sOutputName</span> <span class='op'>=</span> <span class='nam'>a</span><span class='strut'>&nbsp;</span></p>
-<p id='t257' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>elif</span> <span class='nam'>o</span> <span class='op'>==</span> <span class='str'>&#39;-r&#39;</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t258' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>bReplace</span> <span class='op'>=</span> <span class='nam'>True</span><span class='strut'>&nbsp;</span></p>
-<p id='t259' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>elif</span> <span class='nam'>o</span> <span class='op'>==</span> <span class='str'>&#39;-s&#39;</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t260' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>sSuffix</span> <span class='op'>=</span> <span class='nam'>a</span><span class='strut'>&nbsp;</span></p>
-<p id='t261' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>elif</span> <span class='nam'>o</span> <span class='op'>==</span> <span class='str'>&#39;-U&#39;</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t262' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>bNewlines</span> <span class='op'>=</span> <span class='nam'>True</span><span class='strut'>&nbsp;</span></p>
-<p id='t263' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>elif</span> <span class='nam'>o</span> <span class='op'>==</span> <span class='str'>&#39;-v&#39;</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t264' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>bShowVersion</span> <span class='op'>=</span> <span class='nam'>True</span><span class='strut'>&nbsp;</span></p>
-<p id='t265' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>elif</span> <span class='nam'>o</span> <span class='op'>==</span> <span class='str'>&#39;-w&#39;</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t266' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>sMakeWritableCmd</span> <span class='op'>=</span> <span class='nam'>a</span><span class='strut'>&nbsp;</span></p>
-<p id='t267' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>elif</span> <span class='nam'>o</span> <span class='op'>==</span> <span class='str'>&#39;-x&#39;</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t268' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>bNoGenerate</span> <span class='op'>=</span> <span class='nam'>True</span><span class='strut'>&nbsp;</span></p>
-<p id='t269' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>elif</span> <span class='nam'>o</span> <span class='op'>==</span> <span class='str'>&#39;-z&#39;</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t270' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>bEofCanBeEnd</span> <span class='op'>=</span> <span class='nam'>True</span><span class='strut'>&nbsp;</span></p>
-<p id='t271' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t272' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Since getopt.getopt is given a list of possible flags,</span><span class='strut'>&nbsp;</span></p>
-<p id='t273' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># this is an internal error.</span><span class='strut'>&nbsp;</span></p>
-<p id='t274' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>CogInternalError</span><span class='op'>(</span><span class='str'>&quot;Don&#39;t understand argument %s&quot;</span> <span class='op'>%</span> <span class='nam'>o</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t275' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t276' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>validate</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t277' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Does nothing if everything is OK, raises CogError&#39;s if it&#39;s not.</span><span class='strut'>&nbsp;</span></p>
-<p id='t278' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t279' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>bReplace</span> <span class='key'>and</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>bDeleteCode</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t280' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>CogUsageError</span><span class='op'>(</span><span class='str'>&quot;Can&#39;t use -d with -r (or you would delete all your source!)&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t281' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t282' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>bReplace</span> <span class='key'>and</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>sOutputName</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t283' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>CogUsageError</span><span class='op'>(</span><span class='str'>&quot;Can&#39;t use -o with -r (they are opposites)&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t284' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t285' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t286' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>Cog</span><span class='op'>(</span><span class='nam'>Redirectable</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t287' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; The Cog engine.</span><span class='strut'>&nbsp;</span></p>
-<p id='t288' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t289' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t290' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>Redirectable</span><span class='op'>.</span><span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t291' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>sBeginSpec</span> <span class='op'>=</span> <span class='str'>&#39;[[[cog&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t292' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>sEndSpec</span> <span class='op'>=</span> <span class='str'>&#39;]]]&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t293' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>sEndOutput</span> <span class='op'>=</span> <span class='str'>&#39;[[[end]]]&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t294' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>reEndOutput</span> <span class='op'>=</span> <span class='nam'>re</span><span class='op'>.</span><span class='nam'>compile</span><span class='op'>(</span><span class='str'>r&#39;\[\[\[end]]](?P&lt;hashsect&gt; *\(checksum: (?P&lt;hash&gt;[a-f0-9]+)\))&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t295' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>sEndFormat</span> <span class='op'>=</span> <span class='str'>&#39;[[[end]]] (checksum: %s)&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t296' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t297' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>options</span> <span class='op'>=</span> <span class='nam'>CogOptions</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t298' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t299' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>installCogModule</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t300' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t301' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>showWarning</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>msg</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t302' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>prout</span><span class='op'>(</span><span class='str'>&quot;Warning: &quot;</span><span class='op'>+</span><span class='nam'>msg</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t303' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t304' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>isBeginSpecLine</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>s</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t305' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>sBeginSpec</span> <span class='key'>in</span> <span class='nam'>s</span><span class='strut'>&nbsp;</span></p>
-<p id='t306' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t307' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>isEndSpecLine</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>s</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t308' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>sEndSpec</span> <span class='key'>in</span> <span class='nam'>s</span> <span class='key'>and</span> <span class='key'>not</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>isEndOutputLine</span><span class='op'>(</span><span class='nam'>s</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t309' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t310' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>isEndOutputLine</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>s</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t311' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>sEndOutput</span> <span class='key'>in</span> <span class='nam'>s</span><span class='strut'>&nbsp;</span></p>
-<p id='t312' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t313' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>installCogModule</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t314' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Magic mumbo-jumbo so that imported Python modules</span><span class='strut'>&nbsp;</span></p>
-<p id='t315' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; can say &quot;import cog&quot; and get our state.</span><span class='strut'>&nbsp;</span></p>
-<p id='t316' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t317' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cogmodule</span> <span class='op'>=</span> <span class='nam'>imp</span><span class='op'>.</span><span class='nam'>new_module</span><span class='op'>(</span><span class='str'>&#39;cog&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t318' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cogmodule</span><span class='op'>.</span><span class='nam'>path</span> <span class='op'>=</span> <span class='op'>[</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t319' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>sys</span><span class='op'>.</span><span class='nam'>modules</span><span class='op'>[</span><span class='str'>&#39;cog&#39;</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cogmodule</span><span class='strut'>&nbsp;</span></p>
-<p id='t320' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t321' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>openOutputFile</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>fname</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t322' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Open an output file, taking all the details into account.</span><span class='strut'>&nbsp;</span></p>
-<p id='t323' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t324' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>opts</span> <span class='op'>=</span> <span class='op'>{</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t325' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>mode</span> <span class='op'>=</span> <span class='str'>&quot;w&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t326' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>PY3</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t327' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>opts</span><span class='op'>[</span><span class='str'>&#39;encoding&#39;</span><span class='op'>]</span> <span class='op'>=</span> <span class='str'>&quot;utf-8&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t328' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>options</span><span class='op'>.</span><span class='nam'>bNewlines</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t329' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>PY3</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t330' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>opts</span><span class='op'>[</span><span class='str'>&#39;newline&#39;</span><span class='op'>]</span> <span class='op'>=</span> <span class='str'>&quot;\n&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t331' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t332' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>mode</span> <span class='op'>=</span> <span class='str'>&quot;wb&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t333' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>open</span><span class='op'>(</span><span class='nam'>fname</span><span class='op'>,</span> <span class='nam'>mode</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>opts</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t334' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t335' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>openInputFile</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>fname</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t336' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Open an input file. &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t337' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>fname</span> <span class='op'>==</span> <span class='str'>&quot;-&quot;</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t338' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>sys</span><span class='op'>.</span><span class='nam'>stdin</span><span class='strut'>&nbsp;</span></p>
-<p id='t339' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t340' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>opts</span> <span class='op'>=</span> <span class='op'>{</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t341' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>PY3</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t342' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>opts</span><span class='op'>[</span><span class='str'>&#39;encoding&#39;</span><span class='op'>]</span> <span class='op'>=</span> <span class='str'>&quot;utf-8&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t343' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>open</span><span class='op'>(</span><span class='nam'>fname</span><span class='op'>,</span> <span class='str'>&quot;r&quot;</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>opts</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t344' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t345' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>processFile</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>fIn</span><span class='op'>,</span> <span class='nam'>fOut</span><span class='op'>,</span> <span class='nam'>fname</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>globals</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t346' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Process an input file object to an output file object.</span><span class='strut'>&nbsp;</span></p>
-<p id='t347' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fIn and fOut can be file objects, or file names.</span><span class='strut'>&nbsp;</span></p>
-<p id='t348' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t349' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t350' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>sFileIn</span> <span class='op'>=</span> <span class='nam'>fname</span> <span class='key'>or</span> <span class='str'>&#39;&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t351' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>sFileOut</span> <span class='op'>=</span> <span class='nam'>fname</span> <span class='key'>or</span> <span class='str'>&#39;&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t352' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>fInToClose</span> <span class='op'>=</span> <span class='nam'>fOutToClose</span> <span class='op'>=</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t353' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Convert filenames to files.</span><span class='strut'>&nbsp;</span></p>
-<p id='t354' class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>356</span>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>fIn</span><span class='op'>,</span> <span class='nam'>string_types</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t355' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Open the input file.</span><span class='strut'>&nbsp;</span></p>
-<p id='t356' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>sFileIn</span> <span class='op'>=</span> <span class='nam'>fIn</span><span class='strut'>&nbsp;</span></p>
-<p id='t357' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>fIn</span> <span class='op'>=</span> <span class='nam'>fInToClose</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>openInputFile</span><span class='op'>(</span><span class='nam'>fIn</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t358' class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>360</span>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>fOut</span><span class='op'>,</span> <span class='nam'>string_types</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t359' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Open the output file.</span><span class='strut'>&nbsp;</span></p>
-<p id='t360' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>sFileOut</span> <span class='op'>=</span> <span class='nam'>fOut</span><span class='strut'>&nbsp;</span></p>
-<p id='t361' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>fOut</span> <span class='op'>=</span> <span class='nam'>fOutToClose</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>openOutputFile</span><span class='op'>(</span><span class='nam'>fOut</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t362' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t363' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t364' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>fIn</span> <span class='op'>=</span> <span class='nam'>NumberedFileReader</span><span class='op'>(</span><span class='nam'>fIn</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t365' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t366' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>bSawCog</span> <span class='op'>=</span> <span class='nam'>False</span><span class='strut'>&nbsp;</span></p>
-<p id='t367' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t368' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cogmodule</span><span class='op'>.</span><span class='nam'>inFile</span> <span class='op'>=</span> <span class='nam'>sFileIn</span><span class='strut'>&nbsp;</span></p>
-<p id='t369' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cogmodule</span><span class='op'>.</span><span class='nam'>outFile</span> <span class='op'>=</span> <span class='nam'>sFileOut</span><span class='strut'>&nbsp;</span></p>
-<p id='t370' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t371' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># The globals dict we&#39;ll use for this file.</span><span class='strut'>&nbsp;</span></p>
-<p id='t372' class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>376</span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>globals</span> <span class='key'>is</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t373' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>globals</span> <span class='op'>=</span> <span class='op'>{</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t374' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t375' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># If there are any global defines, put them in the globals.</span><span class='strut'>&nbsp;</span></p>
-<p id='t376' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>globals</span><span class='op'>.</span><span class='nam'>update</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>options</span><span class='op'>.</span><span class='nam'>defines</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t377' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t378' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># loop over generator chunks</span><span class='strut'>&nbsp;</span></p>
-<p id='t379' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>l</span> <span class='op'>=</span> <span class='nam'>fIn</span><span class='op'>.</span><span class='nam'>readline</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t380' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>while</span> <span class='nam'>l</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t381' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Find the next spec begin</span><span class='strut'>&nbsp;</span></p>
-<p id='t382' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>while</span> <span class='nam'>l</span> <span class='key'>and</span> <span class='key'>not</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>isBeginSpecLine</span><span class='op'>(</span><span class='nam'>l</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t383' class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>384</span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>isEndSpecLine</span><span class='op'>(</span><span class='nam'>l</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t384' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>CogError</span><span class='op'>(</span><span class='str'>&quot;Unexpected &#39;%s&#39;&quot;</span> <span class='op'>%</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>sEndSpec</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t385' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>file</span><span class='op'>=</span><span class='nam'>sFileIn</span><span class='op'>,</span> <span class='nam'>line</span><span class='op'>=</span><span class='nam'>fIn</span><span class='op'>.</span><span class='nam'>linenumber</span><span class='op'>(</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t386' class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>387</span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>isEndOutputLine</span><span class='op'>(</span><span class='nam'>l</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t387' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>CogError</span><span class='op'>(</span><span class='str'>&quot;Unexpected &#39;%s&#39;&quot;</span> <span class='op'>%</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>sEndOutput</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t388' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>file</span><span class='op'>=</span><span class='nam'>sFileIn</span><span class='op'>,</span> <span class='nam'>line</span><span class='op'>=</span><span class='nam'>fIn</span><span class='op'>.</span><span class='nam'>linenumber</span><span class='op'>(</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t389' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>fOut</span><span class='op'>.</span><span class='nam'>write</span><span class='op'>(</span><span class='nam'>l</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t390' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>l</span> <span class='op'>=</span> <span class='nam'>fIn</span><span class='op'>.</span><span class='nam'>readline</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t391' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>l</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t392' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>break</span><span class='strut'>&nbsp;</span></p>
-<p id='t393' class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>397</span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>options</span><span class='op'>.</span><span class='nam'>bDeleteCode</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t394' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>fOut</span><span class='op'>.</span><span class='nam'>write</span><span class='op'>(</span><span class='nam'>l</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t395' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t396' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># l is the begin spec</span><span class='strut'>&nbsp;</span></p>
-<p id='t397' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>gen</span> <span class='op'>=</span> <span class='nam'>CogGenerator</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t398' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>gen</span><span class='op'>.</span><span class='nam'>setOutput</span><span class='op'>(</span><span class='nam'>stdout</span><span class='op'>=</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>stdout</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t399' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>gen</span><span class='op'>.</span><span class='nam'>parseMarker</span><span class='op'>(</span><span class='nam'>l</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t400' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>firstLineNum</span> <span class='op'>=</span> <span class='nam'>fIn</span><span class='op'>.</span><span class='nam'>linenumber</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t401' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cogmodule</span><span class='op'>.</span><span class='nam'>firstLineNum</span> <span class='op'>=</span> <span class='nam'>firstLineNum</span><span class='strut'>&nbsp;</span></p>
-<p id='t402' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t403' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># If the spec begin is also a spec end, then process the single</span><span class='strut'>&nbsp;</span></p>
-<p id='t404' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># line of code inside.</span><span class='strut'>&nbsp;</span></p>
-<p id='t405' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>isEndSpecLine</span><span class='op'>(</span><span class='nam'>l</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t406' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>beg</span> <span class='op'>=</span> <span class='nam'>l</span><span class='op'>.</span><span class='nam'>find</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>sBeginSpec</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t407' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>end</span> <span class='op'>=</span> <span class='nam'>l</span><span class='op'>.</span><span class='nam'>find</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>sEndSpec</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t408' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>beg</span> <span class='op'>&gt;</span> <span class='nam'>end</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t409' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>CogError</span><span class='op'>(</span><span class='str'>&quot;Cog code markers inverted&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t410' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>file</span><span class='op'>=</span><span class='nam'>sFileIn</span><span class='op'>,</span> <span class='nam'>line</span><span class='op'>=</span><span class='nam'>firstLineNum</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t411' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t412' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>sCode</span> <span class='op'>=</span> <span class='nam'>l</span><span class='op'>[</span><span class='nam'>beg</span><span class='op'>+</span><span class='nam'>len</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>sBeginSpec</span><span class='op'>)</span><span class='op'>:</span><span class='nam'>end</span><span class='op'>]</span><span class='op'>.</span><span class='nam'>strip</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t413' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>gen</span><span class='op'>.</span><span class='nam'>parseLine</span><span class='op'>(</span><span class='nam'>sCode</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t414' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t415' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Deal with an ordinary code block.</span><span class='strut'>&nbsp;</span></p>
-<p id='t416' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>l</span> <span class='op'>=</span> <span class='nam'>fIn</span><span class='op'>.</span><span class='nam'>readline</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t417' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t418' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Get all the lines in the spec</span><span class='strut'>&nbsp;</span></p>
-<p id='t419' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>while</span> <span class='nam'>l</span> <span class='key'>and</span> <span class='key'>not</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>isEndSpecLine</span><span class='op'>(</span><span class='nam'>l</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t420' class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>421</span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>isBeginSpecLine</span><span class='op'>(</span><span class='nam'>l</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t421' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>CogError</span><span class='op'>(</span><span class='str'>&quot;Unexpected &#39;%s&#39;&quot;</span> <span class='op'>%</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>sBeginSpec</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t422' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>file</span><span class='op'>=</span><span class='nam'>sFileIn</span><span class='op'>,</span> <span class='nam'>line</span><span class='op'>=</span><span class='nam'>fIn</span><span class='op'>.</span><span class='nam'>linenumber</span><span class='op'>(</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t423' class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>424</span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>isEndOutputLine</span><span class='op'>(</span><span class='nam'>l</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t424' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>CogError</span><span class='op'>(</span><span class='str'>&quot;Unexpected &#39;%s&#39;&quot;</span> <span class='op'>%</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>sEndOutput</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t425' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>file</span><span class='op'>=</span><span class='nam'>sFileIn</span><span class='op'>,</span> <span class='nam'>line</span><span class='op'>=</span><span class='nam'>fIn</span><span class='op'>.</span><span class='nam'>linenumber</span><span class='op'>(</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t426' class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>428</span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>options</span><span class='op'>.</span><span class='nam'>bDeleteCode</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t427' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>fOut</span><span class='op'>.</span><span class='nam'>write</span><span class='op'>(</span><span class='nam'>l</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t428' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>gen</span><span class='op'>.</span><span class='nam'>parseLine</span><span class='op'>(</span><span class='nam'>l</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t429' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>l</span> <span class='op'>=</span> <span class='nam'>fIn</span><span class='op'>.</span><span class='nam'>readline</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t430' class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>431</span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>l</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t431' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>CogError</span><span class='op'>(</span><span class='strut'>&nbsp;</span></p>
-<p id='t432' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;Cog block begun but never ended.&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t433' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>file</span><span class='op'>=</span><span class='nam'>sFileIn</span><span class='op'>,</span> <span class='nam'>line</span><span class='op'>=</span><span class='nam'>firstLineNum</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t434' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t435' class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>437</span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>options</span><span class='op'>.</span><span class='nam'>bDeleteCode</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t436' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>fOut</span><span class='op'>.</span><span class='nam'>write</span><span class='op'>(</span><span class='nam'>l</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t437' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>gen</span><span class='op'>.</span><span class='nam'>parseMarker</span><span class='op'>(</span><span class='nam'>l</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t438' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t439' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>l</span> <span class='op'>=</span> <span class='nam'>fIn</span><span class='op'>.</span><span class='nam'>readline</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t440' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t441' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Eat all the lines in the output section.&nbsp; While reading past</span><span class='strut'>&nbsp;</span></p>
-<p id='t442' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># them, compute the md5 hash of the old output.</span><span class='strut'>&nbsp;</span></p>
-<p id='t443' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>previous</span> <span class='op'>=</span> <span class='str'>&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t444' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>hasher</span> <span class='op'>=</span> <span class='nam'>hashlib</span><span class='op'>.</span><span class='nam'>md5</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t445' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>while</span> <span class='nam'>l</span> <span class='key'>and</span> <span class='key'>not</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>isEndOutputLine</span><span class='op'>(</span><span class='nam'>l</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t446' class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>447</span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>isBeginSpecLine</span><span class='op'>(</span><span class='nam'>l</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t447' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>CogError</span><span class='op'>(</span><span class='str'>&quot;Unexpected &#39;%s&#39;&quot;</span> <span class='op'>%</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>sBeginSpec</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t448' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>file</span><span class='op'>=</span><span class='nam'>sFileIn</span><span class='op'>,</span> <span class='nam'>line</span><span class='op'>=</span><span class='nam'>fIn</span><span class='op'>.</span><span class='nam'>linenumber</span><span class='op'>(</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t449' class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>450</span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>isEndSpecLine</span><span class='op'>(</span><span class='nam'>l</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t450' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>CogError</span><span class='op'>(</span><span class='str'>&quot;Unexpected &#39;%s&#39;&quot;</span> <span class='op'>%</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>sEndSpec</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t451' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>file</span><span class='op'>=</span><span class='nam'>sFileIn</span><span class='op'>,</span> <span class='nam'>line</span><span class='op'>=</span><span class='nam'>fIn</span><span class='op'>.</span><span class='nam'>linenumber</span><span class='op'>(</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t452' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>previous</span> <span class='op'>+=</span> <span class='nam'>l</span><span class='strut'>&nbsp;</span></p>
-<p id='t453' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>hasher</span><span class='op'>.</span><span class='nam'>update</span><span class='op'>(</span><span class='nam'>to_bytes</span><span class='op'>(</span><span class='nam'>l</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t454' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>l</span> <span class='op'>=</span> <span class='nam'>fIn</span><span class='op'>.</span><span class='nam'>readline</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t455' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>curHash</span> <span class='op'>=</span> <span class='nam'>hasher</span><span class='op'>.</span><span class='nam'>hexdigest</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t456' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t457' class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>459</span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>l</span> <span class='key'>and</span> <span class='key'>not</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>options</span><span class='op'>.</span><span class='nam'>bEofCanBeEnd</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t458' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># We reached end of file before we found the end output line.</span><span class='strut'>&nbsp;</span></p>
-<p id='t459' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>CogError</span><span class='op'>(</span><span class='str'>&quot;Missing &#39;%s&#39; before end of file.&quot;</span> <span class='op'>%</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>sEndOutput</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t460' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>file</span><span class='op'>=</span><span class='nam'>sFileIn</span><span class='op'>,</span> <span class='nam'>line</span><span class='op'>=</span><span class='nam'>fIn</span><span class='op'>.</span><span class='nam'>linenumber</span><span class='op'>(</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t461' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t462' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Make the previous output available to the current code</span><span class='strut'>&nbsp;</span></p>
-<p id='t463' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cogmodule</span><span class='op'>.</span><span class='nam'>previous</span> <span class='op'>=</span> <span class='nam'>previous</span><span class='strut'>&nbsp;</span></p>
-<p id='t464' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t465' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Write the output of the spec to be the new output if we&#39;re </span><span class='strut'>&nbsp;</span></p>
-<p id='t466' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># supposed to generate code.</span><span class='strut'>&nbsp;</span></p>
-<p id='t467' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>hasher</span> <span class='op'>=</span> <span class='nam'>hashlib</span><span class='op'>.</span><span class='nam'>md5</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t468' class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>474</span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>options</span><span class='op'>.</span><span class='nam'>bNoGenerate</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t469' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>sFile</span> <span class='op'>=</span> <span class='str'>&quot;%s+%d&quot;</span> <span class='op'>%</span> <span class='op'>(</span><span class='nam'>sFileIn</span><span class='op'>,</span> <span class='nam'>firstLineNum</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t470' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>sGen</span> <span class='op'>=</span> <span class='nam'>gen</span><span class='op'>.</span><span class='nam'>evaluate</span><span class='op'>(</span><span class='nam'>cog</span><span class='op'>=</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>globals</span><span class='op'>=</span><span class='nam'>globals</span><span class='op'>,</span> <span class='nam'>fname</span><span class='op'>=</span><span class='nam'>sFile</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t471' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>sGen</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>suffixLines</span><span class='op'>(</span><span class='nam'>sGen</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t472' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>hasher</span><span class='op'>.</span><span class='nam'>update</span><span class='op'>(</span><span class='nam'>to_bytes</span><span class='op'>(</span><span class='nam'>sGen</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t473' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>fOut</span><span class='op'>.</span><span class='nam'>write</span><span class='op'>(</span><span class='nam'>sGen</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t474' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>newHash</span> <span class='op'>=</span> <span class='nam'>hasher</span><span class='op'>.</span><span class='nam'>hexdigest</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t475' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t476' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>bSawCog</span> <span class='op'>=</span> <span class='nam'>True</span><span class='strut'>&nbsp;</span></p>
-<p id='t477' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t478' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Write the ending output line</span><span class='strut'>&nbsp;</span></p>
-<p id='t479' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>hashMatch</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>reEndOutput</span><span class='op'>.</span><span class='nam'>search</span><span class='op'>(</span><span class='nam'>l</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t480' class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>481</span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>options</span><span class='op'>.</span><span class='nam'>bHashOutput</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t481' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>hashMatch</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t482' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>oldHash</span> <span class='op'>=</span> <span class='nam'>hashMatch</span><span class='op'>.</span><span class='nam'>groupdict</span><span class='op'>(</span><span class='op'>)</span><span class='op'>[</span><span class='str'>&#39;hash&#39;</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t483' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>oldHash</span> <span class='op'>!=</span> <span class='nam'>curHash</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t484' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>CogError</span><span class='op'>(</span><span class='str'>&quot;Output has been edited! Delete old checksum to unprotect.&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t485' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>file</span><span class='op'>=</span><span class='nam'>sFileIn</span><span class='op'>,</span> <span class='nam'>line</span><span class='op'>=</span><span class='nam'>fIn</span><span class='op'>.</span><span class='nam'>linenumber</span><span class='op'>(</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t486' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Create a new end line with the correct hash.</span><span class='strut'>&nbsp;</span></p>
-<p id='t487' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>endpieces</span> <span class='op'>=</span> <span class='nam'>l</span><span class='op'>.</span><span class='nam'>split</span><span class='op'>(</span><span class='nam'>hashMatch</span><span class='op'>.</span><span class='nam'>group</span><span class='op'>(</span><span class='num'>0</span><span class='op'>)</span><span class='op'>,</span> <span class='num'>1</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t488' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t489' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># There was no old hash, but we want a new hash.</span><span class='strut'>&nbsp;</span></p>
-<p id='t490' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>endpieces</span> <span class='op'>=</span> <span class='nam'>l</span><span class='op'>.</span><span class='nam'>split</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>sEndOutput</span><span class='op'>,</span> <span class='num'>1</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t491' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>l</span> <span class='op'>=</span> <span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>sEndFormat</span> <span class='op'>%</span> <span class='nam'>newHash</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>join</span><span class='op'>(</span><span class='nam'>endpieces</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t492' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t493' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># We don&#39;t want hashes output, so if there was one, get rid of</span><span class='strut'>&nbsp;</span></p>
-<p id='t494' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># it.</span><span class='strut'>&nbsp;</span></p>
-<p id='t495' class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>496</span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>hashMatch</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t496' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>l</span> <span class='op'>=</span> <span class='nam'>l</span><span class='op'>.</span><span class='nam'>replace</span><span class='op'>(</span><span class='nam'>hashMatch</span><span class='op'>.</span><span class='nam'>groupdict</span><span class='op'>(</span><span class='op'>)</span><span class='op'>[</span><span class='str'>&#39;hashsect&#39;</span><span class='op'>]</span><span class='op'>,</span> <span class='str'>&#39;&#39;</span><span class='op'>,</span> <span class='num'>1</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t497' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t498' class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>500</span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>options</span><span class='op'>.</span><span class='nam'>bDeleteCode</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t499' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>fOut</span><span class='op'>.</span><span class='nam'>write</span><span class='op'>(</span><span class='nam'>l</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t500' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>l</span> <span class='op'>=</span> <span class='nam'>fIn</span><span class='op'>.</span><span class='nam'>readline</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t501' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t502' class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>503</span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>bSawCog</span> <span class='key'>and</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>options</span><span class='op'>.</span><span class='nam'>bWarnEmpty</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t503' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>showWarning</span><span class='op'>(</span><span class='str'>&quot;no cog code found in %s&quot;</span> <span class='op'>%</span> <span class='nam'>sFileIn</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t504' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>finally</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t505' class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>506</span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>fInToClose</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t506' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>fInToClose</span><span class='op'>.</span><span class='nam'>close</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t507' class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>508</span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>fOutToClose</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t508' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>fOutToClose</span><span class='op'>.</span><span class='nam'>close</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t509' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t510' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t511' class='pln'>&nbsp; &nbsp; <span class='com'># A regex for non-empty lines, used by suffixLines.</span><span class='strut'>&nbsp;</span></p>
-<p id='t512' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>reNonEmptyLines</span> <span class='op'>=</span> <span class='nam'>re</span><span class='op'>.</span><span class='nam'>compile</span><span class='op'>(</span><span class='str'>&quot;^\s*\S+.*$&quot;</span><span class='op'>,</span> <span class='nam'>re</span><span class='op'>.</span><span class='nam'>MULTILINE</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t513' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t514' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>suffixLines</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>text</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t515' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Add suffixes to the lines in text, if our options desire it.</span><span class='strut'>&nbsp;</span></p>
-<p id='t516' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; text is many lines, as a single string.</span><span class='strut'>&nbsp;</span></p>
-<p id='t517' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t518' class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>520</span>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>options</span><span class='op'>.</span><span class='nam'>sSuffix</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t519' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Find all non-blank lines, and add the suffix to the end.</span><span class='strut'>&nbsp;</span></p>
-<p id='t520' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>repl</span> <span class='op'>=</span> <span class='str'>r&quot;\g&lt;0&gt;&quot;</span> <span class='op'>+</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>options</span><span class='op'>.</span><span class='nam'>sSuffix</span><span class='op'>.</span><span class='nam'>replace</span><span class='op'>(</span><span class='str'>&#39;\\&#39;</span><span class='op'>,</span> <span class='str'>&#39;\\\\&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t521' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>text</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>reNonEmptyLines</span><span class='op'>.</span><span class='nam'>sub</span><span class='op'>(</span><span class='nam'>repl</span><span class='op'>,</span> <span class='nam'>text</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t522' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>text</span><span class='strut'>&nbsp;</span></p>
-<p id='t523' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t524' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>processString</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>sInput</span><span class='op'>,</span> <span class='nam'>fname</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t525' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Process sInput as the text to cog.</span><span class='strut'>&nbsp;</span></p>
-<p id='t526' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Return the cogged output as a string.</span><span class='strut'>&nbsp;</span></p>
-<p id='t527' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t528' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>fOld</span> <span class='op'>=</span> <span class='nam'>StringIO</span><span class='op'>(</span><span class='nam'>sInput</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t529' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>fNew</span> <span class='op'>=</span> <span class='nam'>StringIO</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t530' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>processFile</span><span class='op'>(</span><span class='nam'>fOld</span><span class='op'>,</span> <span class='nam'>fNew</span><span class='op'>,</span> <span class='nam'>fname</span><span class='op'>=</span><span class='nam'>fname</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t531' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>fNew</span><span class='op'>.</span><span class='nam'>getvalue</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t532' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t533' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>replaceFile</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>sOldPath</span><span class='op'>,</span> <span class='nam'>sNewText</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t534' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Replace file sOldPath with the contents sNewText</span><span class='strut'>&nbsp;</span></p>
-<p id='t535' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t536' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>access</span><span class='op'>(</span><span class='nam'>sOldPath</span><span class='op'>,</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>W_OK</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t537' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Need to ensure we can write.</span><span class='strut'>&nbsp;</span></p>
-<p id='t538' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>options</span><span class='op'>.</span><span class='nam'>sMakeWritableCmd</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t539' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Use an external command to make the file writable.</span><span class='strut'>&nbsp;</span></p>
-<p id='t540' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>cmd</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>options</span><span class='op'>.</span><span class='nam'>sMakeWritableCmd</span><span class='op'>.</span><span class='nam'>replace</span><span class='op'>(</span><span class='str'>&#39;%s&#39;</span><span class='op'>,</span> <span class='nam'>sOldPath</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t541' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>stdout</span><span class='op'>.</span><span class='nam'>write</span><span class='op'>(</span><span class='nam'>os</span><span class='op'>.</span><span class='nam'>popen</span><span class='op'>(</span><span class='nam'>cmd</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>read</span><span class='op'>(</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t542' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>access</span><span class='op'>(</span><span class='nam'>sOldPath</span><span class='op'>,</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>W_OK</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t543' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>CogError</span><span class='op'>(</span><span class='str'>&quot;Couldn&#39;t make %s writable&quot;</span> <span class='op'>%</span> <span class='nam'>sOldPath</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t544' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t545' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Can&#39;t write!</span><span class='strut'>&nbsp;</span></p>
-<p id='t546' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>CogError</span><span class='op'>(</span><span class='str'>&quot;Can&#39;t overwrite %s&quot;</span> <span class='op'>%</span> <span class='nam'>sOldPath</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t547' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>f</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>openOutputFile</span><span class='op'>(</span><span class='nam'>sOldPath</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t548' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>f</span><span class='op'>.</span><span class='nam'>write</span><span class='op'>(</span><span class='nam'>sNewText</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t549' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>f</span><span class='op'>.</span><span class='nam'>close</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t550' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t551' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>saveIncludePath</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t552' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>savedInclude</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>options</span><span class='op'>.</span><span class='nam'>includePath</span><span class='op'>[</span><span class='op'>:</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t553' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>savedSysPath</span> <span class='op'>=</span> <span class='nam'>sys</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>[</span><span class='op'>:</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t554' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t555' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>restoreIncludePath</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t556' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>options</span><span class='op'>.</span><span class='nam'>includePath</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>savedInclude</span><span class='strut'>&nbsp;</span></p>
-<p id='t557' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cogmodule</span><span class='op'>.</span><span class='nam'>path</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>options</span><span class='op'>.</span><span class='nam'>includePath</span><span class='strut'>&nbsp;</span></p>
-<p id='t558' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>sys</span><span class='op'>.</span><span class='nam'>path</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>savedSysPath</span><span class='strut'>&nbsp;</span></p>
-<p id='t559' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t560' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>addToIncludePath</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>includePath</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t561' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cogmodule</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>extend</span><span class='op'>(</span><span class='nam'>includePath</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t562' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>sys</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>extend</span><span class='op'>(</span><span class='nam'>includePath</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t563' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t564' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>processOneFile</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>sFile</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t565' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Process one filename through cog.</span><span class='strut'>&nbsp;</span></p>
-<p id='t566' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t567' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t568' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>saveIncludePath</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t569' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t570' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t571' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>addToIncludePath</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>options</span><span class='op'>.</span><span class='nam'>includePath</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t572' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Since we know where the input file came from,</span><span class='strut'>&nbsp;</span></p>
-<p id='t573' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># push its directory onto the include path.</span><span class='strut'>&nbsp;</span></p>
-<p id='t574' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>addToIncludePath</span><span class='op'>(</span><span class='op'>[</span><span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>dirname</span><span class='op'>(</span><span class='nam'>sFile</span><span class='op'>)</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t575' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t576' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># How we process the file depends on where the output is going.</span><span class='strut'>&nbsp;</span></p>
-<p id='t577' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>options</span><span class='op'>.</span><span class='nam'>sOutputName</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t578' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>processFile</span><span class='op'>(</span><span class='nam'>sFile</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>options</span><span class='op'>.</span><span class='nam'>sOutputName</span><span class='op'>,</span> <span class='nam'>sFile</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t579' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>elif</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>options</span><span class='op'>.</span><span class='nam'>bReplace</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t580' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># We want to replace the cog file with the output,</span><span class='strut'>&nbsp;</span></p>
-<p id='t581' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># but only if they differ.</span><span class='strut'>&nbsp;</span></p>
-<p id='t582' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>prout</span><span class='op'>(</span><span class='str'>&quot;Cogging %s&quot;</span> <span class='op'>%</span> <span class='nam'>sFile</span><span class='op'>,</span> <span class='nam'>end</span><span class='op'>=</span><span class='str'>&quot;&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t583' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>bNeedNewline</span> <span class='op'>=</span> <span class='nam'>True</span><span class='strut'>&nbsp;</span></p>
-<p id='t584' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t585' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t586' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>fOldFile</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>openInputFile</span><span class='op'>(</span><span class='nam'>sFile</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t587' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>sOldText</span> <span class='op'>=</span> <span class='nam'>fOldFile</span><span class='op'>.</span><span class='nam'>read</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t588' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>fOldFile</span><span class='op'>.</span><span class='nam'>close</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t589' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>sNewText</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>processString</span><span class='op'>(</span><span class='nam'>sOldText</span><span class='op'>,</span> <span class='nam'>fname</span><span class='op'>=</span><span class='nam'>sFile</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t590' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>sOldText</span> <span class='op'>!=</span> <span class='nam'>sNewText</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t591' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>prout</span><span class='op'>(</span><span class='str'>&quot;&nbsp; (changed)&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t592' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>bNeedNewline</span> <span class='op'>=</span> <span class='nam'>False</span><span class='strut'>&nbsp;</span></p>
-<p id='t593' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>replaceFile</span><span class='op'>(</span><span class='nam'>sFile</span><span class='op'>,</span> <span class='nam'>sNewText</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t594' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>finally</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t595' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># The try-finally block is so we can print a partial line</span><span class='strut'>&nbsp;</span></p>
-<p id='t596' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># with the name of the file, and print (changed) on the</span><span class='strut'>&nbsp;</span></p>
-<p id='t597' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># same line, but also make sure to break the line before</span><span class='strut'>&nbsp;</span></p>
-<p id='t598' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># any traceback.</span><span class='strut'>&nbsp;</span></p>
-<p id='t599' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>bNeedNewline</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t600' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>prout</span><span class='op'>(</span><span class='str'>&quot;&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t601' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t602' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>processFile</span><span class='op'>(</span><span class='nam'>sFile</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>stdout</span><span class='op'>,</span> <span class='nam'>sFile</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t603' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>finally</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t604' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>restoreIncludePath</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t605' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t606' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>processFileList</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>sFileList</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t607' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Process the files in a file list.</span><span class='strut'>&nbsp;</span></p>
-<p id='t608' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t609' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>flist</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>openInputFile</span><span class='op'>(</span><span class='nam'>sFileList</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t610' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>lines</span> <span class='op'>=</span> <span class='nam'>flist</span><span class='op'>.</span><span class='nam'>readlines</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t611' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>flist</span><span class='op'>.</span><span class='nam'>close</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t612' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>l</span> <span class='key'>in</span> <span class='nam'>lines</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t613' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Use shlex to parse the line like a shell.</span><span class='strut'>&nbsp;</span></p>
-<p id='t614' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>lex</span> <span class='op'>=</span> <span class='nam'>shlex</span><span class='op'>.</span><span class='nam'>shlex</span><span class='op'>(</span><span class='nam'>l</span><span class='op'>,</span> <span class='nam'>posix</span><span class='op'>=</span><span class='nam'>True</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t615' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>lex</span><span class='op'>.</span><span class='nam'>whitespace_split</span> <span class='op'>=</span> <span class='nam'>True</span><span class='strut'>&nbsp;</span></p>
-<p id='t616' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>lex</span><span class='op'>.</span><span class='nam'>commenters</span> <span class='op'>=</span> <span class='str'>&#39;#&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t617' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># No escapes, so that backslash can be part of the path</span><span class='strut'>&nbsp;</span></p>
-<p id='t618' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>lex</span><span class='op'>.</span><span class='nam'>escape</span> <span class='op'>=</span> <span class='str'>&#39;&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t619' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>args</span> <span class='op'>=</span> <span class='nam'>list</span><span class='op'>(</span><span class='nam'>lex</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t620' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>args</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t621' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>processArguments</span><span class='op'>(</span><span class='nam'>args</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t622' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t623' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>processArguments</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>args</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t624' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Process one command-line.</span><span class='strut'>&nbsp;</span></p>
-<p id='t625' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t626' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>saved_options</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>options</span><span class='strut'>&nbsp;</span></p>
-<p id='t627' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>options</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>options</span><span class='op'>.</span><span class='nam'>clone</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t628' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t629' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>options</span><span class='op'>.</span><span class='nam'>parseArgs</span><span class='op'>(</span><span class='nam'>args</span><span class='op'>[</span><span class='num'>1</span><span class='op'>:</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t630' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>options</span><span class='op'>.</span><span class='nam'>validate</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t631' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t632' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>args</span><span class='op'>[</span><span class='num'>0</span><span class='op'>]</span><span class='op'>[</span><span class='num'>0</span><span class='op'>]</span> <span class='op'>==</span> <span class='str'>&#39;@&#39;</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t633' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>options</span><span class='op'>.</span><span class='nam'>sOutputName</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t634' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>CogUsageError</span><span class='op'>(</span><span class='str'>&quot;Can&#39;t use -o with @file&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t635' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>processFileList</span><span class='op'>(</span><span class='nam'>args</span><span class='op'>[</span><span class='num'>0</span><span class='op'>]</span><span class='op'>[</span><span class='num'>1</span><span class='op'>:</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t636' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t637' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>processOneFile</span><span class='op'>(</span><span class='nam'>args</span><span class='op'>[</span><span class='num'>0</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t638' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t639' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>options</span> <span class='op'>=</span> <span class='nam'>saved_options</span><span class='strut'>&nbsp;</span></p>
-<p id='t640' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t641' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>callableMain</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>argv</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t642' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; All of command-line cog, but in a callable form.</span><span class='strut'>&nbsp;</span></p>
-<p id='t643' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This is used by main.</span><span class='strut'>&nbsp;</span></p>
-<p id='t644' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; argv is the equivalent of sys.argv.</span><span class='strut'>&nbsp;</span></p>
-<p id='t645' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t646' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>argv</span> <span class='op'>=</span> <span class='nam'>argv</span><span class='op'>[</span><span class='op'>:</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t647' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>argv0</span> <span class='op'>=</span> <span class='nam'>argv</span><span class='op'>.</span><span class='nam'>pop</span><span class='op'>(</span><span class='num'>0</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t648' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t649' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Provide help if asked for anywhere in the command line.</span><span class='strut'>&nbsp;</span></p>
-<p id='t650' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='str'>&#39;-?&#39;</span> <span class='key'>in</span> <span class='nam'>argv</span> <span class='key'>or</span> <span class='str'>&#39;-h&#39;</span> <span class='key'>in</span> <span class='nam'>argv</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t651' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>prerr</span><span class='op'>(</span><span class='nam'>usage</span><span class='op'>,</span> <span class='nam'>end</span><span class='op'>=</span><span class='str'>&quot;&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t652' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span><span class='strut'>&nbsp;</span></p>
-<p id='t653' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t654' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>options</span><span class='op'>.</span><span class='nam'>parseArgs</span><span class='op'>(</span><span class='nam'>argv</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t655' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>options</span><span class='op'>.</span><span class='nam'>validate</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t656' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t657' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>options</span><span class='op'>.</span><span class='nam'>bShowVersion</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t658' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>prout</span><span class='op'>(</span><span class='str'>&quot;Cog version %s&quot;</span> <span class='op'>%</span> <span class='nam'>__version__</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t659' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span><span class='strut'>&nbsp;</span></p>
-<p id='t660' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t661' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>options</span><span class='op'>.</span><span class='nam'>args</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t662' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>a</span> <span class='key'>in</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>options</span><span class='op'>.</span><span class='nam'>args</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t663' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>processArguments</span><span class='op'>(</span><span class='op'>[</span><span class='nam'>a</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t664' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t665' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>CogUsageError</span><span class='op'>(</span><span class='str'>&quot;No files to process&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t666' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t667' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>main</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>argv</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t668' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Handle the command-line execution for cog.</span><span class='strut'>&nbsp;</span></p>
-<p id='t669' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t670' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t671' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t672' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>(</span><span class='nam'>argv</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t673' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='num'>0</span><span class='strut'>&nbsp;</span></p>
-<p id='t674' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>CogUsageError</span> <span class='key'>as</span> <span class='nam'>err</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t675' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>prerr</span><span class='op'>(</span><span class='nam'>err</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t676' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>prerr</span><span class='op'>(</span><span class='str'>&quot;(for help use -?)&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t677' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='num'>2</span><span class='strut'>&nbsp;</span></p>
-<p id='t678' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>CogGeneratedError</span> <span class='key'>as</span> <span class='nam'>err</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t679' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>prerr</span><span class='op'>(</span><span class='str'>&quot;Error: %s&quot;</span> <span class='op'>%</span> <span class='nam'>err</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t680' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='num'>3</span><span class='strut'>&nbsp;</span></p>
-<p id='t681' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>CogError</span> <span class='key'>as</span> <span class='nam'>err</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t682' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>prerr</span><span class='op'>(</span><span class='nam'>err</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t683' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='num'>1</span><span class='strut'>&nbsp;</span></p>
-<p id='t684' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t685' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>traceback</span><span class='op'>.</span><span class='nam'>print_exc</span><span class='op'>(</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>stderr</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t686' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='num'>1</span><span class='strut'>&nbsp;</span></p>
-<p id='t687' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t688' class='pln'><span class='com'># History:</span><span class='strut'>&nbsp;</span></p>
-<p id='t689' class='pln'><span class='com'># 20040210: First public version.</span><span class='strut'>&nbsp;</span></p>
-<p id='t690' class='pln'><span class='com'># 20040220: Text preceding the start and end marker are removed from Python lines.</span><span class='strut'>&nbsp;</span></p>
-<p id='t691' class='pln'><span class='com'>#&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; -v option on the command line shows the version.</span><span class='strut'>&nbsp;</span></p>
-<p id='t692' class='pln'><span class='com'># 20040311: Make sure the last line of output is properly ended with a newline.</span><span class='strut'>&nbsp;</span></p>
-<p id='t693' class='pln'><span class='com'># 20040605: Fixed some blank line handling in cog.</span><span class='strut'>&nbsp;</span></p>
-<p id='t694' class='pln'><span class='com'>#&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; Fixed problems with assigning to xml elements in handyxml.</span><span class='strut'>&nbsp;</span></p>
-<p id='t695' class='pln'><span class='com'># 20040621: Changed all line-ends to LF from CRLF.</span><span class='strut'>&nbsp;</span></p>
-<p id='t696' class='pln'><span class='com'># 20041002: Refactor some option handling to simplify unittesting the options.</span><span class='strut'>&nbsp;</span></p>
-<p id='t697' class='pln'><span class='com'># 20041118: cog.out and cog.outl have optional string arguments.</span><span class='strut'>&nbsp;</span></p>
-<p id='t698' class='pln'><span class='com'># 20041119: File names weren&#39;t being properly passed around for warnings, etc.</span><span class='strut'>&nbsp;</span></p>
-<p id='t699' class='pln'><span class='com'># 20041122: Added cog.firstLineNum: a property with the line number of the [[[cog line.</span><span class='strut'>&nbsp;</span></p>
-<p id='t700' class='pln'><span class='com'>#&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; Added cog.inFile and cog.outFile: the names of the input and output file.</span><span class='strut'>&nbsp;</span></p>
-<p id='t701' class='pln'><span class='com'># 20041218: Single-line cog generators, with start marker and end marker on</span><span class='strut'>&nbsp;</span></p>
-<p id='t702' class='pln'><span class='com'>#&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; the same line.</span><span class='strut'>&nbsp;</span></p>
-<p id='t703' class='pln'><span class='com'># 20041230: Keep a single globals dict for all the code fragments in a single</span><span class='strut'>&nbsp;</span></p>
-<p id='t704' class='pln'><span class='com'>#&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; file so they can share state.</span><span class='strut'>&nbsp;</span></p>
-<p id='t705' class='pln'><span class='com'># 20050206: Added the -x switch to remove all generated output.</span><span class='strut'>&nbsp;</span></p>
-<p id='t706' class='pln'><span class='com'># 20050218: Now code can be on the marker lines as well.</span><span class='strut'>&nbsp;</span></p>
-<p id='t707' class='pln'><span class='com'># 20050219: Added -c switch to checksum the output so that edits can be</span><span class='strut'>&nbsp;</span></p>
-<p id='t708' class='pln'><span class='com'>#&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; detected before they are obliterated.</span><span class='strut'>&nbsp;</span></p>
-<p id='t709' class='pln'><span class='com'># 20050521: Added cog.error, contributed by Alexander Belchenko.</span><span class='strut'>&nbsp;</span></p>
-<p id='t710' class='pln'><span class='com'># 20050720: Added code deletion and settable globals contributed by Blake Winton.</span><span class='strut'>&nbsp;</span></p>
-<p id='t711' class='pln'><span class='com'># 20050724: Many tweaks to improve code coverage.</span><span class='strut'>&nbsp;</span></p>
-<p id='t712' class='pln'><span class='com'># 20050726: Error messages are now printed with no traceback.</span><span class='strut'>&nbsp;</span></p>
-<p id='t713' class='pln'><span class='com'>#&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; Code can no longer appear on the marker lines,</span><span class='strut'>&nbsp;</span></p>
-<p id='t714' class='pln'><span class='com'>#&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; except for single-line style.</span><span class='strut'>&nbsp;</span></p>
-<p id='t715' class='pln'><span class='com'>#&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; -z allows omission of the [[[end]]] marker, and it will be assumed</span><span class='strut'>&nbsp;</span></p>
-<p id='t716' class='pln'><span class='com'>#&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; at the end of the file.</span><span class='strut'>&nbsp;</span></p>
-<p id='t717' class='pln'><span class='com'># 20050729: Refactor option parsing into a separate class, in preparation for</span><span class='strut'>&nbsp;</span></p>
-<p id='t718' class='pln'><span class='com'>#&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; future features.</span><span class='strut'>&nbsp;</span></p>
-<p id='t719' class='pln'><span class='com'># 20050805: The cogmodule.path wasn&#39;t being properly maintained.</span><span class='strut'>&nbsp;</span></p>
-<p id='t720' class='pln'><span class='com'># 20050808: Added the -D option to define a global value.</span><span class='strut'>&nbsp;</span></p>
-<p id='t721' class='pln'><span class='com'># 20050810: The %s in the -w command is dealt with more robustly.</span><span class='strut'>&nbsp;</span></p>
-<p id='t722' class='pln'><span class='com'>#&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; Added the -s option to suffix output lines with a marker.</span><span class='strut'>&nbsp;</span></p>
-<p id='t723' class='pln'><span class='com'># 20050817: Now @files can have arguments on each line to change the cog&#39;s</span><span class='strut'>&nbsp;</span></p>
-<p id='t724' class='pln'><span class='com'>#&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; behavior for that line.</span><span class='strut'>&nbsp;</span></p>
-<p id='t725' class='pln'><span class='com'># 20051006: Version 2.0</span><span class='strut'>&nbsp;</span></p>
-<p id='t726' class='pln'><span class='com'># 20080521: -U options lets you create Unix newlines on Windows.&nbsp; Thanks,</span><span class='strut'>&nbsp;</span></p>
-<p id='t727' class='pln'><span class='com'>#&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; Alexander Belchenko.</span><span class='strut'>&nbsp;</span></p>
-<p id='t728' class='pln'><span class='com'># 20080522: It&#39;s now ok to have -d with output to stdout, and now we validate</span><span class='strut'>&nbsp;</span></p>
-<p id='t729' class='pln'><span class='com'>#&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; the args after each line of an @file.</span><span class='strut'>&nbsp;</span></p>
-<p id='t730' class='pln'><span class='com'># 20090520: Use hashlib where it&#39;s available, to avoid a warning.</span><span class='strut'>&nbsp;</span></p>
-<p id='t731' class='pln'><span class='com'>#&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; Use the builtin compile() instead of compiler, for Jython.</span><span class='strut'>&nbsp;</span></p>
-<p id='t732' class='pln'><span class='com'>#&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; Explicitly close files we opened, Jython likes this.</span><span class='strut'>&nbsp;</span></p>
-<p id='t733' class='pln'><span class='com'># 20120205: Port to Python 3.&nbsp; Lowest supported version is 2.6.</span><span class='strut'>&nbsp;</span></p>
-
- </td>
- </tr>
- </table>
-</div>
-
-<div id='footer'>
- <div class='content'>
- <p>
- <a class='nav' href='index.html'>&#xab; index</a> &nbsp; &nbsp; <a class='nav' href='http://nedbatchelder.com/code/coverage'>coverage.py v3.7.1</a>
- </p>
- </div>
-</div>
-
-</body>
-</html>
diff --git a/doc/sample_html/cogapp_cogapp_py.html b/doc/sample_html/cogapp_cogapp_py.html
new file mode 100644
index 00000000..a1fafb28
--- /dev/null
+++ b/doc/sample_html/cogapp_cogapp_py.html
@@ -0,0 +1,1641 @@
+
+
+
+<!DOCTYPE html>
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+
+
+ <meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
+ <title>Coverage for cogapp/cogapp.py: 98.82%</title>
+ <link rel="stylesheet" href="style.css" type="text/css">
+
+ <script type="text/javascript" src="jquery.min.js"></script>
+ <script type="text/javascript" src="jquery.hotkeys.js"></script>
+ <script type="text/javascript" src="jquery.isonscreen.js"></script>
+ <script type="text/javascript" src="coverage_html.js"></script>
+ <script type="text/javascript">
+ jQuery(document).ready(coverage.pyfile_ready);
+ </script>
+</head>
+<body class="pyfile">
+
+<div id="header">
+ <div class="content">
+ <h1>Coverage for <b>cogapp/cogapp.py</b> :
+ <span class="pc_cov">98.82%</span>
+ </h1>
+
+ <img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
+
+ <h2 class="stats">
+ 423 statements &nbsp;
+ <span class="run hide_run shortkey_r button_toggle_run">420 run</span>
+ <span class="mis shortkey_m button_toggle_mis">3 missing</span>
+ <span class="exc shortkey_x button_toggle_exc">4 excluded</span>
+
+
+ <span class="par run hide_run shortkey_p button_toggle_par">4 partial</span>
+
+ </h2>
+ </div>
+</div>
+
+<div class="help_panel">
+ <img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
+<p class="legend">Hot-keys on this page</p>
+ <div>
+<p class="keyhelp">
+ <span class="key">r</span>
+ <span class="key">m</span>
+ <span class="key">x</span>
+ <span class="key">p</span> &nbsp; toggle line displays
+ </p>
+<p class="keyhelp">
+ <span class="key">j</span>
+ <span class="key">k</span> &nbsp; next/prev highlighted chunk
+ </p>
+<p class="keyhelp">
+ <span class="key">0</span> &nbsp; (zero) top of page
+ </p>
+<p class="keyhelp">
+ <span class="key">1</span> &nbsp; (one) first highlighted chunk
+ </p>
+ </div>
+</div>
+
+<div id="source">
+ <table>
+ <tr>
+ <td class="linenos">
+<p id="n1" class="pln"><a href="#n1">1</a></p>
+<p id="n2" class="pln"><a href="#n2">2</a></p>
+<p id="n3" class="pln"><a href="#n3">3</a></p>
+<p id="n4" class="pln"><a href="#n4">4</a></p>
+<p id="n5" class="pln"><a href="#n5">5</a></p>
+<p id="n6" class="pln"><a href="#n6">6</a></p>
+<p id="n7" class="stm run hide_run"><a href="#n7">7</a></p>
+<p id="n8" class="pln"><a href="#n8">8</a></p>
+<p id="n9" class="stm run hide_run"><a href="#n9">9</a></p>
+<p id="n10" class="stm run hide_run"><a href="#n10">10</a></p>
+<p id="n11" class="pln"><a href="#n11">11</a></p>
+<p id="n12" class="stm run hide_run"><a href="#n12">12</a></p>
+<p id="n13" class="pln"><a href="#n13">13</a></p>
+<p id="n14" class="stm run hide_run"><a href="#n14">14</a></p>
+<p id="n15" class="pln"><a href="#n15">15</a></p>
+<p id="n16" class="stm run hide_run"><a href="#n16">16</a></p>
+<p id="n17" class="pln"><a href="#n17">17</a></p>
+<p id="n18" class="pln"><a href="#n18">18</a></p>
+<p id="n19" class="pln"><a href="#n19">19</a></p>
+<p id="n20" class="pln"><a href="#n20">20</a></p>
+<p id="n21" class="pln"><a href="#n21">21</a></p>
+<p id="n22" class="pln"><a href="#n22">22</a></p>
+<p id="n23" class="pln"><a href="#n23">23</a></p>
+<p id="n24" class="pln"><a href="#n24">24</a></p>
+<p id="n25" class="pln"><a href="#n25">25</a></p>
+<p id="n26" class="pln"><a href="#n26">26</a></p>
+<p id="n27" class="pln"><a href="#n27">27</a></p>
+<p id="n28" class="pln"><a href="#n28">28</a></p>
+<p id="n29" class="pln"><a href="#n29">29</a></p>
+<p id="n30" class="pln"><a href="#n30">30</a></p>
+<p id="n31" class="pln"><a href="#n31">31</a></p>
+<p id="n32" class="pln"><a href="#n32">32</a></p>
+<p id="n33" class="pln"><a href="#n33">33</a></p>
+<p id="n34" class="pln"><a href="#n34">34</a></p>
+<p id="n35" class="pln"><a href="#n35">35</a></p>
+<p id="n36" class="pln"><a href="#n36">36</a></p>
+<p id="n37" class="pln"><a href="#n37">37</a></p>
+<p id="n38" class="pln"><a href="#n38">38</a></p>
+<p id="n39" class="pln"><a href="#n39">39</a></p>
+<p id="n40" class="pln"><a href="#n40">40</a></p>
+<p id="n41" class="pln"><a href="#n41">41</a></p>
+<p id="n42" class="pln"><a href="#n42">42</a></p>
+<p id="n43" class="pln"><a href="#n43">43</a></p>
+<p id="n44" class="pln"><a href="#n44">44</a></p>
+<p id="n45" class="pln"><a href="#n45">45</a></p>
+<p id="n46" class="pln"><a href="#n46">46</a></p>
+<p id="n47" class="pln"><a href="#n47">47</a></p>
+<p id="n48" class="pln"><a href="#n48">48</a></p>
+<p id="n49" class="pln"><a href="#n49">49</a></p>
+<p id="n50" class="pln"><a href="#n50">50</a></p>
+<p id="n51" class="pln"><a href="#n51">51</a></p>
+<p id="n52" class="stm run hide_run"><a href="#n52">52</a></p>
+<p id="n53" class="pln"><a href="#n53">53</a></p>
+<p id="n54" class="stm run hide_run"><a href="#n54">54</a></p>
+<p id="n55" class="pln"><a href="#n55">55</a></p>
+<p id="n56" class="pln"><a href="#n56">56</a></p>
+<p id="n57" class="stm run hide_run"><a href="#n57">57</a></p>
+<p id="n58" class="stm run hide_run"><a href="#n58">58</a></p>
+<p id="n59" class="stm run hide_run"><a href="#n59">59</a></p>
+<p id="n60" class="pln"><a href="#n60">60</a></p>
+<p id="n61" class="stm run hide_run"><a href="#n61">61</a></p>
+<p id="n62" class="pln"><a href="#n62">62</a></p>
+<p id="n63" class="stm run hide_run"><a href="#n63">63</a></p>
+<p id="n64" class="pln"><a href="#n64">64</a></p>
+<p id="n65" class="pln"><a href="#n65">65</a></p>
+<p id="n66" class="exc"><a href="#n66">66</a></p>
+<p id="n67" class="pln"><a href="#n67">67</a></p>
+<p id="n68" class="stm run hide_run"><a href="#n68">68</a></p>
+<p id="n69" class="pln"><a href="#n69">69</a></p>
+<p id="n70" class="pln"><a href="#n70">70</a></p>
+<p id="n71" class="exc"><a href="#n71">71</a></p>
+<p id="n72" class="pln"><a href="#n72">72</a></p>
+<p id="n73" class="stm run hide_run"><a href="#n73">73</a></p>
+<p id="n74" class="pln"><a href="#n74">74</a></p>
+<p id="n75" class="pln"><a href="#n75">75</a></p>
+<p id="n76" class="exc"><a href="#n76">76</a></p>
+<p id="n77" class="pln"><a href="#n77">77</a></p>
+<p id="n78" class="stm run hide_run"><a href="#n78">78</a></p>
+<p id="n79" class="pln"><a href="#n79">79</a></p>
+<p id="n80" class="pln"><a href="#n80">80</a></p>
+<p id="n81" class="stm run hide_run"><a href="#n81">81</a></p>
+<p id="n82" class="stm run hide_run"><a href="#n82">82</a></p>
+<p id="n83" class="stm run hide_run"><a href="#n83">83</a></p>
+<p id="n84" class="pln"><a href="#n84">84</a></p>
+<p id="n85" class="stm run hide_run"><a href="#n85">85</a></p>
+<p id="n86" class="pln"><a href="#n86">86</a></p>
+<p id="n87" class="pln"><a href="#n87">87</a></p>
+<p id="n88" class="stm run hide_run"><a href="#n88">88</a></p>
+<p id="n89" class="stm run hide_run"><a href="#n89">89</a></p>
+<p id="n90" class="stm run hide_run"><a href="#n90">90</a></p>
+<p id="n91" class="stm run hide_run"><a href="#n91">91</a></p>
+<p id="n92" class="pln"><a href="#n92">92</a></p>
+<p id="n93" class="stm run hide_run"><a href="#n93">93</a></p>
+<p id="n94" class="stm run hide_run"><a href="#n94">94</a></p>
+<p id="n95" class="pln"><a href="#n95">95</a></p>
+<p id="n96" class="stm run hide_run"><a href="#n96">96</a></p>
+<p id="n97" class="stm run hide_run"><a href="#n97">97</a></p>
+<p id="n98" class="pln"><a href="#n98">98</a></p>
+<p id="n99" class="pln"><a href="#n99">99</a></p>
+<p id="n100" class="stm run hide_run"><a href="#n100">100</a></p>
+<p id="n101" class="pln"><a href="#n101">101</a></p>
+<p id="n102" class="pln"><a href="#n102">102</a></p>
+<p id="n103" class="stm run hide_run"><a href="#n103">103</a></p>
+<p id="n104" class="stm run hide_run"><a href="#n104">104</a></p>
+<p id="n105" class="stm run hide_run"><a href="#n105">105</a></p>
+<p id="n106" class="stm run hide_run"><a href="#n106">106</a></p>
+<p id="n107" class="pln"><a href="#n107">107</a></p>
+<p id="n108" class="stm run hide_run"><a href="#n108">108</a></p>
+<p id="n109" class="stm run hide_run"><a href="#n109">109</a></p>
+<p id="n110" class="pln"><a href="#n110">110</a></p>
+<p id="n111" class="stm run hide_run"><a href="#n111">111</a></p>
+<p id="n112" class="stm run hide_run"><a href="#n112">112</a></p>
+<p id="n113" class="pln"><a href="#n113">113</a></p>
+<p id="n114" class="stm run hide_run"><a href="#n114">114</a></p>
+<p id="n115" class="pln"><a href="#n115">115</a></p>
+<p id="n116" class="pln"><a href="#n116">116</a></p>
+<p id="n117" class="pln"><a href="#n117">117</a></p>
+<p id="n118" class="pln"><a href="#n118">118</a></p>
+<p id="n119" class="pln"><a href="#n119">119</a></p>
+<p id="n120" class="stm run hide_run"><a href="#n120">120</a></p>
+<p id="n121" class="stm run hide_run"><a href="#n121">121</a></p>
+<p id="n122" class="stm run hide_run"><a href="#n122">122</a></p>
+<p id="n123" class="stm run hide_run"><a href="#n123">123</a></p>
+<p id="n124" class="pln"><a href="#n124">124</a></p>
+<p id="n125" class="stm run hide_run"><a href="#n125">125</a></p>
+<p id="n126" class="pln"><a href="#n126">126</a></p>
+<p id="n127" class="stm run hide_run"><a href="#n127">127</a></p>
+<p id="n128" class="pln"><a href="#n128">128</a></p>
+<p id="n129" class="stm run hide_run"><a href="#n129">129</a></p>
+<p id="n130" class="pln"><a href="#n130">130</a></p>
+<p id="n131" class="stm run hide_run"><a href="#n131">131</a></p>
+<p id="n132" class="stm run hide_run"><a href="#n132">132</a></p>
+<p id="n133" class="stm run hide_run"><a href="#n133">133</a></p>
+<p id="n134" class="pln"><a href="#n134">134</a></p>
+<p id="n135" class="pln"><a href="#n135">135</a></p>
+<p id="n136" class="stm run hide_run"><a href="#n136">136</a></p>
+<p id="n137" class="stm run hide_run"><a href="#n137">137</a></p>
+<p id="n138" class="pln"><a href="#n138">138</a></p>
+<p id="n139" class="pln"><a href="#n139">139</a></p>
+<p id="n140" class="stm run hide_run"><a href="#n140">140</a></p>
+<p id="n141" class="stm run hide_run"><a href="#n141">141</a></p>
+<p id="n142" class="stm run hide_run"><a href="#n142">142</a></p>
+<p id="n143" class="stm run hide_run"><a href="#n143">143</a></p>
+<p id="n144" class="pln"><a href="#n144">144</a></p>
+<p id="n145" class="stm run hide_run"><a href="#n145">145</a></p>
+<p id="n146" class="stm run hide_run"><a href="#n146">146</a></p>
+<p id="n147" class="pln"><a href="#n147">147</a></p>
+<p id="n148" class="pln"><a href="#n148">148</a></p>
+<p id="n149" class="pln"><a href="#n149">149</a></p>
+<p id="n150" class="pln"><a href="#n150">150</a></p>
+<p id="n151" class="stm run hide_run"><a href="#n151">151</a></p>
+<p id="n152" class="stm run hide_run"><a href="#n152">152</a></p>
+<p id="n153" class="pln"><a href="#n153">153</a></p>
+<p id="n154" class="stm run hide_run"><a href="#n154">154</a></p>
+<p id="n155" class="pln"><a href="#n155">155</a></p>
+<p id="n156" class="stm run hide_run"><a href="#n156">156</a></p>
+<p id="n157" class="stm run hide_run"><a href="#n157">157</a></p>
+<p id="n158" class="pln"><a href="#n158">158</a></p>
+<p id="n159" class="stm run hide_run"><a href="#n159">159</a></p>
+<p id="n160" class="pln"><a href="#n160">160</a></p>
+<p id="n161" class="pln"><a href="#n161">161</a></p>
+<p id="n162" class="stm run hide_run"><a href="#n162">162</a></p>
+<p id="n163" class="stm run hide_run"><a href="#n163">163</a></p>
+<p id="n164" class="stm run hide_run"><a href="#n164">164</a></p>
+<p id="n165" class="stm run hide_run"><a href="#n165">165</a></p>
+<p id="n166" class="stm par run hide_run"><a href="#n166">166</a></p>
+<p id="n167" class="stm run hide_run"><a href="#n167">167</a></p>
+<p id="n168" class="stm run hide_run"><a href="#n168">168</a></p>
+<p id="n169" class="stm run hide_run"><a href="#n169">169</a></p>
+<p id="n170" class="stm run hide_run"><a href="#n170">170</a></p>
+<p id="n171" class="stm run hide_run"><a href="#n171">171</a></p>
+<p id="n172" class="pln"><a href="#n172">172</a></p>
+<p id="n173" class="stm run hide_run"><a href="#n173">173</a></p>
+<p id="n174" class="pln"><a href="#n174">174</a></p>
+<p id="n175" class="pln"><a href="#n175">175</a></p>
+<p id="n176" class="stm run hide_run"><a href="#n176">176</a></p>
+<p id="n177" class="stm run hide_run"><a href="#n177">177</a></p>
+<p id="n178" class="pln"><a href="#n178">178</a></p>
+<p id="n179" class="stm run hide_run"><a href="#n179">179</a></p>
+<p id="n180" class="pln"><a href="#n180">180</a></p>
+<p id="n181" class="pln"><a href="#n181">181</a></p>
+<p id="n182" class="pln"><a href="#n182">182</a></p>
+<p id="n183" class="pln"><a href="#n183">183</a></p>
+<p id="n184" class="pln"><a href="#n184">184</a></p>
+<p id="n185" class="stm run hide_run"><a href="#n185">185</a></p>
+<p id="n186" class="pln"><a href="#n186">186</a></p>
+<p id="n187" class="pln"><a href="#n187">187</a></p>
+<p id="n188" class="stm run hide_run"><a href="#n188">188</a></p>
+<p id="n189" class="pln"><a href="#n189">189</a></p>
+<p id="n190" class="pln"><a href="#n190">190</a></p>
+<p id="n191" class="stm run hide_run"><a href="#n191">191</a></p>
+<p id="n192" class="stm run hide_run"><a href="#n192">192</a></p>
+<p id="n193" class="stm run hide_run"><a href="#n193">193</a></p>
+<p id="n194" class="pln"><a href="#n194">194</a></p>
+<p id="n195" class="stm run hide_run"><a href="#n195">195</a></p>
+<p id="n196" class="stm run hide_run"><a href="#n196">196</a></p>
+<p id="n197" class="stm run hide_run"><a href="#n197">197</a></p>
+<p id="n198" class="stm run hide_run"><a href="#n198">198</a></p>
+<p id="n199" class="stm run hide_run"><a href="#n199">199</a></p>
+<p id="n200" class="pln"><a href="#n200">200</a></p>
+<p id="n201" class="stm run hide_run"><a href="#n201">201</a></p>
+<p id="n202" class="stm run hide_run"><a href="#n202">202</a></p>
+<p id="n203" class="pln"><a href="#n203">203</a></p>
+<p id="n204" class="pln"><a href="#n204">204</a></p>
+<p id="n205" class="stm run hide_run"><a href="#n205">205</a></p>
+<p id="n206" class="pln"><a href="#n206">206</a></p>
+<p id="n207" class="pln"><a href="#n207">207</a></p>
+<p id="n208" class="stm run hide_run"><a href="#n208">208</a></p>
+<p id="n209" class="pln"><a href="#n209">209</a></p>
+<p id="n210" class="stm run hide_run"><a href="#n210">210</a></p>
+<p id="n211" class="stm run hide_run"><a href="#n211">211</a></p>
+<p id="n212" class="stm run hide_run"><a href="#n212">212</a></p>
+<p id="n213" class="stm run hide_run"><a href="#n213">213</a></p>
+<p id="n214" class="stm run hide_run"><a href="#n214">214</a></p>
+<p id="n215" class="stm run hide_run"><a href="#n215">215</a></p>
+<p id="n216" class="stm run hide_run"><a href="#n216">216</a></p>
+<p id="n217" class="stm run hide_run"><a href="#n217">217</a></p>
+<p id="n218" class="stm run hide_run"><a href="#n218">218</a></p>
+<p id="n219" class="stm run hide_run"><a href="#n219">219</a></p>
+<p id="n220" class="stm run hide_run"><a href="#n220">220</a></p>
+<p id="n221" class="stm run hide_run"><a href="#n221">221</a></p>
+<p id="n222" class="stm run hide_run"><a href="#n222">222</a></p>
+<p id="n223" class="stm run hide_run"><a href="#n223">223</a></p>
+<p id="n224" class="stm run hide_run"><a href="#n224">224</a></p>
+<p id="n225" class="stm run hide_run"><a href="#n225">225</a></p>
+<p id="n226" class="stm run hide_run"><a href="#n226">226</a></p>
+<p id="n227" class="stm run hide_run"><a href="#n227">227</a></p>
+<p id="n228" class="stm run hide_run"><a href="#n228">228</a></p>
+<p id="n229" class="pln"><a href="#n229">229</a></p>
+<p id="n230" class="stm run hide_run"><a href="#n230">230</a></p>
+<p id="n231" class="pln"><a href="#n231">231</a></p>
+<p id="n232" class="pln"><a href="#n232">232</a></p>
+<p id="n233" class="stm run hide_run"><a href="#n233">233</a></p>
+<p id="n234" class="pln"><a href="#n234">234</a></p>
+<p id="n235" class="stm run hide_run"><a href="#n235">235</a></p>
+<p id="n236" class="pln"><a href="#n236">236</a></p>
+<p id="n237" class="pln"><a href="#n237">237</a></p>
+<p id="n238" class="stm run hide_run"><a href="#n238">238</a></p>
+<p id="n239" class="pln"><a href="#n239">239</a></p>
+<p id="n240" class="stm run hide_run"><a href="#n240">240</a></p>
+<p id="n241" class="pln"><a href="#n241">241</a></p>
+<p id="n242" class="pln"><a href="#n242">242</a></p>
+<p id="n243" class="stm run hide_run"><a href="#n243">243</a></p>
+<p id="n244" class="stm run hide_run"><a href="#n244">244</a></p>
+<p id="n245" class="pln"><a href="#n245">245</a></p>
+<p id="n246" class="stm run hide_run"><a href="#n246">246</a></p>
+<p id="n247" class="pln"><a href="#n247">247</a></p>
+<p id="n248" class="stm run hide_run"><a href="#n248">248</a></p>
+<p id="n249" class="stm run hide_run"><a href="#n249">249</a></p>
+<p id="n250" class="pln"><a href="#n250">250</a></p>
+<p id="n251" class="pln"><a href="#n251">251</a></p>
+<p id="n252" class="pln"><a href="#n252">252</a></p>
+<p id="n253" class="pln"><a href="#n253">253</a></p>
+<p id="n254" class="pln"><a href="#n254">254</a></p>
+<p id="n255" class="pln"><a href="#n255">255</a></p>
+<p id="n256" class="pln"><a href="#n256">256</a></p>
+<p id="n257" class="stm run hide_run"><a href="#n257">257</a></p>
+<p id="n258" class="stm run hide_run"><a href="#n258">258</a></p>
+<p id="n259" class="pln"><a href="#n259">259</a></p>
+<p id="n260" class="pln"><a href="#n260">260</a></p>
+<p id="n261" class="stm run hide_run"><a href="#n261">261</a></p>
+<p id="n262" class="stm run hide_run"><a href="#n262">262</a></p>
+<p id="n263" class="stm run hide_run"><a href="#n263">263</a></p>
+<p id="n264" class="stm run hide_run"><a href="#n264">264</a></p>
+<p id="n265" class="stm run hide_run"><a href="#n265">265</a></p>
+<p id="n266" class="stm run hide_run"><a href="#n266">266</a></p>
+<p id="n267" class="stm run hide_run"><a href="#n267">267</a></p>
+<p id="n268" class="stm run hide_run"><a href="#n268">268</a></p>
+<p id="n269" class="stm run hide_run"><a href="#n269">269</a></p>
+<p id="n270" class="stm run hide_run"><a href="#n270">270</a></p>
+<p id="n271" class="stm run hide_run"><a href="#n271">271</a></p>
+<p id="n272" class="stm run hide_run"><a href="#n272">272</a></p>
+<p id="n273" class="stm run hide_run"><a href="#n273">273</a></p>
+<p id="n274" class="stm run hide_run"><a href="#n274">274</a></p>
+<p id="n275" class="stm run hide_run"><a href="#n275">275</a></p>
+<p id="n276" class="stm run hide_run"><a href="#n276">276</a></p>
+<p id="n277" class="stm run hide_run"><a href="#n277">277</a></p>
+<p id="n278" class="stm run hide_run"><a href="#n278">278</a></p>
+<p id="n279" class="stm run hide_run"><a href="#n279">279</a></p>
+<p id="n280" class="stm run hide_run"><a href="#n280">280</a></p>
+<p id="n281" class="stm run hide_run"><a href="#n281">281</a></p>
+<p id="n282" class="stm run hide_run"><a href="#n282">282</a></p>
+<p id="n283" class="stm run hide_run"><a href="#n283">283</a></p>
+<p id="n284" class="stm run hide_run"><a href="#n284">284</a></p>
+<p id="n285" class="stm run hide_run"><a href="#n285">285</a></p>
+<p id="n286" class="stm run hide_run"><a href="#n286">286</a></p>
+<p id="n287" class="stm run hide_run"><a href="#n287">287</a></p>
+<p id="n288" class="stm run hide_run"><a href="#n288">288</a></p>
+<p id="n289" class="stm run hide_run"><a href="#n289">289</a></p>
+<p id="n290" class="stm run hide_run"><a href="#n290">290</a></p>
+<p id="n291" class="stm run hide_run"><a href="#n291">291</a></p>
+<p id="n292" class="stm run hide_run"><a href="#n292">292</a></p>
+<p id="n293" class="stm run hide_run"><a href="#n293">293</a></p>
+<p id="n294" class="stm run hide_run"><a href="#n294">294</a></p>
+<p id="n295" class="stm run hide_run"><a href="#n295">295</a></p>
+<p id="n296" class="stm run hide_run"><a href="#n296">296</a></p>
+<p id="n297" class="pln"><a href="#n297">297</a></p>
+<p id="n298" class="pln"><a href="#n298">298</a></p>
+<p id="n299" class="pln"><a href="#n299">299</a></p>
+<p id="n300" class="exc"><a href="#n300">300</a></p>
+<p id="n301" class="pln"><a href="#n301">301</a></p>
+<p id="n302" class="stm run hide_run"><a href="#n302">302</a></p>
+<p id="n303" class="stm run hide_run"><a href="#n303">303</a></p>
+<p id="n304" class="stm run hide_run"><a href="#n304">304</a></p>
+<p id="n305" class="stm run hide_run"><a href="#n305">305</a></p>
+<p id="n306" class="stm run hide_run"><a href="#n306">306</a></p>
+<p id="n307" class="pln"><a href="#n307">307</a></p>
+<p id="n308" class="pln"><a href="#n308">308</a></p>
+<p id="n309" class="pln"><a href="#n309">309</a></p>
+<p id="n310" class="stm run hide_run"><a href="#n310">310</a></p>
+<p id="n311" class="pln"><a href="#n311">311</a></p>
+<p id="n312" class="pln"><a href="#n312">312</a></p>
+<p id="n313" class="stm run hide_run"><a href="#n313">313</a></p>
+<p id="n314" class="stm run hide_run"><a href="#n314">314</a></p>
+<p id="n315" class="pln"><a href="#n315">315</a></p>
+<p id="n316" class="stm run hide_run"><a href="#n316">316</a></p>
+<p id="n317" class="stm run hide_run"><a href="#n317">317</a></p>
+<p id="n318" class="pln"><a href="#n318">318</a></p>
+<p id="n319" class="pln"><a href="#n319">319</a></p>
+<p id="n320" class="stm run hide_run"><a href="#n320">320</a></p>
+<p id="n321" class="pln"><a href="#n321">321</a></p>
+<p id="n322" class="pln"><a href="#n322">322</a></p>
+<p id="n323" class="stm run hide_run"><a href="#n323">323</a></p>
+<p id="n324" class="stm run hide_run"><a href="#n324">324</a></p>
+<p id="n325" class="stm run hide_run"><a href="#n325">325</a></p>
+<p id="n326" class="stm run hide_run"><a href="#n326">326</a></p>
+<p id="n327" class="stm run hide_run"><a href="#n327">327</a></p>
+<p id="n328" class="pln"><a href="#n328">328</a></p>
+<p id="n329" class="stm run hide_run"><a href="#n329">329</a></p>
+<p id="n330" class="stm run hide_run"><a href="#n330">330</a></p>
+<p id="n331" class="stm run hide_run"><a href="#n331">331</a></p>
+<p id="n332" class="stm run hide_run"><a href="#n332">332</a></p>
+<p id="n333" class="pln"><a href="#n333">333</a></p>
+<p id="n334" class="stm run hide_run"><a href="#n334">334</a></p>
+<p id="n335" class="stm run hide_run"><a href="#n335">335</a></p>
+<p id="n336" class="pln"><a href="#n336">336</a></p>
+<p id="n337" class="stm run hide_run"><a href="#n337">337</a></p>
+<p id="n338" class="stm run hide_run"><a href="#n338">338</a></p>
+<p id="n339" class="pln"><a href="#n339">339</a></p>
+<p id="n340" class="stm run hide_run"><a href="#n340">340</a></p>
+<p id="n341" class="stm run hide_run"><a href="#n341">341</a></p>
+<p id="n342" class="pln"><a href="#n342">342</a></p>
+<p id="n343" class="stm run hide_run"><a href="#n343">343</a></p>
+<p id="n344" class="stm run hide_run"><a href="#n344">344</a></p>
+<p id="n345" class="pln"><a href="#n345">345</a></p>
+<p id="n346" class="stm run hide_run"><a href="#n346">346</a></p>
+<p id="n347" class="pln"><a href="#n347">347</a></p>
+<p id="n348" class="pln"><a href="#n348">348</a></p>
+<p id="n349" class="pln"><a href="#n349">349</a></p>
+<p id="n350" class="stm run hide_run"><a href="#n350">350</a></p>
+<p id="n351" class="stm run hide_run"><a href="#n351">351</a></p>
+<p id="n352" class="stm run hide_run"><a href="#n352">352</a></p>
+<p id="n353" class="pln"><a href="#n353">353</a></p>
+<p id="n354" class="stm run hide_run"><a href="#n354">354</a></p>
+<p id="n355" class="pln"><a href="#n355">355</a></p>
+<p id="n356" class="pln"><a href="#n356">356</a></p>
+<p id="n357" class="stm run hide_run"><a href="#n357">357</a></p>
+<p id="n358" class="stm run hide_run"><a href="#n358">358</a></p>
+<p id="n359" class="stm par run hide_run"><a href="#n359">359</a></p>
+<p id="n360" class="stm mis"><a href="#n360">360</a></p>
+<p id="n361" class="stm run hide_run"><a href="#n361">361</a></p>
+<p id="n362" class="stm par run hide_run"><a href="#n362">362</a></p>
+<p id="n363" class="stm mis"><a href="#n363">363</a></p>
+<p id="n364" class="pln"><a href="#n364">364</a></p>
+<p id="n365" class="stm run hide_run"><a href="#n365">365</a></p>
+<p id="n366" class="stm run hide_run"><a href="#n366">366</a></p>
+<p id="n367" class="pln"><a href="#n367">367</a></p>
+<p id="n368" class="stm run hide_run"><a href="#n368">368</a></p>
+<p id="n369" class="pln"><a href="#n369">369</a></p>
+<p id="n370" class="stm run hide_run"><a href="#n370">370</a></p>
+<p id="n371" class="stm run hide_run"><a href="#n371">371</a></p>
+<p id="n372" class="pln"><a href="#n372">372</a></p>
+<p id="n373" class="stm run hide_run"><a href="#n373">373</a></p>
+<p id="n374" class="stm par run hide_run"><a href="#n374">374</a></p>
+<p id="n375" class="stm mis"><a href="#n375">375</a></p>
+<p id="n376" class="stm run hide_run"><a href="#n376">376</a></p>
+<p id="n377" class="pln"><a href="#n377">377</a></p>
+<p id="n378" class="stm run hide_run"><a href="#n378">378</a></p>
+<p id="n379" class="pln"><a href="#n379">379</a></p>
+<p id="n380" class="pln"><a href="#n380">380</a></p>
+<p id="n381" class="pln"><a href="#n381">381</a></p>
+<p id="n382" class="pln"><a href="#n382">382</a></p>
+<p id="n383" class="stm run hide_run"><a href="#n383">383</a></p>
+<p id="n384" class="stm run hide_run"><a href="#n384">384</a></p>
+<p id="n385" class="stm run hide_run"><a href="#n385">385</a></p>
+<p id="n386" class="pln"><a href="#n386">386</a></p>
+<p id="n387" class="stm run hide_run"><a href="#n387">387</a></p>
+<p id="n388" class="pln"><a href="#n388">388</a></p>
+<p id="n389" class="stm run hide_run"><a href="#n389">389</a></p>
+<p id="n390" class="stm run hide_run"><a href="#n390">390</a></p>
+<p id="n391" class="stm run hide_run"><a href="#n391">391</a></p>
+<p id="n392" class="pln"><a href="#n392">392</a></p>
+<p id="n393" class="stm run hide_run"><a href="#n393">393</a></p>
+<p id="n394" class="stm run hide_run"><a href="#n394">394</a></p>
+<p id="n395" class="pln"><a href="#n395">395</a></p>
+<p id="n396" class="stm run hide_run"><a href="#n396">396</a></p>
+<p id="n397" class="stm run hide_run"><a href="#n397">397</a></p>
+<p id="n398" class="pln"><a href="#n398">398</a></p>
+<p id="n399" class="stm run hide_run"><a href="#n399">399</a></p>
+<p id="n400" class="pln"><a href="#n400">400</a></p>
+<p id="n401" class="stm run hide_run"><a href="#n401">401</a></p>
+<p id="n402" class="stm run hide_run"><a href="#n402">402</a></p>
+<p id="n403" class="pln"><a href="#n403">403</a></p>
+<p id="n404" class="pln"><a href="#n404">404</a></p>
+<p id="n405" class="stm run hide_run"><a href="#n405">405</a></p>
+<p id="n406" class="stm run hide_run"><a href="#n406">406</a></p>
+<p id="n407" class="pln"><a href="#n407">407</a></p>
+<p id="n408" class="pln"><a href="#n408">408</a></p>
+<p id="n409" class="stm run hide_run"><a href="#n409">409</a></p>
+<p id="n410" class="pln"><a href="#n410">410</a></p>
+<p id="n411" class="pln"><a href="#n411">411</a></p>
+<p id="n412" class="stm run hide_run"><a href="#n412">412</a></p>
+<p id="n413" class="stm run hide_run"><a href="#n413">413</a></p>
+<p id="n414" class="pln"><a href="#n414">414</a></p>
+<p id="n415" class="stm run hide_run"><a href="#n415">415</a></p>
+<p id="n416" class="stm run hide_run"><a href="#n416">416</a></p>
+<p id="n417" class="stm run hide_run"><a href="#n417">417</a></p>
+<p id="n418" class="pln"><a href="#n418">418</a></p>
+<p id="n419" class="stm run hide_run"><a href="#n419">419</a></p>
+<p id="n420" class="stm run hide_run"><a href="#n420">420</a></p>
+<p id="n421" class="pln"><a href="#n421">421</a></p>
+<p id="n422" class="stm run hide_run"><a href="#n422">422</a></p>
+<p id="n423" class="stm run hide_run"><a href="#n423">423</a></p>
+<p id="n424" class="stm run hide_run"><a href="#n424">424</a></p>
+<p id="n425" class="stm run hide_run"><a href="#n425">425</a></p>
+<p id="n426" class="stm run hide_run"><a href="#n426">426</a></p>
+<p id="n427" class="stm run hide_run"><a href="#n427">427</a></p>
+<p id="n428" class="pln"><a href="#n428">428</a></p>
+<p id="n429" class="pln"><a href="#n429">429</a></p>
+<p id="n430" class="stm run hide_run"><a href="#n430">430</a></p>
+<p id="n431" class="stm run hide_run"><a href="#n431">431</a></p>
+<p id="n432" class="stm run hide_run"><a href="#n432">432</a></p>
+<p id="n433" class="stm run hide_run"><a href="#n433">433</a></p>
+<p id="n434" class="stm run hide_run"><a href="#n434">434</a></p>
+<p id="n435" class="pln"><a href="#n435">435</a></p>
+<p id="n436" class="pln"><a href="#n436">436</a></p>
+<p id="n437" class="pln"><a href="#n437">437</a></p>
+<p id="n438" class="stm run hide_run"><a href="#n438">438</a></p>
+<p id="n439" class="stm run hide_run"><a href="#n439">439</a></p>
+<p id="n440" class="stm run hide_run"><a href="#n440">440</a></p>
+<p id="n441" class="stm run hide_run"><a href="#n441">441</a></p>
+<p id="n442" class="stm run hide_run"><a href="#n442">442</a></p>
+<p id="n443" class="pln"><a href="#n443">443</a></p>
+<p id="n444" class="pln"><a href="#n444">444</a></p>
+<p id="n445" class="stm run hide_run"><a href="#n445">445</a></p>
+<p id="n446" class="stm run hide_run"><a href="#n446">446</a></p>
+<p id="n447" class="pln"><a href="#n447">447</a></p>
+<p id="n448" class="pln"><a href="#n448">448</a></p>
+<p id="n449" class="stm run hide_run"><a href="#n449">449</a></p>
+<p id="n450" class="pln"><a href="#n450">450</a></p>
+<p id="n451" class="pln"><a href="#n451">451</a></p>
+<p id="n452" class="stm run hide_run"><a href="#n452">452</a></p>
+<p id="n453" class="stm run hide_run"><a href="#n453">453</a></p>
+<p id="n454" class="stm run hide_run"><a href="#n454">454</a></p>
+<p id="n455" class="pln"><a href="#n455">455</a></p>
+<p id="n456" class="stm run hide_run"><a href="#n456">456</a></p>
+<p id="n457" class="stm run hide_run"><a href="#n457">457</a></p>
+<p id="n458" class="pln"><a href="#n458">458</a></p>
+<p id="n459" class="stm run hide_run"><a href="#n459">459</a></p>
+<p id="n460" class="stm run hide_run"><a href="#n460">460</a></p>
+<p id="n461" class="stm run hide_run"><a href="#n461">461</a></p>
+<p id="n462" class="stm run hide_run"><a href="#n462">462</a></p>
+<p id="n463" class="stm run hide_run"><a href="#n463">463</a></p>
+<p id="n464" class="stm run hide_run"><a href="#n464">464</a></p>
+<p id="n465" class="pln"><a href="#n465">465</a></p>
+<p id="n466" class="pln"><a href="#n466">466</a></p>
+<p id="n467" class="pln"><a href="#n467">467</a></p>
+<p id="n468" class="stm run hide_run"><a href="#n468">468</a></p>
+<p id="n469" class="stm run hide_run"><a href="#n469">469</a></p>
+<p id="n470" class="stm run hide_run"><a href="#n470">470</a></p>
+<p id="n471" class="pln"><a href="#n471">471</a></p>
+<p id="n472" class="stm run hide_run"><a href="#n472">472</a></p>
+<p id="n473" class="pln"><a href="#n473">473</a></p>
+<p id="n474" class="pln"><a href="#n474">474</a></p>
+<p id="n475" class="pln"><a href="#n475">475</a></p>
+<p id="n476" class="stm run hide_run"><a href="#n476">476</a></p>
+<p id="n477" class="stm run hide_run"><a href="#n477">477</a></p>
+<p id="n478" class="stm run hide_run"><a href="#n478">478</a></p>
+<p id="n479" class="stm run hide_run"><a href="#n479">479</a></p>
+<p id="n480" class="stm run hide_run"><a href="#n480">480</a></p>
+<p id="n481" class="pln"><a href="#n481">481</a></p>
+<p id="n482" class="stm run hide_run"><a href="#n482">482</a></p>
+<p id="n483" class="stm run hide_run"><a href="#n483">483</a></p>
+<p id="n484" class="pln"><a href="#n484">484</a></p>
+<p id="n485" class="stm run hide_run"><a href="#n485">485</a></p>
+<p id="n486" class="stm run hide_run"><a href="#n486">486</a></p>
+<p id="n487" class="stm run hide_run"><a href="#n487">487</a></p>
+<p id="n488" class="stm run hide_run"><a href="#n488">488</a></p>
+<p id="n489" class="pln"><a href="#n489">489</a></p>
+<p id="n490" class="stm run hide_run"><a href="#n490">490</a></p>
+<p id="n491" class="pln"><a href="#n491">491</a></p>
+<p id="n492" class="stm run hide_run"><a href="#n492">492</a></p>
+<p id="n493" class="pln"><a href="#n493">493</a></p>
+<p id="n494" class="pln"><a href="#n494">494</a></p>
+<p id="n495" class="pln"><a href="#n495">495</a></p>
+<p id="n496" class="stm run hide_run"><a href="#n496">496</a></p>
+<p id="n497" class="pln"><a href="#n497">497</a></p>
+<p id="n498" class="pln"><a href="#n498">498</a></p>
+<p id="n499" class="pln"><a href="#n499">499</a></p>
+<p id="n500" class="stm run hide_run"><a href="#n500">500</a></p>
+<p id="n501" class="stm run hide_run"><a href="#n501">501</a></p>
+<p id="n502" class="stm run hide_run"><a href="#n502">502</a></p>
+<p id="n503" class="stm run hide_run"><a href="#n503">503</a></p>
+<p id="n504" class="stm run hide_run"><a href="#n504">504</a></p>
+<p id="n505" class="stm run hide_run"><a href="#n505">505</a></p>
+<p id="n506" class="stm run hide_run"><a href="#n506">506</a></p>
+<p id="n507" class="stm run hide_run"><a href="#n507">507</a></p>
+<p id="n508" class="pln"><a href="#n508">508</a></p>
+<p id="n509" class="stm run hide_run"><a href="#n509">509</a></p>
+<p id="n510" class="pln"><a href="#n510">510</a></p>
+<p id="n511" class="pln"><a href="#n511">511</a></p>
+<p id="n512" class="stm run hide_run"><a href="#n512">512</a></p>
+<p id="n513" class="stm run hide_run"><a href="#n513">513</a></p>
+<p id="n514" class="stm run hide_run"><a href="#n514">514</a></p>
+<p id="n515" class="stm run hide_run"><a href="#n515">515</a></p>
+<p id="n516" class="stm run hide_run"><a href="#n516">516</a></p>
+<p id="n517" class="stm run hide_run"><a href="#n517">517</a></p>
+<p id="n518" class="pln"><a href="#n518">518</a></p>
+<p id="n519" class="pln"><a href="#n519">519</a></p>
+<p id="n520" class="stm run hide_run"><a href="#n520">520</a></p>
+<p id="n521" class="pln"><a href="#n521">521</a></p>
+<p id="n522" class="pln"><a href="#n522">522</a></p>
+<p id="n523" class="stm run hide_run"><a href="#n523">523</a></p>
+<p id="n524" class="stm run hide_run"><a href="#n524">524</a></p>
+<p id="n525" class="pln"><a href="#n525">525</a></p>
+<p id="n526" class="pln"><a href="#n526">526</a></p>
+<p id="n527" class="pln"><a href="#n527">527</a></p>
+<p id="n528" class="stm run hide_run"><a href="#n528">528</a></p>
+<p id="n529" class="stm run hide_run"><a href="#n529">529</a></p>
+<p id="n530" class="pln"><a href="#n530">530</a></p>
+<p id="n531" class="stm run hide_run"><a href="#n531">531</a></p>
+<p id="n532" class="stm run hide_run"><a href="#n532">532</a></p>
+<p id="n533" class="stm run hide_run"><a href="#n533">533</a></p>
+<p id="n534" class="pln"><a href="#n534">534</a></p>
+<p id="n535" class="stm run hide_run"><a href="#n535">535</a></p>
+<p id="n536" class="stm run hide_run"><a href="#n536">536</a></p>
+<p id="n537" class="pln"><a href="#n537">537</a></p>
+<p id="n538" class="stm run hide_run"><a href="#n538">538</a></p>
+<p id="n539" class="stm run hide_run"><a href="#n539">539</a></p>
+<p id="n540" class="stm run hide_run"><a href="#n540">540</a></p>
+<p id="n541" class="stm run hide_run"><a href="#n541">541</a></p>
+<p id="n542" class="pln"><a href="#n542">542</a></p>
+<p id="n543" class="pln"><a href="#n543">543</a></p>
+<p id="n544" class="pln"><a href="#n544">544</a></p>
+<p id="n545" class="stm run hide_run"><a href="#n545">545</a></p>
+<p id="n546" class="pln"><a href="#n546">546</a></p>
+<p id="n547" class="stm run hide_run"><a href="#n547">547</a></p>
+<p id="n548" class="pln"><a href="#n548">548</a></p>
+<p id="n549" class="pln"><a href="#n549">549</a></p>
+<p id="n550" class="pln"><a href="#n550">550</a></p>
+<p id="n551" class="stm run hide_run"><a href="#n551">551</a></p>
+<p id="n552" class="pln"><a href="#n552">552</a></p>
+<p id="n553" class="stm run hide_run"><a href="#n553">553</a></p>
+<p id="n554" class="stm run hide_run"><a href="#n554">554</a></p>
+<p id="n555" class="stm run hide_run"><a href="#n555">555</a></p>
+<p id="n556" class="pln"><a href="#n556">556</a></p>
+<p id="n557" class="stm run hide_run"><a href="#n557">557</a></p>
+<p id="n558" class="pln"><a href="#n558">558</a></p>
+<p id="n559" class="pln"><a href="#n559">559</a></p>
+<p id="n560" class="pln"><a href="#n560">560</a></p>
+<p id="n561" class="stm run hide_run"><a href="#n561">561</a></p>
+<p id="n562" class="stm run hide_run"><a href="#n562">562</a></p>
+<p id="n563" class="stm run hide_run"><a href="#n563">563</a></p>
+<p id="n564" class="stm run hide_run"><a href="#n564">564</a></p>
+<p id="n565" class="pln"><a href="#n565">565</a></p>
+<p id="n566" class="stm run hide_run"><a href="#n566">566</a></p>
+<p id="n567" class="pln"><a href="#n567">567</a></p>
+<p id="n568" class="pln"><a href="#n568">568</a></p>
+<p id="n569" class="stm run hide_run"><a href="#n569">569</a></p>
+<p id="n570" class="pln"><a href="#n570">570</a></p>
+<p id="n571" class="stm run hide_run"><a href="#n571">571</a></p>
+<p id="n572" class="pln"><a href="#n572">572</a></p>
+<p id="n573" class="stm run hide_run"><a href="#n573">573</a></p>
+<p id="n574" class="stm run hide_run"><a href="#n574">574</a></p>
+<p id="n575" class="stm run hide_run"><a href="#n575">575</a></p>
+<p id="n576" class="stm run hide_run"><a href="#n576">576</a></p>
+<p id="n577" class="pln"><a href="#n577">577</a></p>
+<p id="n578" class="pln"><a href="#n578">578</a></p>
+<p id="n579" class="stm run hide_run"><a href="#n579">579</a></p>
+<p id="n580" class="stm run hide_run"><a href="#n580">580</a></p>
+<p id="n581" class="stm run hide_run"><a href="#n581">581</a></p>
+<p id="n582" class="stm run hide_run"><a href="#n582">582</a></p>
+<p id="n583" class="pln"><a href="#n583">583</a></p>
+<p id="n584" class="stm run hide_run"><a href="#n584">584</a></p>
+<p id="n585" class="stm run hide_run"><a href="#n585">585</a></p>
+<p id="n586" class="stm run hide_run"><a href="#n586">586</a></p>
+<p id="n587" class="pln"><a href="#n587">587</a></p>
+<p id="n588" class="stm run hide_run"><a href="#n588">588</a></p>
+<p id="n589" class="stm run hide_run"><a href="#n589">589</a></p>
+<p id="n590" class="stm run hide_run"><a href="#n590">590</a></p>
+<p id="n591" class="stm run hide_run"><a href="#n591">591</a></p>
+<p id="n592" class="pln"><a href="#n592">592</a></p>
+<p id="n593" class="stm run hide_run"><a href="#n593">593</a></p>
+<p id="n594" class="stm run hide_run"><a href="#n594">594</a></p>
+<p id="n595" class="stm run hide_run"><a href="#n595">595</a></p>
+<p id="n596" class="pln"><a href="#n596">596</a></p>
+<p id="n597" class="stm run hide_run"><a href="#n597">597</a></p>
+<p id="n598" class="pln"><a href="#n598">598</a></p>
+<p id="n599" class="pln"><a href="#n599">599</a></p>
+<p id="n600" class="pln"><a href="#n600">600</a></p>
+<p id="n601" class="stm run hide_run"><a href="#n601">601</a></p>
+<p id="n602" class="stm run hide_run"><a href="#n602">602</a></p>
+<p id="n603" class="pln"><a href="#n603">603</a></p>
+<p id="n604" class="stm run hide_run"><a href="#n604">604</a></p>
+<p id="n605" class="stm run hide_run"><a href="#n605">605</a></p>
+<p id="n606" class="pln"><a href="#n606">606</a></p>
+<p id="n607" class="pln"><a href="#n607">607</a></p>
+<p id="n608" class="stm run hide_run"><a href="#n608">608</a></p>
+<p id="n609" class="pln"><a href="#n609">609</a></p>
+<p id="n610" class="pln"><a href="#n610">610</a></p>
+<p id="n611" class="stm run hide_run"><a href="#n611">611</a></p>
+<p id="n612" class="stm run hide_run"><a href="#n612">612</a></p>
+<p id="n613" class="stm run hide_run"><a href="#n613">613</a></p>
+<p id="n614" class="pln"><a href="#n614">614</a></p>
+<p id="n615" class="pln"><a href="#n615">615</a></p>
+<p id="n616" class="stm run hide_run"><a href="#n616">616</a></p>
+<p id="n617" class="stm run hide_run"><a href="#n617">617</a></p>
+<p id="n618" class="stm run hide_run"><a href="#n618">618</a></p>
+<p id="n619" class="pln"><a href="#n619">619</a></p>
+<p id="n620" class="stm run hide_run"><a href="#n620">620</a></p>
+<p id="n621" class="stm run hide_run"><a href="#n621">621</a></p>
+<p id="n622" class="stm run hide_run"><a href="#n622">622</a></p>
+<p id="n623" class="stm run hide_run"><a href="#n623">623</a></p>
+<p id="n624" class="stm run hide_run"><a href="#n624">624</a></p>
+<p id="n625" class="stm run hide_run"><a href="#n625">625</a></p>
+<p id="n626" class="stm run hide_run"><a href="#n626">626</a></p>
+<p id="n627" class="stm run hide_run"><a href="#n627">627</a></p>
+<p id="n628" class="stm run hide_run"><a href="#n628">628</a></p>
+<p id="n629" class="stm run hide_run"><a href="#n629">629</a></p>
+<p id="n630" class="stm run hide_run"><a href="#n630">630</a></p>
+<p id="n631" class="stm run hide_run"><a href="#n631">631</a></p>
+<p id="n632" class="pln"><a href="#n632">632</a></p>
+<p id="n633" class="pln"><a href="#n633">633</a></p>
+<p id="n634" class="pln"><a href="#n634">634</a></p>
+<p id="n635" class="pln"><a href="#n635">635</a></p>
+<p id="n636" class="pln"><a href="#n636">636</a></p>
+<p id="n637" class="stm run hide_run"><a href="#n637">637</a></p>
+<p id="n638" class="stm run hide_run"><a href="#n638">638</a></p>
+<p id="n639" class="pln"><a href="#n639">639</a></p>
+<p id="n640" class="stm run hide_run"><a href="#n640">640</a></p>
+<p id="n641" class="pln"><a href="#n641">641</a></p>
+<p id="n642" class="stm run hide_run"><a href="#n642">642</a></p>
+<p id="n643" class="pln"><a href="#n643">643</a></p>
+<p id="n644" class="stm run hide_run"><a href="#n644">644</a></p>
+<p id="n645" class="pln"><a href="#n645">645</a></p>
+<p id="n646" class="pln"><a href="#n646">646</a></p>
+<p id="n647" class="stm run hide_run"><a href="#n647">647</a></p>
+<p id="n648" class="stm run hide_run"><a href="#n648">648</a></p>
+<p id="n649" class="stm run hide_run"><a href="#n649">649</a></p>
+<p id="n650" class="stm run hide_run"><a href="#n650">650</a></p>
+<p id="n651" class="pln"><a href="#n651">651</a></p>
+<p id="n652" class="stm run hide_run"><a href="#n652">652</a></p>
+<p id="n653" class="stm run hide_run"><a href="#n653">653</a></p>
+<p id="n654" class="stm run hide_run"><a href="#n654">654</a></p>
+<p id="n655" class="pln"><a href="#n655">655</a></p>
+<p id="n656" class="stm run hide_run"><a href="#n656">656</a></p>
+<p id="n657" class="stm run hide_run"><a href="#n657">657</a></p>
+<p id="n658" class="stm run hide_run"><a href="#n658">658</a></p>
+<p id="n659" class="stm run hide_run"><a href="#n659">659</a></p>
+<p id="n660" class="pln"><a href="#n660">660</a></p>
+<p id="n661" class="stm run hide_run"><a href="#n661">661</a></p>
+<p id="n662" class="pln"><a href="#n662">662</a></p>
+<p id="n663" class="pln"><a href="#n663">663</a></p>
+<p id="n664" class="stm run hide_run"><a href="#n664">664</a></p>
+<p id="n665" class="stm run hide_run"><a href="#n665">665</a></p>
+<p id="n666" class="pln"><a href="#n666">666</a></p>
+<p id="n667" class="stm run hide_run"><a href="#n667">667</a></p>
+<p id="n668" class="stm run hide_run"><a href="#n668">668</a></p>
+<p id="n669" class="pln"><a href="#n669">669</a></p>
+<p id="n670" class="stm run hide_run"><a href="#n670">670</a></p>
+<p id="n671" class="stm run hide_run"><a href="#n671">671</a></p>
+<p id="n672" class="stm run hide_run"><a href="#n672">672</a></p>
+<p id="n673" class="stm run hide_run"><a href="#n673">673</a></p>
+<p id="n674" class="pln"><a href="#n674">674</a></p>
+<p id="n675" class="stm run hide_run"><a href="#n675">675</a></p>
+<p id="n676" class="pln"><a href="#n676">676</a></p>
+<p id="n677" class="stm run hide_run"><a href="#n677">677</a></p>
+<p id="n678" class="pln"><a href="#n678">678</a></p>
+<p id="n679" class="stm run hide_run"><a href="#n679">679</a></p>
+<p id="n680" class="pln"><a href="#n680">680</a></p>
+<p id="n681" class="pln"><a href="#n681">681</a></p>
+<p id="n682" class="pln"><a href="#n682">682</a></p>
+<p id="n683" class="pln"><a href="#n683">683</a></p>
+<p id="n684" class="stm run hide_run"><a href="#n684">684</a></p>
+<p id="n685" class="pln"><a href="#n685">685</a></p>
+<p id="n686" class="pln"><a href="#n686">686</a></p>
+<p id="n687" class="stm run hide_run"><a href="#n687">687</a></p>
+<p id="n688" class="stm run hide_run"><a href="#n688">688</a></p>
+<p id="n689" class="stm run hide_run"><a href="#n689">689</a></p>
+<p id="n690" class="pln"><a href="#n690">690</a></p>
+<p id="n691" class="stm run hide_run"><a href="#n691">691</a></p>
+<p id="n692" class="stm run hide_run"><a href="#n692">692</a></p>
+<p id="n693" class="stm run hide_run"><a href="#n693">693</a></p>
+<p id="n694" class="pln"><a href="#n694">694</a></p>
+<p id="n695" class="stm run hide_run"><a href="#n695">695</a></p>
+<p id="n696" class="stm run hide_run"><a href="#n696">696</a></p>
+<p id="n697" class="stm run hide_run"><a href="#n697">697</a></p>
+<p id="n698" class="pln"><a href="#n698">698</a></p>
+<p id="n699" class="stm run hide_run"><a href="#n699">699</a></p>
+<p id="n700" class="stm run hide_run"><a href="#n700">700</a></p>
+<p id="n701" class="stm run hide_run"><a href="#n701">701</a></p>
+<p id="n702" class="pln"><a href="#n702">702</a></p>
+<p id="n703" class="stm run hide_run"><a href="#n703">703</a></p>
+<p id="n704" class="pln"><a href="#n704">704</a></p>
+<p id="n705" class="stm run hide_run"><a href="#n705">705</a></p>
+<p id="n706" class="pln"><a href="#n706">706</a></p>
+<p id="n707" class="pln"><a href="#n707">707</a></p>
+<p id="n708" class="pln"><a href="#n708">708</a></p>
+<p id="n709" class="stm run hide_run"><a href="#n709">709</a></p>
+<p id="n710" class="stm run hide_run"><a href="#n710">710</a></p>
+<p id="n711" class="stm run hide_run"><a href="#n711">711</a></p>
+<p id="n712" class="stm run hide_run"><a href="#n712">712</a></p>
+<p id="n713" class="stm run hide_run"><a href="#n713">713</a></p>
+<p id="n714" class="stm run hide_run"><a href="#n714">714</a></p>
+<p id="n715" class="stm run hide_run"><a href="#n715">715</a></p>
+<p id="n716" class="stm run hide_run"><a href="#n716">716</a></p>
+<p id="n717" class="stm run hide_run"><a href="#n717">717</a></p>
+<p id="n718" class="stm run hide_run"><a href="#n718">718</a></p>
+<p id="n719" class="stm run hide_run"><a href="#n719">719</a></p>
+<p id="n720" class="stm run hide_run"><a href="#n720">720</a></p>
+<p id="n721" class="stm run hide_run"><a href="#n721">721</a></p>
+<p id="n722" class="stm run hide_run"><a href="#n722">722</a></p>
+<p id="n723" class="stm run hide_run"><a href="#n723">723</a></p>
+<p id="n724" class="stm run hide_run"><a href="#n724">724</a></p>
+<p id="n725" class="pln"><a href="#n725">725</a></p>
+<p id="n726" class="pln"><a href="#n726">726</a></p>
+<p id="n727" class="pln"><a href="#n727">727</a></p>
+<p id="n728" class="pln"><a href="#n728">728</a></p>
+<p id="n729" class="pln"><a href="#n729">729</a></p>
+<p id="n730" class="pln"><a href="#n730">730</a></p>
+<p id="n731" class="pln"><a href="#n731">731</a></p>
+<p id="n732" class="pln"><a href="#n732">732</a></p>
+<p id="n733" class="pln"><a href="#n733">733</a></p>
+<p id="n734" class="pln"><a href="#n734">734</a></p>
+<p id="n735" class="pln"><a href="#n735">735</a></p>
+<p id="n736" class="pln"><a href="#n736">736</a></p>
+<p id="n737" class="pln"><a href="#n737">737</a></p>
+<p id="n738" class="pln"><a href="#n738">738</a></p>
+<p id="n739" class="pln"><a href="#n739">739</a></p>
+<p id="n740" class="pln"><a href="#n740">740</a></p>
+<p id="n741" class="pln"><a href="#n741">741</a></p>
+<p id="n742" class="pln"><a href="#n742">742</a></p>
+<p id="n743" class="pln"><a href="#n743">743</a></p>
+<p id="n744" class="pln"><a href="#n744">744</a></p>
+<p id="n745" class="pln"><a href="#n745">745</a></p>
+<p id="n746" class="pln"><a href="#n746">746</a></p>
+<p id="n747" class="pln"><a href="#n747">747</a></p>
+<p id="n748" class="pln"><a href="#n748">748</a></p>
+<p id="n749" class="pln"><a href="#n749">749</a></p>
+<p id="n750" class="pln"><a href="#n750">750</a></p>
+<p id="n751" class="pln"><a href="#n751">751</a></p>
+<p id="n752" class="pln"><a href="#n752">752</a></p>
+<p id="n753" class="pln"><a href="#n753">753</a></p>
+<p id="n754" class="pln"><a href="#n754">754</a></p>
+<p id="n755" class="pln"><a href="#n755">755</a></p>
+<p id="n756" class="pln"><a href="#n756">756</a></p>
+<p id="n757" class="pln"><a href="#n757">757</a></p>
+<p id="n758" class="pln"><a href="#n758">758</a></p>
+<p id="n759" class="pln"><a href="#n759">759</a></p>
+<p id="n760" class="pln"><a href="#n760">760</a></p>
+<p id="n761" class="pln"><a href="#n761">761</a></p>
+<p id="n762" class="pln"><a href="#n762">762</a></p>
+<p id="n763" class="pln"><a href="#n763">763</a></p>
+<p id="n764" class="pln"><a href="#n764">764</a></p>
+<p id="n765" class="pln"><a href="#n765">765</a></p>
+<p id="n766" class="pln"><a href="#n766">766</a></p>
+<p id="n767" class="pln"><a href="#n767">767</a></p>
+<p id="n768" class="pln"><a href="#n768">768</a></p>
+<p id="n769" class="pln"><a href="#n769">769</a></p>
+<p id="n770" class="pln"><a href="#n770">770</a></p>
+<p id="n771" class="pln"><a href="#n771">771</a></p>
+<p id="n772" class="pln"><a href="#n772">772</a></p>
+<p id="n773" class="pln"><a href="#n773">773</a></p>
+<p id="n774" class="pln"><a href="#n774">774</a></p>
+<p id="n775" class="pln"><a href="#n775">775</a></p>
+
+ </td>
+ <td class="text">
+<p id="t1" class="pln"><span class="str">&quot;&quot;&quot; Cog code generation tool.</span><span class="strut">&nbsp;</span></p>
+<p id="t2" class="pln"><span class="str">&nbsp; &nbsp; http://nedbatchelder.com/code/cog</span><span class="strut">&nbsp;</span></p>
+<p id="t3" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t4" class="pln"><span class="str">&nbsp; &nbsp; Copyright 2004-2015, Ned Batchelder.</span><span class="strut">&nbsp;</span></p>
+<p id="t5" class="pln"><span class="str">&quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t6" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t7" class="stm run hide_run"><span class="key">from</span> <span class="nam">__future__</span> <span class="key">import</span> <span class="nam">absolute_import</span><span class="op">,</span> <span class="nam">print_function</span><span class="strut">&nbsp;</span></p>
+<p id="t8" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t9" class="stm run hide_run"><span class="key">import</span> <span class="nam">copy</span><span class="op">,</span> <span class="nam">getopt</span><span class="op">,</span> <span class="nam">hashlib</span><span class="op">,</span> <span class="nam">imp</span><span class="op">,</span> <span class="nam">os</span><span class="op">,</span> <span class="nam">re</span><span class="op">,</span> <span class="nam">shlex</span><span class="op">,</span> <span class="nam">sys</span><span class="op">,</span> <span class="nam">traceback</span><span class="strut">&nbsp;</span></p>
+<p id="t10" class="stm run hide_run"><span class="key">from</span> <span class="op">.</span><span class="nam">backward</span> <span class="key">import</span> <span class="nam">PY3</span><span class="op">,</span> <span class="nam">StringIO</span><span class="op">,</span> <span class="nam">string_types</span><span class="op">,</span> <span class="nam">to_bytes</span><span class="strut">&nbsp;</span></p>
+<p id="t11" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t12" class="stm run hide_run"><span class="nam">__all__</span> <span class="op">=</span> <span class="op">[</span><span class="str">&#39;Cog&#39;</span><span class="op">,</span> <span class="str">&#39;CogUsageError&#39;</span><span class="op">]</span><span class="strut">&nbsp;</span></p>
+<p id="t13" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t14" class="stm run hide_run"><span class="nam">__version__</span> <span class="op">=</span> <span class="str">&#39;2.4&#39;</span>&nbsp; &nbsp;&nbsp; <span class="com"># History at the end of the file.</span><span class="strut">&nbsp;</span></p>
+<p id="t15" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t16" class="stm run hide_run"><span class="nam">usage</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t17" class="pln"><span class="str">cog - generate code with inlined Python code.</span><span class="strut">&nbsp;</span></p>
+<p id="t18" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t19" class="pln"><span class="str">cog [OPTIONS] [INFILE | @FILELIST] ...</span><span class="strut">&nbsp;</span></p>
+<p id="t20" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t21" class="pln"><span class="str">INFILE is the name of an input file, &#39;-&#39; will read from stdin.</span><span class="strut">&nbsp;</span></p>
+<p id="t22" class="pln"><span class="str">FILELIST is the name of a text file containing file names or</span><span class="strut">&nbsp;</span></p>
+<p id="t23" class="pln"><span class="str">&nbsp; &nbsp; other @FILELISTs.</span><span class="strut">&nbsp;</span></p>
+<p id="t24" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t25" class="pln"><span class="str">OPTIONS:</span><span class="strut">&nbsp;</span></p>
+<p id="t26" class="pln"><span class="str">&nbsp; &nbsp; -c&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Checksum the output to protect it against accidental change.</span><span class="strut">&nbsp;</span></p>
+<p id="t27" class="pln"><span class="str">&nbsp; &nbsp; -d&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Delete the generator code from the output file.</span><span class="strut">&nbsp;</span></p>
+<p id="t28" class="pln"><span class="str">&nbsp; &nbsp; -D name=val Define a global string available to your generator code.</span><span class="strut">&nbsp;</span></p>
+<p id="t29" class="pln"><span class="str">&nbsp; &nbsp; -e&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Warn if a file has no cog code in it.</span><span class="strut">&nbsp;</span></p>
+<p id="t30" class="pln"><span class="str">&nbsp; &nbsp; -I PATH&nbsp; &nbsp;&nbsp; Add PATH to the list of directories for data files and modules.</span><span class="strut">&nbsp;</span></p>
+<p id="t31" class="pln"><span class="str">&nbsp; &nbsp; -n ENCODING Use ENCODING when reading and writing files.</span><span class="strut">&nbsp;</span></p>
+<p id="t32" class="pln"><span class="str">&nbsp; &nbsp; -o OUTNAME&nbsp; Write the output to OUTNAME.</span><span class="strut">&nbsp;</span></p>
+<p id="t33" class="pln"><span class="str">&nbsp; &nbsp; -r&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Replace the input file with the output.</span><span class="strut">&nbsp;</span></p>
+<p id="t34" class="pln"><span class="str">&nbsp; &nbsp; -s STRING&nbsp;&nbsp; Suffix all generated output lines with STRING.</span><span class="strut">&nbsp;</span></p>
+<p id="t35" class="pln"><span class="str">&nbsp; &nbsp; -U&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Write the output with Unix newlines (only LF line-endings).</span><span class="strut">&nbsp;</span></p>
+<p id="t36" class="pln"><span class="str">&nbsp; &nbsp; -w CMD&nbsp; &nbsp; &nbsp; Use CMD if the output file needs to be made writable.</span><span class="strut">&nbsp;</span></p>
+<p id="t37" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; A %s in the CMD will be filled with the filename.</span><span class="strut">&nbsp;</span></p>
+<p id="t38" class="pln"><span class="str">&nbsp; &nbsp; -x&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Excise all the generated output without running the generators.</span><span class="strut">&nbsp;</span></p>
+<p id="t39" class="pln"><span class="str">&nbsp; &nbsp; -z&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; The end-output marker can be omitted, and is assumed at eof.</span><span class="strut">&nbsp;</span></p>
+<p id="t40" class="pln"><span class="str">&nbsp; &nbsp; -v&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Print the version of cog and exit.</span><span class="strut">&nbsp;</span></p>
+<p id="t41" class="pln"><span class="str">&nbsp; &nbsp; --verbosity=VERBOSITY</span><span class="strut">&nbsp;</span></p>
+<p id="t42" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Control the amount of output. 2 (the default) lists all files,</span><span class="strut">&nbsp;</span></p>
+<p id="t43" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 1 lists only changed files, 0 lists no files.</span><span class="strut">&nbsp;</span></p>
+<p id="t44" class="pln"><span class="str">&nbsp; &nbsp; --markers=&#39;START END END-OUTPUT&#39;</span><span class="strut">&nbsp;</span></p>
+<p id="t45" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; The patterns surrounding cog inline instructions. Should</span><span class="strut">&nbsp;</span></p>
+<p id="t46" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; include three values separated by spaces, the start, end,</span><span class="strut">&nbsp;</span></p>
+<p id="t47" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; and end-output markers. Defaults to &#39;[[[cog ]]] [[[end]]]&#39;.</span><span class="strut">&nbsp;</span></p>
+<p id="t48" class="pln"><span class="str">&nbsp; &nbsp; -h&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Print this help.</span><span class="strut">&nbsp;</span></p>
+<p id="t49" class="pln"><span class="str">&quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t50" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t51" class="pln"><span class="com"># Other package modules</span><span class="strut">&nbsp;</span></p>
+<p id="t52" class="stm run hide_run"><span class="key">from</span> <span class="op">.</span><span class="nam">whiteutils</span> <span class="key">import</span> <span class="op">*</span><span class="strut">&nbsp;</span></p>
+<p id="t53" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t54" class="stm run hide_run"><span class="key">class</span> <span class="nam">CogError</span><span class="op">(</span><span class="nam">Exception</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t55" class="pln">&nbsp; &nbsp; <span class="str">&quot;&quot;&quot; Any exception raised by Cog.</span><span class="strut">&nbsp;</span></p>
+<p id="t56" class="pln"><span class="str">&nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t57" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">__init__</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">msg</span><span class="op">,</span> <span class="nam">file</span><span class="op">=</span><span class="str">&#39;&#39;</span><span class="op">,</span> <span class="nam">line</span><span class="op">=</span><span class="num">0</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t58" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">file</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t59" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">Exception</span><span class="op">.</span><span class="nam">__init__</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="str">&quot;%s(%d): %s&quot;</span> <span class="op">%</span> <span class="op">(</span><span class="nam">file</span><span class="op">,</span> <span class="nam">line</span><span class="op">,</span> <span class="nam">msg</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t60" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">else</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t61" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">Exception</span><span class="op">.</span><span class="nam">__init__</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">msg</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t62" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t63" class="stm run hide_run"><span class="key">class</span> <span class="nam">CogUsageError</span><span class="op">(</span><span class="nam">CogError</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t64" class="pln">&nbsp; &nbsp; <span class="str">&quot;&quot;&quot; An error in usage of command-line arguments in cog.</span><span class="strut">&nbsp;</span></p>
+<p id="t65" class="pln"><span class="str">&nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t66" class="exc">&nbsp; &nbsp; <span class="key">pass</span>&nbsp; &nbsp; <span class="com">#pragma: no cover</span><span class="strut">&nbsp;</span></p>
+<p id="t67" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t68" class="stm run hide_run"><span class="key">class</span> <span class="nam">CogInternalError</span><span class="op">(</span><span class="nam">CogError</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t69" class="pln">&nbsp; &nbsp; <span class="str">&quot;&quot;&quot; An error in the coding of Cog. Should never happen.</span><span class="strut">&nbsp;</span></p>
+<p id="t70" class="pln"><span class="str">&nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t71" class="exc">&nbsp; &nbsp; <span class="key">pass</span>&nbsp; &nbsp; <span class="com">#pragma: no cover</span><span class="strut">&nbsp;</span></p>
+<p id="t72" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t73" class="stm run hide_run"><span class="key">class</span> <span class="nam">CogGeneratedError</span><span class="op">(</span><span class="nam">CogError</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t74" class="pln">&nbsp; &nbsp; <span class="str">&quot;&quot;&quot; An error raised by a user&#39;s cog generator.</span><span class="strut">&nbsp;</span></p>
+<p id="t75" class="pln"><span class="str">&nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t76" class="exc">&nbsp; &nbsp; <span class="key">pass</span>&nbsp; &nbsp; <span class="com">#pragma: no cover</span><span class="strut">&nbsp;</span></p>
+<p id="t77" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t78" class="stm run hide_run"><span class="key">class</span> <span class="nam">Redirectable</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t79" class="pln">&nbsp; &nbsp; <span class="str">&quot;&quot;&quot; An object with its own stdout and stderr files.</span><span class="strut">&nbsp;</span></p>
+<p id="t80" class="pln"><span class="str">&nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t81" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">__init__</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t82" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">stdout</span> <span class="op">=</span> <span class="nam">sys</span><span class="op">.</span><span class="nam">stdout</span><span class="strut">&nbsp;</span></p>
+<p id="t83" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">stderr</span> <span class="op">=</span> <span class="nam">sys</span><span class="op">.</span><span class="nam">stderr</span><span class="strut">&nbsp;</span></p>
+<p id="t84" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t85" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">setOutput</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">stdout</span><span class="op">=</span><span class="nam">None</span><span class="op">,</span> <span class="nam">stderr</span><span class="op">=</span><span class="nam">None</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t86" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&quot;&quot;&quot; Assign new files for standard out and/or standard error.</span><span class="strut">&nbsp;</span></p>
+<p id="t87" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t88" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">stdout</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t89" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">stdout</span> <span class="op">=</span> <span class="nam">stdout</span><span class="strut">&nbsp;</span></p>
+<p id="t90" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">stderr</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t91" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">stderr</span> <span class="op">=</span> <span class="nam">stderr</span><span class="strut">&nbsp;</span></p>
+<p id="t92" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t93" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">prout</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">s</span><span class="op">,</span> <span class="nam">end</span><span class="op">=</span><span class="str">&quot;\n&quot;</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t94" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">print</span><span class="op">(</span><span class="nam">s</span><span class="op">,</span> <span class="nam">file</span><span class="op">=</span><span class="nam">self</span><span class="op">.</span><span class="nam">stdout</span><span class="op">,</span> <span class="nam">end</span><span class="op">=</span><span class="nam">end</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t95" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t96" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">prerr</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">s</span><span class="op">,</span> <span class="nam">end</span><span class="op">=</span><span class="str">&quot;\n&quot;</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t97" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">print</span><span class="op">(</span><span class="nam">s</span><span class="op">,</span> <span class="nam">file</span><span class="op">=</span><span class="nam">self</span><span class="op">.</span><span class="nam">stderr</span><span class="op">,</span> <span class="nam">end</span><span class="op">=</span><span class="nam">end</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t98" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t99" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t100" class="stm run hide_run"><span class="key">class</span> <span class="nam">CogGenerator</span><span class="op">(</span><span class="nam">Redirectable</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t101" class="pln">&nbsp; &nbsp; <span class="str">&quot;&quot;&quot; A generator pulled from a source file.</span><span class="strut">&nbsp;</span></p>
+<p id="t102" class="pln"><span class="str">&nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t103" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">__init__</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t104" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">Redirectable</span><span class="op">.</span><span class="nam">__init__</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t105" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">markers</span> <span class="op">=</span> <span class="op">[</span><span class="op">]</span><span class="strut">&nbsp;</span></p>
+<p id="t106" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">lines</span> <span class="op">=</span> <span class="op">[</span><span class="op">]</span><span class="strut">&nbsp;</span></p>
+<p id="t107" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t108" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">parseMarker</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">l</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t109" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">markers</span><span class="op">.</span><span class="nam">append</span><span class="op">(</span><span class="nam">l</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t110" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t111" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">parseLine</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">l</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t112" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">lines</span><span class="op">.</span><span class="nam">append</span><span class="op">(</span><span class="nam">l</span><span class="op">.</span><span class="nam">strip</span><span class="op">(</span><span class="str">&#39;\n&#39;</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t113" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t114" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">getCode</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t115" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&quot;&quot;&quot; Extract the executable Python code from the generator.</span><span class="strut">&nbsp;</span></p>
+<p id="t116" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t117" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># If the markers and lines all have the same prefix</span><span class="strut">&nbsp;</span></p>
+<p id="t118" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># (end-of-line comment chars, for example),</span><span class="strut">&nbsp;</span></p>
+<p id="t119" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># then remove it from all the lines.</span><span class="strut">&nbsp;</span></p>
+<p id="t120" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">prefIn</span> <span class="op">=</span> <span class="nam">commonPrefix</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">markers</span> <span class="op">+</span> <span class="nam">self</span><span class="op">.</span><span class="nam">lines</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t121" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">prefIn</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t122" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">markers</span> <span class="op">=</span> <span class="op">[</span> <span class="nam">l</span><span class="op">.</span><span class="nam">replace</span><span class="op">(</span><span class="nam">prefIn</span><span class="op">,</span> <span class="str">&#39;&#39;</span><span class="op">,</span> <span class="num">1</span><span class="op">)</span> <span class="key">for</span> <span class="nam">l</span> <span class="key">in</span> <span class="nam">self</span><span class="op">.</span><span class="nam">markers</span> <span class="op">]</span><span class="strut">&nbsp;</span></p>
+<p id="t123" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">lines</span> <span class="op">=</span> <span class="op">[</span> <span class="nam">l</span><span class="op">.</span><span class="nam">replace</span><span class="op">(</span><span class="nam">prefIn</span><span class="op">,</span> <span class="str">&#39;&#39;</span><span class="op">,</span> <span class="num">1</span><span class="op">)</span> <span class="key">for</span> <span class="nam">l</span> <span class="key">in</span> <span class="nam">self</span><span class="op">.</span><span class="nam">lines</span> <span class="op">]</span><span class="strut">&nbsp;</span></p>
+<p id="t124" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t125" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">return</span> <span class="nam">reindentBlock</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">lines</span><span class="op">,</span> <span class="str">&#39;&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t126" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t127" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">evaluate</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">cog</span><span class="op">,</span> <span class="nam">globals</span><span class="op">,</span> <span class="nam">fname</span><span class="op">=</span><span class="str">&#39;cog generator&#39;</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t128" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># figure out the right whitespace prefix for the output</span><span class="strut">&nbsp;</span></p>
+<p id="t129" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">prefOut</span> <span class="op">=</span> <span class="nam">whitePrefix</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">markers</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t130" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t131" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">intext</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">getCode</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t132" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="key">not</span> <span class="nam">intext</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t133" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">return</span> <span class="str">&#39;&#39;</span><span class="strut">&nbsp;</span></p>
+<p id="t134" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t135" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># In Python 2.2, the last line has to end in a newline.</span><span class="strut">&nbsp;</span></p>
+<p id="t136" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">intext</span> <span class="op">=</span> <span class="str">&quot;import cog\n&quot;</span> <span class="op">+</span> <span class="nam">intext</span> <span class="op">+</span> <span class="str">&quot;\n&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t137" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">code</span> <span class="op">=</span> <span class="nam">compile</span><span class="op">(</span><span class="nam">intext</span><span class="op">,</span> <span class="nam">str</span><span class="op">(</span><span class="nam">fname</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;exec&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t138" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t139" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Make sure the &quot;cog&quot; module has our state.</span><span class="strut">&nbsp;</span></p>
+<p id="t140" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">cog</span><span class="op">.</span><span class="nam">cogmodule</span><span class="op">.</span><span class="nam">msg</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">msg</span><span class="strut">&nbsp;</span></p>
+<p id="t141" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">cog</span><span class="op">.</span><span class="nam">cogmodule</span><span class="op">.</span><span class="nam">out</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">out</span><span class="strut">&nbsp;</span></p>
+<p id="t142" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">cog</span><span class="op">.</span><span class="nam">cogmodule</span><span class="op">.</span><span class="nam">outl</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">outl</span><span class="strut">&nbsp;</span></p>
+<p id="t143" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">cog</span><span class="op">.</span><span class="nam">cogmodule</span><span class="op">.</span><span class="nam">error</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">error</span><span class="strut">&nbsp;</span></p>
+<p id="t144" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t145" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">outstring</span> <span class="op">=</span> <span class="str">&#39;&#39;</span><span class="strut">&nbsp;</span></p>
+<p id="t146" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">eval</span><span class="op">(</span><span class="nam">code</span><span class="op">,</span> <span class="nam">globals</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t147" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t148" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># We need to make sure that the last line in the output</span><span class="strut">&nbsp;</span></p>
+<p id="t149" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># ends with a newline, or it will be joined to the</span><span class="strut">&nbsp;</span></p>
+<p id="t150" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># end-output line, ruining cog&#39;s idempotency.</span><span class="strut">&nbsp;</span></p>
+<p id="t151" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">self</span><span class="op">.</span><span class="nam">outstring</span> <span class="key">and</span> <span class="nam">self</span><span class="op">.</span><span class="nam">outstring</span><span class="op">[</span><span class="op">-</span><span class="num">1</span><span class="op">]</span> <span class="op">!=</span> <span class="str">&#39;\n&#39;</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t152" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">outstring</span> <span class="op">+=</span> <span class="str">&#39;\n&#39;</span><span class="strut">&nbsp;</span></p>
+<p id="t153" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t154" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">return</span> <span class="nam">reindentBlock</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">outstring</span><span class="op">,</span> <span class="nam">prefOut</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t155" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t156" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">msg</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">s</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t157" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">prout</span><span class="op">(</span><span class="str">&quot;Message: &quot;</span><span class="op">+</span><span class="nam">s</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t158" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t159" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">out</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">sOut</span><span class="op">=</span><span class="str">&#39;&#39;</span><span class="op">,</span> <span class="nam">dedent</span><span class="op">=</span><span class="nam">False</span><span class="op">,</span> <span class="nam">trimblanklines</span><span class="op">=</span><span class="nam">False</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t160" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&quot;&quot;&quot; The cog.out function.</span><span class="strut">&nbsp;</span></p>
+<p id="t161" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t162" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">trimblanklines</span> <span class="key">and</span> <span class="op">(</span><span class="str">&#39;\n&#39;</span> <span class="key">in</span> <span class="nam">sOut</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t163" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">lines</span> <span class="op">=</span> <span class="nam">sOut</span><span class="op">.</span><span class="nam">split</span><span class="op">(</span><span class="str">&#39;\n&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t164" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">lines</span><span class="op">[</span><span class="num">0</span><span class="op">]</span><span class="op">.</span><span class="nam">strip</span><span class="op">(</span><span class="op">)</span> <span class="op">==</span> <span class="str">&#39;&#39;</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t165" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">del</span> <span class="nam">lines</span><span class="op">[</span><span class="num">0</span><span class="op">]</span><span class="strut">&nbsp;</span></p>
+<p id="t166" class="stm par run hide_run"><span class="annotate" title="Line 166 was executed, but never jumped to line 168">166&#x202F;&#x219B;&#x202F;168 [?]</span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">lines</span> <span class="key">and</span> <span class="nam">lines</span><span class="op">[</span><span class="op">-</span><span class="num">1</span><span class="op">]</span><span class="op">.</span><span class="nam">strip</span><span class="op">(</span><span class="op">)</span> <span class="op">==</span> <span class="str">&#39;&#39;</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t167" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">del</span> <span class="nam">lines</span><span class="op">[</span><span class="op">-</span><span class="num">1</span><span class="op">]</span><span class="strut">&nbsp;</span></p>
+<p id="t168" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">sOut</span> <span class="op">=</span> <span class="str">&#39;\n&#39;</span><span class="op">.</span><span class="nam">join</span><span class="op">(</span><span class="nam">lines</span><span class="op">)</span><span class="op">+</span><span class="str">&#39;\n&#39;</span><span class="strut">&nbsp;</span></p>
+<p id="t169" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">dedent</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t170" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">sOut</span> <span class="op">=</span> <span class="nam">reindentBlock</span><span class="op">(</span><span class="nam">sOut</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t171" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">outstring</span> <span class="op">+=</span> <span class="nam">sOut</span><span class="strut">&nbsp;</span></p>
+<p id="t172" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t173" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">outl</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">sOut</span><span class="op">=</span><span class="str">&#39;&#39;</span><span class="op">,</span> <span class="op">**</span><span class="nam">kw</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t174" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&quot;&quot;&quot; The cog.outl function.</span><span class="strut">&nbsp;</span></p>
+<p id="t175" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t176" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">out</span><span class="op">(</span><span class="nam">sOut</span><span class="op">,</span> <span class="op">**</span><span class="nam">kw</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t177" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">out</span><span class="op">(</span><span class="str">&#39;\n&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t178" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t179" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">error</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">msg</span><span class="op">=</span><span class="str">&#39;Error raised by cog generator.&#39;</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t180" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&quot;&quot;&quot; The cog.error function.</span><span class="strut">&nbsp;</span></p>
+<p id="t181" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Instead of raising standard python errors, cog generators can use</span><span class="strut">&nbsp;</span></p>
+<p id="t182" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; this function.&nbsp; It will display the error without a scary Python</span><span class="strut">&nbsp;</span></p>
+<p id="t183" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; traceback.</span><span class="strut">&nbsp;</span></p>
+<p id="t184" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t185" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">raise</span> <span class="nam">CogGeneratedError</span><span class="op">(</span><span class="nam">msg</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t186" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t187" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t188" class="stm run hide_run"><span class="key">class</span> <span class="nam">NumberedFileReader</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t189" class="pln">&nbsp; &nbsp; <span class="str">&quot;&quot;&quot; A decorator for files that counts the readline()&#39;s called.</span><span class="strut">&nbsp;</span></p>
+<p id="t190" class="pln"><span class="str">&nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t191" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">__init__</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">f</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t192" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">f</span> <span class="op">=</span> <span class="nam">f</span><span class="strut">&nbsp;</span></p>
+<p id="t193" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">n</span> <span class="op">=</span> <span class="num">0</span><span class="strut">&nbsp;</span></p>
+<p id="t194" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t195" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">readline</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t196" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">l</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">f</span><span class="op">.</span><span class="nam">readline</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t197" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">l</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t198" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">n</span> <span class="op">+=</span> <span class="num">1</span><span class="strut">&nbsp;</span></p>
+<p id="t199" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">return</span> <span class="nam">l</span><span class="strut">&nbsp;</span></p>
+<p id="t200" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t201" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">linenumber</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t202" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">return</span> <span class="nam">self</span><span class="op">.</span><span class="nam">n</span><span class="strut">&nbsp;</span></p>
+<p id="t203" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t204" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t205" class="stm run hide_run"><span class="key">class</span> <span class="nam">CogOptions</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t206" class="pln">&nbsp; &nbsp; <span class="str">&quot;&quot;&quot; Options for a run of cog.</span><span class="strut">&nbsp;</span></p>
+<p id="t207" class="pln"><span class="str">&nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t208" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">__init__</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t209" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Defaults for argument values.</span><span class="strut">&nbsp;</span></p>
+<p id="t210" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">args</span> <span class="op">=</span> <span class="op">[</span><span class="op">]</span><span class="strut">&nbsp;</span></p>
+<p id="t211" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">includePath</span> <span class="op">=</span> <span class="op">[</span><span class="op">]</span><span class="strut">&nbsp;</span></p>
+<p id="t212" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">defines</span> <span class="op">=</span> <span class="op">{</span><span class="op">}</span><span class="strut">&nbsp;</span></p>
+<p id="t213" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">bShowVersion</span> <span class="op">=</span> <span class="nam">False</span><span class="strut">&nbsp;</span></p>
+<p id="t214" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">sMakeWritableCmd</span> <span class="op">=</span> <span class="nam">None</span><span class="strut">&nbsp;</span></p>
+<p id="t215" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">bReplace</span> <span class="op">=</span> <span class="nam">False</span><span class="strut">&nbsp;</span></p>
+<p id="t216" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">bNoGenerate</span> <span class="op">=</span> <span class="nam">False</span><span class="strut">&nbsp;</span></p>
+<p id="t217" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">sOutputName</span> <span class="op">=</span> <span class="nam">None</span><span class="strut">&nbsp;</span></p>
+<p id="t218" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">bWarnEmpty</span> <span class="op">=</span> <span class="nam">False</span><span class="strut">&nbsp;</span></p>
+<p id="t219" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">bHashOutput</span> <span class="op">=</span> <span class="nam">False</span><span class="strut">&nbsp;</span></p>
+<p id="t220" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">bDeleteCode</span> <span class="op">=</span> <span class="nam">False</span><span class="strut">&nbsp;</span></p>
+<p id="t221" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">bEofCanBeEnd</span> <span class="op">=</span> <span class="nam">False</span><span class="strut">&nbsp;</span></p>
+<p id="t222" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">sSuffix</span> <span class="op">=</span> <span class="nam">None</span><span class="strut">&nbsp;</span></p>
+<p id="t223" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">bNewlines</span> <span class="op">=</span> <span class="nam">False</span><span class="strut">&nbsp;</span></p>
+<p id="t224" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">sBeginSpec</span> <span class="op">=</span> <span class="str">&#39;[[[cog&#39;</span><span class="strut">&nbsp;</span></p>
+<p id="t225" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">sEndSpec</span> <span class="op">=</span> <span class="str">&#39;]]]&#39;</span><span class="strut">&nbsp;</span></p>
+<p id="t226" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">sEndOutput</span> <span class="op">=</span> <span class="str">&#39;[[[end]]]&#39;</span><span class="strut">&nbsp;</span></p>
+<p id="t227" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">sEncoding</span> <span class="op">=</span> <span class="str">&quot;utf-8&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t228" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">verbosity</span> <span class="op">=</span> <span class="num">2</span><span class="strut">&nbsp;</span></p>
+<p id="t229" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t230" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">__eq__</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">other</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t231" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&quot;&quot;&quot; Comparison operator for tests to use.</span><span class="strut">&nbsp;</span></p>
+<p id="t232" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t233" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">return</span> <span class="nam">self</span><span class="op">.</span><span class="nam">__dict__</span> <span class="op">==</span> <span class="nam">other</span><span class="op">.</span><span class="nam">__dict__</span><span class="strut">&nbsp;</span></p>
+<p id="t234" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t235" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">clone</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t236" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&quot;&quot;&quot; Make a clone of these options, for further refinement.</span><span class="strut">&nbsp;</span></p>
+<p id="t237" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t238" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">return</span> <span class="nam">copy</span><span class="op">.</span><span class="nam">deepcopy</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t239" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t240" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">addToIncludePath</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">dirs</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t241" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&quot;&quot;&quot; Add directories to the include path.</span><span class="strut">&nbsp;</span></p>
+<p id="t242" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t243" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">dirs</span> <span class="op">=</span> <span class="nam">dirs</span><span class="op">.</span><span class="nam">split</span><span class="op">(</span><span class="nam">os</span><span class="op">.</span><span class="nam">pathsep</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t244" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">includePath</span><span class="op">.</span><span class="nam">extend</span><span class="op">(</span><span class="nam">dirs</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t245" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t246" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">parseArgs</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">argv</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t247" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Parse the command line arguments.</span><span class="strut">&nbsp;</span></p>
+<p id="t248" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">try</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t249" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">opts</span><span class="op">,</span> <span class="nam">self</span><span class="op">.</span><span class="nam">args</span> <span class="op">=</span> <span class="nam">getopt</span><span class="op">.</span><span class="nam">getopt</span><span class="op">(</span><span class="strut">&nbsp;</span></p>
+<p id="t250" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">argv</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t251" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;cdD:eI:n:o:rs:Uvw:xz&#39;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t252" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">[</span><span class="strut">&nbsp;</span></p>
+<p id="t253" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;markers=&#39;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t254" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;verbosity=&#39;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t255" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">]</span><span class="strut">&nbsp;</span></p>
+<p id="t256" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t257" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">except</span> <span class="nam">getopt</span><span class="op">.</span><span class="nam">error</span> <span class="key">as</span> <span class="nam">msg</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t258" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">raise</span> <span class="nam">CogUsageError</span><span class="op">(</span><span class="nam">msg</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t259" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t260" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Handle the command line arguments.</span><span class="strut">&nbsp;</span></p>
+<p id="t261" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">for</span> <span class="nam">o</span><span class="op">,</span> <span class="nam">a</span> <span class="key">in</span> <span class="nam">opts</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t262" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">o</span> <span class="op">==</span> <span class="str">&#39;-c&#39;</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t263" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">bHashOutput</span> <span class="op">=</span> <span class="nam">True</span><span class="strut">&nbsp;</span></p>
+<p id="t264" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">elif</span> <span class="nam">o</span> <span class="op">==</span> <span class="str">&#39;-d&#39;</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t265" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">bDeleteCode</span> <span class="op">=</span> <span class="nam">True</span><span class="strut">&nbsp;</span></p>
+<p id="t266" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">elif</span> <span class="nam">o</span> <span class="op">==</span> <span class="str">&#39;-D&#39;</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t267" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">a</span><span class="op">.</span><span class="nam">count</span><span class="op">(</span><span class="str">&#39;=&#39;</span><span class="op">)</span> <span class="op">&lt;</span> <span class="num">1</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t268" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">raise</span> <span class="nam">CogUsageError</span><span class="op">(</span><span class="str">&quot;-D takes a name=value argument&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t269" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">name</span><span class="op">,</span> <span class="nam">value</span> <span class="op">=</span> <span class="nam">a</span><span class="op">.</span><span class="nam">split</span><span class="op">(</span><span class="str">&#39;=&#39;</span><span class="op">,</span> <span class="num">1</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t270" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">defines</span><span class="op">[</span><span class="nam">name</span><span class="op">]</span> <span class="op">=</span> <span class="nam">value</span><span class="strut">&nbsp;</span></p>
+<p id="t271" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">elif</span> <span class="nam">o</span> <span class="op">==</span> <span class="str">&#39;-e&#39;</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t272" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">bWarnEmpty</span> <span class="op">=</span> <span class="nam">True</span><span class="strut">&nbsp;</span></p>
+<p id="t273" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">elif</span> <span class="nam">o</span> <span class="op">==</span> <span class="str">&#39;-I&#39;</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t274" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">addToIncludePath</span><span class="op">(</span><span class="nam">a</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t275" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">elif</span> <span class="nam">o</span> <span class="op">==</span> <span class="str">&#39;-n&#39;</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t276" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">sEncoding</span> <span class="op">=</span> <span class="nam">a</span><span class="strut">&nbsp;</span></p>
+<p id="t277" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">elif</span> <span class="nam">o</span> <span class="op">==</span> <span class="str">&#39;-o&#39;</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t278" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">sOutputName</span> <span class="op">=</span> <span class="nam">a</span><span class="strut">&nbsp;</span></p>
+<p id="t279" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">elif</span> <span class="nam">o</span> <span class="op">==</span> <span class="str">&#39;-r&#39;</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t280" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">bReplace</span> <span class="op">=</span> <span class="nam">True</span><span class="strut">&nbsp;</span></p>
+<p id="t281" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">elif</span> <span class="nam">o</span> <span class="op">==</span> <span class="str">&#39;-s&#39;</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t282" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">sSuffix</span> <span class="op">=</span> <span class="nam">a</span><span class="strut">&nbsp;</span></p>
+<p id="t283" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">elif</span> <span class="nam">o</span> <span class="op">==</span> <span class="str">&#39;-U&#39;</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t284" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">bNewlines</span> <span class="op">=</span> <span class="nam">True</span><span class="strut">&nbsp;</span></p>
+<p id="t285" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">elif</span> <span class="nam">o</span> <span class="op">==</span> <span class="str">&#39;-v&#39;</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t286" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">bShowVersion</span> <span class="op">=</span> <span class="nam">True</span><span class="strut">&nbsp;</span></p>
+<p id="t287" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">elif</span> <span class="nam">o</span> <span class="op">==</span> <span class="str">&#39;-w&#39;</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t288" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">sMakeWritableCmd</span> <span class="op">=</span> <span class="nam">a</span><span class="strut">&nbsp;</span></p>
+<p id="t289" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">elif</span> <span class="nam">o</span> <span class="op">==</span> <span class="str">&#39;-x&#39;</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t290" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">bNoGenerate</span> <span class="op">=</span> <span class="nam">True</span><span class="strut">&nbsp;</span></p>
+<p id="t291" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">elif</span> <span class="nam">o</span> <span class="op">==</span> <span class="str">&#39;-z&#39;</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t292" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">bEofCanBeEnd</span> <span class="op">=</span> <span class="nam">True</span><span class="strut">&nbsp;</span></p>
+<p id="t293" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">elif</span> <span class="nam">o</span> <span class="op">==</span> <span class="str">&#39;--markers&#39;</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t294" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">_parse_markers</span><span class="op">(</span><span class="nam">a</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t295" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">elif</span> <span class="nam">o</span> <span class="op">==</span> <span class="str">&#39;--verbosity&#39;</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t296" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">verbosity</span> <span class="op">=</span> <span class="nam">int</span><span class="op">(</span><span class="nam">a</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t297" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">else</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t298" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Since getopt.getopt is given a list of possible flags,</span><span class="strut">&nbsp;</span></p>
+<p id="t299" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># this is an internal error.</span><span class="strut">&nbsp;</span></p>
+<p id="t300" class="exc">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">raise</span> <span class="nam">CogInternalError</span><span class="op">(</span><span class="str">&quot;Don&#39;t understand argument %s&quot;</span> <span class="op">%</span> <span class="nam">o</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t301" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t302" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">_parse_markers</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">val</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t303" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">try</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t304" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">sBeginSpec</span><span class="op">,</span> <span class="nam">self</span><span class="op">.</span><span class="nam">sEndSpec</span><span class="op">,</span> <span class="nam">self</span><span class="op">.</span><span class="nam">sEndOutput</span> <span class="op">=</span> <span class="nam">val</span><span class="op">.</span><span class="nam">split</span><span class="op">(</span><span class="str">&#39; &#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t305" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">except</span> <span class="nam">ValueError</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t306" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">raise</span> <span class="nam">CogUsageError</span><span class="op">(</span><span class="strut">&nbsp;</span></p>
+<p id="t307" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;--markers requires 3 values separated by spaces, could not parse %r&#39;</span> <span class="op">%</span> <span class="nam">val</span><span class="strut">&nbsp;</span></p>
+<p id="t308" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t309" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t310" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">validate</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t311" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&quot;&quot;&quot; Does nothing if everything is OK, raises CogError&#39;s if it&#39;s not.</span><span class="strut">&nbsp;</span></p>
+<p id="t312" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t313" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">self</span><span class="op">.</span><span class="nam">bReplace</span> <span class="key">and</span> <span class="nam">self</span><span class="op">.</span><span class="nam">bDeleteCode</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t314" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">raise</span> <span class="nam">CogUsageError</span><span class="op">(</span><span class="str">&quot;Can&#39;t use -d with -r (or you would delete all your source!)&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t315" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t316" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">self</span><span class="op">.</span><span class="nam">bReplace</span> <span class="key">and</span> <span class="nam">self</span><span class="op">.</span><span class="nam">sOutputName</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t317" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">raise</span> <span class="nam">CogUsageError</span><span class="op">(</span><span class="str">&quot;Can&#39;t use -o with -r (they are opposites)&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t318" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t319" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t320" class="stm run hide_run"><span class="key">class</span> <span class="nam">Cog</span><span class="op">(</span><span class="nam">Redirectable</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t321" class="pln">&nbsp; &nbsp; <span class="str">&quot;&quot;&quot; The Cog engine.</span><span class="strut">&nbsp;</span></p>
+<p id="t322" class="pln"><span class="str">&nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t323" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">__init__</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t324" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">Redirectable</span><span class="op">.</span><span class="nam">__init__</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t325" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">options</span> <span class="op">=</span> <span class="nam">CogOptions</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t326" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">_fixEndOutputPatterns</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t327" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">installCogModule</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t328" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t329" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">_fixEndOutputPatterns</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t330" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">end_output</span> <span class="op">=</span> <span class="nam">re</span><span class="op">.</span><span class="nam">escape</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">sEndOutput</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t331" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">reEndOutput</span> <span class="op">=</span> <span class="nam">re</span><span class="op">.</span><span class="nam">compile</span><span class="op">(</span><span class="nam">end_output</span> <span class="op">+</span> <span class="str">r&#39;(?P&lt;hashsect&gt; *\(checksum: (?P&lt;hash&gt;[a-f0-9]+)\))&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t332" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">sEndFormat</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">sEndOutput</span> <span class="op">+</span> <span class="str">&#39; (checksum: %s)&#39;</span><span class="strut">&nbsp;</span></p>
+<p id="t333" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t334" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">showWarning</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">msg</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t335" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">prout</span><span class="op">(</span><span class="str">&quot;Warning: &quot;</span><span class="op">+</span><span class="nam">msg</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t336" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t337" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">isBeginSpecLine</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">s</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t338" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">return</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">sBeginSpec</span> <span class="key">in</span> <span class="nam">s</span><span class="strut">&nbsp;</span></p>
+<p id="t339" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t340" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">isEndSpecLine</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">s</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t341" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">return</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">sEndSpec</span> <span class="key">in</span> <span class="nam">s</span> <span class="key">and</span> <span class="key">not</span> <span class="nam">self</span><span class="op">.</span><span class="nam">isEndOutputLine</span><span class="op">(</span><span class="nam">s</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t342" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t343" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">isEndOutputLine</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">s</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t344" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">return</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">sEndOutput</span> <span class="key">in</span> <span class="nam">s</span><span class="strut">&nbsp;</span></p>
+<p id="t345" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t346" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">installCogModule</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t347" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&quot;&quot;&quot; Magic mumbo-jumbo so that imported Python modules</span><span class="strut">&nbsp;</span></p>
+<p id="t348" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; can say &quot;import cog&quot; and get our state.</span><span class="strut">&nbsp;</span></p>
+<p id="t349" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t350" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cogmodule</span> <span class="op">=</span> <span class="nam">imp</span><span class="op">.</span><span class="nam">new_module</span><span class="op">(</span><span class="str">&#39;cog&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t351" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cogmodule</span><span class="op">.</span><span class="nam">path</span> <span class="op">=</span> <span class="op">[</span><span class="op">]</span><span class="strut">&nbsp;</span></p>
+<p id="t352" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">sys</span><span class="op">.</span><span class="nam">modules</span><span class="op">[</span><span class="str">&#39;cog&#39;</span><span class="op">]</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">cogmodule</span><span class="strut">&nbsp;</span></p>
+<p id="t353" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t354" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">openOutputFile</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">fname</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t355" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&quot;&quot;&quot; Open an output file, taking all the details into account.</span><span class="strut">&nbsp;</span></p>
+<p id="t356" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t357" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">opts</span> <span class="op">=</span> <span class="op">{</span><span class="op">}</span><span class="strut">&nbsp;</span></p>
+<p id="t358" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">mode</span> <span class="op">=</span> <span class="str">&quot;w&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t359" class="stm par run hide_run"><span class="annotate" title="Line 359 was executed, but never jumped to line 360">359&#x202F;&#x219B;&#x202F;360 [?]</span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">PY3</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t360" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">opts</span><span class="op">[</span><span class="str">&#39;encoding&#39;</span><span class="op">]</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">sEncoding</span><span class="strut">&nbsp;</span></p>
+<p id="t361" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">bNewlines</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t362" class="stm par run hide_run"><span class="annotate" title="Line 362 was executed, but never jumped to line 363">362&#x202F;&#x219B;&#x202F;363 [?]</span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">PY3</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t363" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">opts</span><span class="op">[</span><span class="str">&#39;newline&#39;</span><span class="op">]</span> <span class="op">=</span> <span class="str">&quot;\n&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t364" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">else</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t365" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">mode</span> <span class="op">=</span> <span class="str">&quot;wb&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t366" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">return</span> <span class="nam">open</span><span class="op">(</span><span class="nam">fname</span><span class="op">,</span> <span class="nam">mode</span><span class="op">,</span> <span class="op">**</span><span class="nam">opts</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t367" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t368" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">openInputFile</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">fname</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t369" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&quot;&quot;&quot; Open an input file. &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t370" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">fname</span> <span class="op">==</span> <span class="str">&quot;-&quot;</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t371" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">return</span> <span class="nam">sys</span><span class="op">.</span><span class="nam">stdin</span><span class="strut">&nbsp;</span></p>
+<p id="t372" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">else</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t373" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">opts</span> <span class="op">=</span> <span class="op">{</span><span class="op">}</span><span class="strut">&nbsp;</span></p>
+<p id="t374" class="stm par run hide_run"><span class="annotate" title="Line 374 was executed, but never jumped to line 375">374&#x202F;&#x219B;&#x202F;375 [?]</span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">PY3</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t375" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">opts</span><span class="op">[</span><span class="str">&#39;encoding&#39;</span><span class="op">]</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">sEncoding</span><span class="strut">&nbsp;</span></p>
+<p id="t376" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">return</span> <span class="nam">open</span><span class="op">(</span><span class="nam">fname</span><span class="op">,</span> <span class="str">&quot;r&quot;</span><span class="op">,</span> <span class="op">**</span><span class="nam">opts</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t377" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t378" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">processFile</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">fIn</span><span class="op">,</span> <span class="nam">fOut</span><span class="op">,</span> <span class="nam">fname</span><span class="op">=</span><span class="nam">None</span><span class="op">,</span> <span class="nam">globals</span><span class="op">=</span><span class="nam">None</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t379" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&quot;&quot;&quot; Process an input file object to an output file object.</span><span class="strut">&nbsp;</span></p>
+<p id="t380" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fIn and fOut can be file objects, or file names.</span><span class="strut">&nbsp;</span></p>
+<p id="t381" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t382" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t383" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">sFileIn</span> <span class="op">=</span> <span class="nam">fname</span> <span class="key">or</span> <span class="str">&#39;&#39;</span><span class="strut">&nbsp;</span></p>
+<p id="t384" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">sFileOut</span> <span class="op">=</span> <span class="nam">fname</span> <span class="key">or</span> <span class="str">&#39;&#39;</span><span class="strut">&nbsp;</span></p>
+<p id="t385" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">fInToClose</span> <span class="op">=</span> <span class="nam">fOutToClose</span> <span class="op">=</span> <span class="nam">None</span><span class="strut">&nbsp;</span></p>
+<p id="t386" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Convert filenames to files.</span><span class="strut">&nbsp;</span></p>
+<p id="t387" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">isinstance</span><span class="op">(</span><span class="nam">fIn</span><span class="op">,</span> <span class="nam">string_types</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t388" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Open the input file.</span><span class="strut">&nbsp;</span></p>
+<p id="t389" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">sFileIn</span> <span class="op">=</span> <span class="nam">fIn</span><span class="strut">&nbsp;</span></p>
+<p id="t390" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">fIn</span> <span class="op">=</span> <span class="nam">fInToClose</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">openInputFile</span><span class="op">(</span><span class="nam">fIn</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t391" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">isinstance</span><span class="op">(</span><span class="nam">fOut</span><span class="op">,</span> <span class="nam">string_types</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t392" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Open the output file.</span><span class="strut">&nbsp;</span></p>
+<p id="t393" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">sFileOut</span> <span class="op">=</span> <span class="nam">fOut</span><span class="strut">&nbsp;</span></p>
+<p id="t394" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">fOut</span> <span class="op">=</span> <span class="nam">fOutToClose</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">openOutputFile</span><span class="op">(</span><span class="nam">fOut</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t395" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t396" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">try</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t397" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">fIn</span> <span class="op">=</span> <span class="nam">NumberedFileReader</span><span class="op">(</span><span class="nam">fIn</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t398" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t399" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">bSawCog</span> <span class="op">=</span> <span class="nam">False</span><span class="strut">&nbsp;</span></p>
+<p id="t400" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t401" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cogmodule</span><span class="op">.</span><span class="nam">inFile</span> <span class="op">=</span> <span class="nam">sFileIn</span><span class="strut">&nbsp;</span></p>
+<p id="t402" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cogmodule</span><span class="op">.</span><span class="nam">outFile</span> <span class="op">=</span> <span class="nam">sFileOut</span><span class="strut">&nbsp;</span></p>
+<p id="t403" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t404" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># The globals dict we&#39;ll use for this file.</span><span class="strut">&nbsp;</span></p>
+<p id="t405" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">globals</span> <span class="key">is</span> <span class="nam">None</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t406" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">globals</span> <span class="op">=</span> <span class="op">{</span><span class="op">}</span><span class="strut">&nbsp;</span></p>
+<p id="t407" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t408" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># If there are any global defines, put them in the globals.</span><span class="strut">&nbsp;</span></p>
+<p id="t409" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">globals</span><span class="op">.</span><span class="nam">update</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">defines</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t410" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t411" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># loop over generator chunks</span><span class="strut">&nbsp;</span></p>
+<p id="t412" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">l</span> <span class="op">=</span> <span class="nam">fIn</span><span class="op">.</span><span class="nam">readline</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t413" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">while</span> <span class="nam">l</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t414" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Find the next spec begin</span><span class="strut">&nbsp;</span></p>
+<p id="t415" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">while</span> <span class="nam">l</span> <span class="key">and</span> <span class="key">not</span> <span class="nam">self</span><span class="op">.</span><span class="nam">isBeginSpecLine</span><span class="op">(</span><span class="nam">l</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t416" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">self</span><span class="op">.</span><span class="nam">isEndSpecLine</span><span class="op">(</span><span class="nam">l</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t417" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">raise</span> <span class="nam">CogError</span><span class="op">(</span><span class="str">&quot;Unexpected &#39;%s&#39;&quot;</span> <span class="op">%</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">sEndSpec</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t418" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">file</span><span class="op">=</span><span class="nam">sFileIn</span><span class="op">,</span> <span class="nam">line</span><span class="op">=</span><span class="nam">fIn</span><span class="op">.</span><span class="nam">linenumber</span><span class="op">(</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t419" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">self</span><span class="op">.</span><span class="nam">isEndOutputLine</span><span class="op">(</span><span class="nam">l</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t420" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">raise</span> <span class="nam">CogError</span><span class="op">(</span><span class="str">&quot;Unexpected &#39;%s&#39;&quot;</span> <span class="op">%</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">sEndOutput</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t421" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">file</span><span class="op">=</span><span class="nam">sFileIn</span><span class="op">,</span> <span class="nam">line</span><span class="op">=</span><span class="nam">fIn</span><span class="op">.</span><span class="nam">linenumber</span><span class="op">(</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t422" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">fOut</span><span class="op">.</span><span class="nam">write</span><span class="op">(</span><span class="nam">l</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t423" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">l</span> <span class="op">=</span> <span class="nam">fIn</span><span class="op">.</span><span class="nam">readline</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t424" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="key">not</span> <span class="nam">l</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t425" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">break</span><span class="strut">&nbsp;</span></p>
+<p id="t426" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="key">not</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">bDeleteCode</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t427" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">fOut</span><span class="op">.</span><span class="nam">write</span><span class="op">(</span><span class="nam">l</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t428" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t429" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># l is the begin spec</span><span class="strut">&nbsp;</span></p>
+<p id="t430" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">gen</span> <span class="op">=</span> <span class="nam">CogGenerator</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t431" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">gen</span><span class="op">.</span><span class="nam">setOutput</span><span class="op">(</span><span class="nam">stdout</span><span class="op">=</span><span class="nam">self</span><span class="op">.</span><span class="nam">stdout</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t432" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">gen</span><span class="op">.</span><span class="nam">parseMarker</span><span class="op">(</span><span class="nam">l</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t433" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">firstLineNum</span> <span class="op">=</span> <span class="nam">fIn</span><span class="op">.</span><span class="nam">linenumber</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t434" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cogmodule</span><span class="op">.</span><span class="nam">firstLineNum</span> <span class="op">=</span> <span class="nam">firstLineNum</span><span class="strut">&nbsp;</span></p>
+<p id="t435" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t436" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># If the spec begin is also a spec end, then process the single</span><span class="strut">&nbsp;</span></p>
+<p id="t437" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># line of code inside.</span><span class="strut">&nbsp;</span></p>
+<p id="t438" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">self</span><span class="op">.</span><span class="nam">isEndSpecLine</span><span class="op">(</span><span class="nam">l</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t439" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">beg</span> <span class="op">=</span> <span class="nam">l</span><span class="op">.</span><span class="nam">find</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">sBeginSpec</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t440" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">end</span> <span class="op">=</span> <span class="nam">l</span><span class="op">.</span><span class="nam">find</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">sEndSpec</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t441" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">beg</span> <span class="op">&gt;</span> <span class="nam">end</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t442" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">raise</span> <span class="nam">CogError</span><span class="op">(</span><span class="str">&quot;Cog code markers inverted&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t443" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">file</span><span class="op">=</span><span class="nam">sFileIn</span><span class="op">,</span> <span class="nam">line</span><span class="op">=</span><span class="nam">firstLineNum</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t444" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">else</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t445" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">sCode</span> <span class="op">=</span> <span class="nam">l</span><span class="op">[</span><span class="nam">beg</span><span class="op">+</span><span class="nam">len</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">sBeginSpec</span><span class="op">)</span><span class="op">:</span><span class="nam">end</span><span class="op">]</span><span class="op">.</span><span class="nam">strip</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t446" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">gen</span><span class="op">.</span><span class="nam">parseLine</span><span class="op">(</span><span class="nam">sCode</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t447" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">else</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t448" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Deal with an ordinary code block.</span><span class="strut">&nbsp;</span></p>
+<p id="t449" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">l</span> <span class="op">=</span> <span class="nam">fIn</span><span class="op">.</span><span class="nam">readline</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t450" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t451" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Get all the lines in the spec</span><span class="strut">&nbsp;</span></p>
+<p id="t452" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">while</span> <span class="nam">l</span> <span class="key">and</span> <span class="key">not</span> <span class="nam">self</span><span class="op">.</span><span class="nam">isEndSpecLine</span><span class="op">(</span><span class="nam">l</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t453" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">self</span><span class="op">.</span><span class="nam">isBeginSpecLine</span><span class="op">(</span><span class="nam">l</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t454" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">raise</span> <span class="nam">CogError</span><span class="op">(</span><span class="str">&quot;Unexpected &#39;%s&#39;&quot;</span> <span class="op">%</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">sBeginSpec</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t455" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">file</span><span class="op">=</span><span class="nam">sFileIn</span><span class="op">,</span> <span class="nam">line</span><span class="op">=</span><span class="nam">fIn</span><span class="op">.</span><span class="nam">linenumber</span><span class="op">(</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t456" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">self</span><span class="op">.</span><span class="nam">isEndOutputLine</span><span class="op">(</span><span class="nam">l</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t457" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">raise</span> <span class="nam">CogError</span><span class="op">(</span><span class="str">&quot;Unexpected &#39;%s&#39;&quot;</span> <span class="op">%</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">sEndOutput</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t458" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">file</span><span class="op">=</span><span class="nam">sFileIn</span><span class="op">,</span> <span class="nam">line</span><span class="op">=</span><span class="nam">fIn</span><span class="op">.</span><span class="nam">linenumber</span><span class="op">(</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t459" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="key">not</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">bDeleteCode</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t460" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">fOut</span><span class="op">.</span><span class="nam">write</span><span class="op">(</span><span class="nam">l</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t461" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">gen</span><span class="op">.</span><span class="nam">parseLine</span><span class="op">(</span><span class="nam">l</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t462" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">l</span> <span class="op">=</span> <span class="nam">fIn</span><span class="op">.</span><span class="nam">readline</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t463" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="key">not</span> <span class="nam">l</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t464" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">raise</span> <span class="nam">CogError</span><span class="op">(</span><span class="strut">&nbsp;</span></p>
+<p id="t465" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&quot;Cog block begun but never ended.&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t466" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">file</span><span class="op">=</span><span class="nam">sFileIn</span><span class="op">,</span> <span class="nam">line</span><span class="op">=</span><span class="nam">firstLineNum</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t467" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t468" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="key">not</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">bDeleteCode</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t469" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">fOut</span><span class="op">.</span><span class="nam">write</span><span class="op">(</span><span class="nam">l</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t470" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">gen</span><span class="op">.</span><span class="nam">parseMarker</span><span class="op">(</span><span class="nam">l</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t471" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t472" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">l</span> <span class="op">=</span> <span class="nam">fIn</span><span class="op">.</span><span class="nam">readline</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t473" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t474" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Eat all the lines in the output section.&nbsp; While reading past</span><span class="strut">&nbsp;</span></p>
+<p id="t475" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># them, compute the md5 hash of the old output.</span><span class="strut">&nbsp;</span></p>
+<p id="t476" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">previous</span> <span class="op">=</span> <span class="str">&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t477" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">hasher</span> <span class="op">=</span> <span class="nam">hashlib</span><span class="op">.</span><span class="nam">md5</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t478" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">while</span> <span class="nam">l</span> <span class="key">and</span> <span class="key">not</span> <span class="nam">self</span><span class="op">.</span><span class="nam">isEndOutputLine</span><span class="op">(</span><span class="nam">l</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t479" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">self</span><span class="op">.</span><span class="nam">isBeginSpecLine</span><span class="op">(</span><span class="nam">l</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t480" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">raise</span> <span class="nam">CogError</span><span class="op">(</span><span class="str">&quot;Unexpected &#39;%s&#39;&quot;</span> <span class="op">%</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">sBeginSpec</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t481" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">file</span><span class="op">=</span><span class="nam">sFileIn</span><span class="op">,</span> <span class="nam">line</span><span class="op">=</span><span class="nam">fIn</span><span class="op">.</span><span class="nam">linenumber</span><span class="op">(</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t482" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">self</span><span class="op">.</span><span class="nam">isEndSpecLine</span><span class="op">(</span><span class="nam">l</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t483" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">raise</span> <span class="nam">CogError</span><span class="op">(</span><span class="str">&quot;Unexpected &#39;%s&#39;&quot;</span> <span class="op">%</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">sEndSpec</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t484" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">file</span><span class="op">=</span><span class="nam">sFileIn</span><span class="op">,</span> <span class="nam">line</span><span class="op">=</span><span class="nam">fIn</span><span class="op">.</span><span class="nam">linenumber</span><span class="op">(</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t485" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">previous</span> <span class="op">+=</span> <span class="nam">l</span><span class="strut">&nbsp;</span></p>
+<p id="t486" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">hasher</span><span class="op">.</span><span class="nam">update</span><span class="op">(</span><span class="nam">to_bytes</span><span class="op">(</span><span class="nam">l</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t487" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">l</span> <span class="op">=</span> <span class="nam">fIn</span><span class="op">.</span><span class="nam">readline</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t488" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">curHash</span> <span class="op">=</span> <span class="nam">hasher</span><span class="op">.</span><span class="nam">hexdigest</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t489" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t490" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="key">not</span> <span class="nam">l</span> <span class="key">and</span> <span class="key">not</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">bEofCanBeEnd</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t491" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># We reached end of file before we found the end output line.</span><span class="strut">&nbsp;</span></p>
+<p id="t492" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">raise</span> <span class="nam">CogError</span><span class="op">(</span><span class="str">&quot;Missing &#39;%s&#39; before end of file.&quot;</span> <span class="op">%</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">sEndOutput</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t493" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">file</span><span class="op">=</span><span class="nam">sFileIn</span><span class="op">,</span> <span class="nam">line</span><span class="op">=</span><span class="nam">fIn</span><span class="op">.</span><span class="nam">linenumber</span><span class="op">(</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t494" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t495" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Make the previous output available to the current code</span><span class="strut">&nbsp;</span></p>
+<p id="t496" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cogmodule</span><span class="op">.</span><span class="nam">previous</span> <span class="op">=</span> <span class="nam">previous</span><span class="strut">&nbsp;</span></p>
+<p id="t497" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t498" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Write the output of the spec to be the new output if we&#39;re</span><span class="strut">&nbsp;</span></p>
+<p id="t499" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># supposed to generate code.</span><span class="strut">&nbsp;</span></p>
+<p id="t500" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">hasher</span> <span class="op">=</span> <span class="nam">hashlib</span><span class="op">.</span><span class="nam">md5</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t501" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="key">not</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">bNoGenerate</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t502" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">sFile</span> <span class="op">=</span> <span class="str">&quot;%s+%d&quot;</span> <span class="op">%</span> <span class="op">(</span><span class="nam">sFileIn</span><span class="op">,</span> <span class="nam">firstLineNum</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t503" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">sGen</span> <span class="op">=</span> <span class="nam">gen</span><span class="op">.</span><span class="nam">evaluate</span><span class="op">(</span><span class="nam">cog</span><span class="op">=</span><span class="nam">self</span><span class="op">,</span> <span class="nam">globals</span><span class="op">=</span><span class="nam">globals</span><span class="op">,</span> <span class="nam">fname</span><span class="op">=</span><span class="nam">sFile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t504" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">sGen</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">suffixLines</span><span class="op">(</span><span class="nam">sGen</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t505" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">hasher</span><span class="op">.</span><span class="nam">update</span><span class="op">(</span><span class="nam">to_bytes</span><span class="op">(</span><span class="nam">sGen</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t506" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">fOut</span><span class="op">.</span><span class="nam">write</span><span class="op">(</span><span class="nam">sGen</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t507" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">newHash</span> <span class="op">=</span> <span class="nam">hasher</span><span class="op">.</span><span class="nam">hexdigest</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t508" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t509" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">bSawCog</span> <span class="op">=</span> <span class="nam">True</span><span class="strut">&nbsp;</span></p>
+<p id="t510" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t511" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Write the ending output line</span><span class="strut">&nbsp;</span></p>
+<p id="t512" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">hashMatch</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">reEndOutput</span><span class="op">.</span><span class="nam">search</span><span class="op">(</span><span class="nam">l</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t513" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">bHashOutput</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t514" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">hashMatch</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t515" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">oldHash</span> <span class="op">=</span> <span class="nam">hashMatch</span><span class="op">.</span><span class="nam">groupdict</span><span class="op">(</span><span class="op">)</span><span class="op">[</span><span class="str">&#39;hash&#39;</span><span class="op">]</span><span class="strut">&nbsp;</span></p>
+<p id="t516" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">oldHash</span> <span class="op">!=</span> <span class="nam">curHash</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t517" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">raise</span> <span class="nam">CogError</span><span class="op">(</span><span class="str">&quot;Output has been edited! Delete old checksum to unprotect.&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t518" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">file</span><span class="op">=</span><span class="nam">sFileIn</span><span class="op">,</span> <span class="nam">line</span><span class="op">=</span><span class="nam">fIn</span><span class="op">.</span><span class="nam">linenumber</span><span class="op">(</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t519" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Create a new end line with the correct hash.</span><span class="strut">&nbsp;</span></p>
+<p id="t520" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">endpieces</span> <span class="op">=</span> <span class="nam">l</span><span class="op">.</span><span class="nam">split</span><span class="op">(</span><span class="nam">hashMatch</span><span class="op">.</span><span class="nam">group</span><span class="op">(</span><span class="num">0</span><span class="op">)</span><span class="op">,</span> <span class="num">1</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t521" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">else</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t522" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># There was no old hash, but we want a new hash.</span><span class="strut">&nbsp;</span></p>
+<p id="t523" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">endpieces</span> <span class="op">=</span> <span class="nam">l</span><span class="op">.</span><span class="nam">split</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">sEndOutput</span><span class="op">,</span> <span class="num">1</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t524" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">l</span> <span class="op">=</span> <span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">sEndFormat</span> <span class="op">%</span> <span class="nam">newHash</span><span class="op">)</span><span class="op">.</span><span class="nam">join</span><span class="op">(</span><span class="nam">endpieces</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t525" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">else</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t526" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># We don&#39;t want hashes output, so if there was one, get rid of</span><span class="strut">&nbsp;</span></p>
+<p id="t527" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># it.</span><span class="strut">&nbsp;</span></p>
+<p id="t528" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">hashMatch</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t529" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">l</span> <span class="op">=</span> <span class="nam">l</span><span class="op">.</span><span class="nam">replace</span><span class="op">(</span><span class="nam">hashMatch</span><span class="op">.</span><span class="nam">groupdict</span><span class="op">(</span><span class="op">)</span><span class="op">[</span><span class="str">&#39;hashsect&#39;</span><span class="op">]</span><span class="op">,</span> <span class="str">&#39;&#39;</span><span class="op">,</span> <span class="num">1</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t530" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t531" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="key">not</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">bDeleteCode</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t532" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">fOut</span><span class="op">.</span><span class="nam">write</span><span class="op">(</span><span class="nam">l</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t533" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">l</span> <span class="op">=</span> <span class="nam">fIn</span><span class="op">.</span><span class="nam">readline</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t534" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t535" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="key">not</span> <span class="nam">bSawCog</span> <span class="key">and</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">bWarnEmpty</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t536" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">showWarning</span><span class="op">(</span><span class="str">&quot;no cog code found in %s&quot;</span> <span class="op">%</span> <span class="nam">sFileIn</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t537" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">finally</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t538" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">fInToClose</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t539" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">fInToClose</span><span class="op">.</span><span class="nam">close</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t540" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">fOutToClose</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t541" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">fOutToClose</span><span class="op">.</span><span class="nam">close</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t542" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t543" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t544" class="pln">&nbsp; &nbsp; <span class="com"># A regex for non-empty lines, used by suffixLines.</span><span class="strut">&nbsp;</span></p>
+<p id="t545" class="stm run hide_run">&nbsp; &nbsp; <span class="nam">reNonEmptyLines</span> <span class="op">=</span> <span class="nam">re</span><span class="op">.</span><span class="nam">compile</span><span class="op">(</span><span class="str">&quot;^\s*\S+.*$&quot;</span><span class="op">,</span> <span class="nam">re</span><span class="op">.</span><span class="nam">MULTILINE</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t546" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t547" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">suffixLines</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">text</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t548" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&quot;&quot;&quot; Add suffixes to the lines in text, if our options desire it.</span><span class="strut">&nbsp;</span></p>
+<p id="t549" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; text is many lines, as a single string.</span><span class="strut">&nbsp;</span></p>
+<p id="t550" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t551" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">sSuffix</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t552" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Find all non-blank lines, and add the suffix to the end.</span><span class="strut">&nbsp;</span></p>
+<p id="t553" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">repl</span> <span class="op">=</span> <span class="str">r&quot;\g&lt;0&gt;&quot;</span> <span class="op">+</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">sSuffix</span><span class="op">.</span><span class="nam">replace</span><span class="op">(</span><span class="str">&#39;\\&#39;</span><span class="op">,</span> <span class="str">&#39;\\\\&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t554" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">text</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">reNonEmptyLines</span><span class="op">.</span><span class="nam">sub</span><span class="op">(</span><span class="nam">repl</span><span class="op">,</span> <span class="nam">text</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t555" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">return</span> <span class="nam">text</span><span class="strut">&nbsp;</span></p>
+<p id="t556" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t557" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">processString</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">sInput</span><span class="op">,</span> <span class="nam">fname</span><span class="op">=</span><span class="nam">None</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t558" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&quot;&quot;&quot; Process sInput as the text to cog.</span><span class="strut">&nbsp;</span></p>
+<p id="t559" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Return the cogged output as a string.</span><span class="strut">&nbsp;</span></p>
+<p id="t560" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t561" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">fOld</span> <span class="op">=</span> <span class="nam">StringIO</span><span class="op">(</span><span class="nam">sInput</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t562" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">fNew</span> <span class="op">=</span> <span class="nam">StringIO</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t563" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">processFile</span><span class="op">(</span><span class="nam">fOld</span><span class="op">,</span> <span class="nam">fNew</span><span class="op">,</span> <span class="nam">fname</span><span class="op">=</span><span class="nam">fname</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t564" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">return</span> <span class="nam">fNew</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t565" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t566" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">replaceFile</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">sOldPath</span><span class="op">,</span> <span class="nam">sNewText</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t567" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&quot;&quot;&quot; Replace file sOldPath with the contents sNewText</span><span class="strut">&nbsp;</span></p>
+<p id="t568" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t569" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="key">not</span> <span class="nam">os</span><span class="op">.</span><span class="nam">access</span><span class="op">(</span><span class="nam">sOldPath</span><span class="op">,</span> <span class="nam">os</span><span class="op">.</span><span class="nam">W_OK</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t570" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Need to ensure we can write.</span><span class="strut">&nbsp;</span></p>
+<p id="t571" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">sMakeWritableCmd</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t572" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Use an external command to make the file writable.</span><span class="strut">&nbsp;</span></p>
+<p id="t573" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">cmd</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">sMakeWritableCmd</span><span class="op">.</span><span class="nam">replace</span><span class="op">(</span><span class="str">&#39;%s&#39;</span><span class="op">,</span> <span class="nam">sOldPath</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t574" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">stdout</span><span class="op">.</span><span class="nam">write</span><span class="op">(</span><span class="nam">os</span><span class="op">.</span><span class="nam">popen</span><span class="op">(</span><span class="nam">cmd</span><span class="op">)</span><span class="op">.</span><span class="nam">read</span><span class="op">(</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t575" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="key">not</span> <span class="nam">os</span><span class="op">.</span><span class="nam">access</span><span class="op">(</span><span class="nam">sOldPath</span><span class="op">,</span> <span class="nam">os</span><span class="op">.</span><span class="nam">W_OK</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t576" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">raise</span> <span class="nam">CogError</span><span class="op">(</span><span class="str">&quot;Couldn&#39;t make %s writable&quot;</span> <span class="op">%</span> <span class="nam">sOldPath</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t577" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">else</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t578" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Can&#39;t write!</span><span class="strut">&nbsp;</span></p>
+<p id="t579" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">raise</span> <span class="nam">CogError</span><span class="op">(</span><span class="str">&quot;Can&#39;t overwrite %s&quot;</span> <span class="op">%</span> <span class="nam">sOldPath</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t580" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">f</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">openOutputFile</span><span class="op">(</span><span class="nam">sOldPath</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t581" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">f</span><span class="op">.</span><span class="nam">write</span><span class="op">(</span><span class="nam">sNewText</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t582" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">f</span><span class="op">.</span><span class="nam">close</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t583" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t584" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">saveIncludePath</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t585" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">savedInclude</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">includePath</span><span class="op">[</span><span class="op">:</span><span class="op">]</span><span class="strut">&nbsp;</span></p>
+<p id="t586" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">savedSysPath</span> <span class="op">=</span> <span class="nam">sys</span><span class="op">.</span><span class="nam">path</span><span class="op">[</span><span class="op">:</span><span class="op">]</span><span class="strut">&nbsp;</span></p>
+<p id="t587" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t588" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">restoreIncludePath</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t589" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">includePath</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">savedInclude</span><span class="strut">&nbsp;</span></p>
+<p id="t590" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cogmodule</span><span class="op">.</span><span class="nam">path</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">includePath</span><span class="strut">&nbsp;</span></p>
+<p id="t591" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">sys</span><span class="op">.</span><span class="nam">path</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">savedSysPath</span><span class="strut">&nbsp;</span></p>
+<p id="t592" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t593" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">addToIncludePath</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">includePath</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t594" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cogmodule</span><span class="op">.</span><span class="nam">path</span><span class="op">.</span><span class="nam">extend</span><span class="op">(</span><span class="nam">includePath</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t595" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">sys</span><span class="op">.</span><span class="nam">path</span><span class="op">.</span><span class="nam">extend</span><span class="op">(</span><span class="nam">includePath</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t596" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t597" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">processOneFile</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">sFile</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t598" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&quot;&quot;&quot; Process one filename through cog.</span><span class="strut">&nbsp;</span></p>
+<p id="t599" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t600" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t601" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">saveIncludePath</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t602" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">bNeedNewline</span> <span class="op">=</span> <span class="nam">False</span><span class="strut">&nbsp;</span></p>
+<p id="t603" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t604" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">try</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t605" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">addToIncludePath</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">includePath</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t606" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Since we know where the input file came from,</span><span class="strut">&nbsp;</span></p>
+<p id="t607" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># push its directory onto the include path.</span><span class="strut">&nbsp;</span></p>
+<p id="t608" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">addToIncludePath</span><span class="op">(</span><span class="op">[</span><span class="nam">os</span><span class="op">.</span><span class="nam">path</span><span class="op">.</span><span class="nam">dirname</span><span class="op">(</span><span class="nam">sFile</span><span class="op">)</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t609" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t610" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># How we process the file depends on where the output is going.</span><span class="strut">&nbsp;</span></p>
+<p id="t611" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">sOutputName</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t612" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">processFile</span><span class="op">(</span><span class="nam">sFile</span><span class="op">,</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">sOutputName</span><span class="op">,</span> <span class="nam">sFile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t613" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">elif</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">bReplace</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t614" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># We want to replace the cog file with the output,</span><span class="strut">&nbsp;</span></p>
+<p id="t615" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># but only if they differ.</span><span class="strut">&nbsp;</span></p>
+<p id="t616" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">verbosity</span> <span class="op">&gt;=</span> <span class="num">2</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t617" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">prout</span><span class="op">(</span><span class="str">&quot;Cogging %s&quot;</span> <span class="op">%</span> <span class="nam">sFile</span><span class="op">,</span> <span class="nam">end</span><span class="op">=</span><span class="str">&quot;&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t618" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">bNeedNewline</span> <span class="op">=</span> <span class="nam">True</span><span class="strut">&nbsp;</span></p>
+<p id="t619" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t620" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">try</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t621" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">fOldFile</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">openInputFile</span><span class="op">(</span><span class="nam">sFile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t622" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">sOldText</span> <span class="op">=</span> <span class="nam">fOldFile</span><span class="op">.</span><span class="nam">read</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t623" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">fOldFile</span><span class="op">.</span><span class="nam">close</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t624" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">sNewText</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">processString</span><span class="op">(</span><span class="nam">sOldText</span><span class="op">,</span> <span class="nam">fname</span><span class="op">=</span><span class="nam">sFile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t625" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">sOldText</span> <span class="op">!=</span> <span class="nam">sNewText</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t626" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">verbosity</span> <span class="op">&gt;=</span> <span class="num">1</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t627" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">verbosity</span> <span class="op">&lt;</span> <span class="num">2</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t628" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">prout</span><span class="op">(</span><span class="str">&quot;Cogging %s&quot;</span> <span class="op">%</span> <span class="nam">sFile</span><span class="op">,</span> <span class="nam">end</span><span class="op">=</span><span class="str">&quot;&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t629" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">prout</span><span class="op">(</span><span class="str">&quot;&nbsp; (changed)&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t630" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">bNeedNewline</span> <span class="op">=</span> <span class="nam">False</span><span class="strut">&nbsp;</span></p>
+<p id="t631" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">replaceFile</span><span class="op">(</span><span class="nam">sFile</span><span class="op">,</span> <span class="nam">sNewText</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t632" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">finally</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t633" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># The try-finally block is so we can print a partial line</span><span class="strut">&nbsp;</span></p>
+<p id="t634" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># with the name of the file, and print (changed) on the</span><span class="strut">&nbsp;</span></p>
+<p id="t635" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># same line, but also make sure to break the line before</span><span class="strut">&nbsp;</span></p>
+<p id="t636" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># any traceback.</span><span class="strut">&nbsp;</span></p>
+<p id="t637" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">bNeedNewline</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t638" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">prout</span><span class="op">(</span><span class="str">&quot;&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t639" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">else</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t640" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">processFile</span><span class="op">(</span><span class="nam">sFile</span><span class="op">,</span> <span class="nam">self</span><span class="op">.</span><span class="nam">stdout</span><span class="op">,</span> <span class="nam">sFile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t641" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">finally</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t642" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">restoreIncludePath</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t643" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t644" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">processFileList</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">sFileList</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t645" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&quot;&quot;&quot; Process the files in a file list.</span><span class="strut">&nbsp;</span></p>
+<p id="t646" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t647" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">flist</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">openInputFile</span><span class="op">(</span><span class="nam">sFileList</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t648" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">lines</span> <span class="op">=</span> <span class="nam">flist</span><span class="op">.</span><span class="nam">readlines</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t649" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">flist</span><span class="op">.</span><span class="nam">close</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t650" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">for</span> <span class="nam">l</span> <span class="key">in</span> <span class="nam">lines</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t651" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Use shlex to parse the line like a shell.</span><span class="strut">&nbsp;</span></p>
+<p id="t652" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">lex</span> <span class="op">=</span> <span class="nam">shlex</span><span class="op">.</span><span class="nam">shlex</span><span class="op">(</span><span class="nam">l</span><span class="op">,</span> <span class="nam">posix</span><span class="op">=</span><span class="nam">True</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t653" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">lex</span><span class="op">.</span><span class="nam">whitespace_split</span> <span class="op">=</span> <span class="nam">True</span><span class="strut">&nbsp;</span></p>
+<p id="t654" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">lex</span><span class="op">.</span><span class="nam">commenters</span> <span class="op">=</span> <span class="str">&#39;#&#39;</span><span class="strut">&nbsp;</span></p>
+<p id="t655" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># No escapes, so that backslash can be part of the path</span><span class="strut">&nbsp;</span></p>
+<p id="t656" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">lex</span><span class="op">.</span><span class="nam">escape</span> <span class="op">=</span> <span class="str">&#39;&#39;</span><span class="strut">&nbsp;</span></p>
+<p id="t657" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">args</span> <span class="op">=</span> <span class="nam">list</span><span class="op">(</span><span class="nam">lex</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t658" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">args</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t659" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">processArguments</span><span class="op">(</span><span class="nam">args</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t660" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t661" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">processArguments</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">args</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t662" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&quot;&quot;&quot; Process one command-line.</span><span class="strut">&nbsp;</span></p>
+<p id="t663" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t664" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">saved_options</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="strut">&nbsp;</span></p>
+<p id="t665" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">options</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">clone</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t666" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t667" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">parseArgs</span><span class="op">(</span><span class="nam">args</span><span class="op">[</span><span class="num">1</span><span class="op">:</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t668" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">validate</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t669" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t670" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">args</span><span class="op">[</span><span class="num">0</span><span class="op">]</span><span class="op">[</span><span class="num">0</span><span class="op">]</span> <span class="op">==</span> <span class="str">&#39;@&#39;</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t671" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">sOutputName</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t672" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">raise</span> <span class="nam">CogUsageError</span><span class="op">(</span><span class="str">&quot;Can&#39;t use -o with @file&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t673" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">processFileList</span><span class="op">(</span><span class="nam">args</span><span class="op">[</span><span class="num">0</span><span class="op">]</span><span class="op">[</span><span class="num">1</span><span class="op">:</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t674" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">else</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t675" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">processOneFile</span><span class="op">(</span><span class="nam">args</span><span class="op">[</span><span class="num">0</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t676" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t677" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">options</span> <span class="op">=</span> <span class="nam">saved_options</span><span class="strut">&nbsp;</span></p>
+<p id="t678" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t679" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">callableMain</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">argv</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t680" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&quot;&quot;&quot; All of command-line cog, but in a callable form.</span><span class="strut">&nbsp;</span></p>
+<p id="t681" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This is used by main.</span><span class="strut">&nbsp;</span></p>
+<p id="t682" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; argv is the equivalent of sys.argv.</span><span class="strut">&nbsp;</span></p>
+<p id="t683" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t684" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">argv</span> <span class="op">=</span> <span class="nam">argv</span><span class="op">[</span><span class="num">1</span><span class="op">:</span><span class="op">]</span><span class="strut">&nbsp;</span></p>
+<p id="t685" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t686" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Provide help if asked for anywhere in the command line.</span><span class="strut">&nbsp;</span></p>
+<p id="t687" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="str">&#39;-?&#39;</span> <span class="key">in</span> <span class="nam">argv</span> <span class="key">or</span> <span class="str">&#39;-h&#39;</span> <span class="key">in</span> <span class="nam">argv</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t688" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">prerr</span><span class="op">(</span><span class="nam">usage</span><span class="op">,</span> <span class="nam">end</span><span class="op">=</span><span class="str">&quot;&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t689" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">return</span><span class="strut">&nbsp;</span></p>
+<p id="t690" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t691" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">parseArgs</span><span class="op">(</span><span class="nam">argv</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t692" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">validate</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t693" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">_fixEndOutputPatterns</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t694" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t695" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">bShowVersion</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t696" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">prout</span><span class="op">(</span><span class="str">&quot;Cog version %s&quot;</span> <span class="op">%</span> <span class="nam">__version__</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t697" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">return</span><span class="strut">&nbsp;</span></p>
+<p id="t698" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t699" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">args</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t700" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">for</span> <span class="nam">a</span> <span class="key">in</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">args</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t701" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">processArguments</span><span class="op">(</span><span class="op">[</span><span class="nam">a</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t702" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">else</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t703" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">raise</span> <span class="nam">CogUsageError</span><span class="op">(</span><span class="str">&quot;No files to process&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t704" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t705" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">main</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">argv</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t706" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&quot;&quot;&quot; Handle the command-line execution for cog.</span><span class="strut">&nbsp;</span></p>
+<p id="t707" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t708" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t709" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">try</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t710" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="nam">argv</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t711" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">return</span> <span class="num">0</span><span class="strut">&nbsp;</span></p>
+<p id="t712" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">except</span> <span class="nam">CogUsageError</span> <span class="key">as</span> <span class="nam">err</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t713" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">prerr</span><span class="op">(</span><span class="nam">err</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t714" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">prerr</span><span class="op">(</span><span class="str">&quot;(for help use -?)&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t715" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">return</span> <span class="num">2</span><span class="strut">&nbsp;</span></p>
+<p id="t716" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">except</span> <span class="nam">CogGeneratedError</span> <span class="key">as</span> <span class="nam">err</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t717" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">prerr</span><span class="op">(</span><span class="str">&quot;Error: %s&quot;</span> <span class="op">%</span> <span class="nam">err</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t718" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">return</span> <span class="num">3</span><span class="strut">&nbsp;</span></p>
+<p id="t719" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">except</span> <span class="nam">CogError</span> <span class="key">as</span> <span class="nam">err</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t720" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">prerr</span><span class="op">(</span><span class="nam">err</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t721" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">return</span> <span class="num">1</span><span class="strut">&nbsp;</span></p>
+<p id="t722" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">except</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t723" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">traceback</span><span class="op">.</span><span class="nam">print_exc</span><span class="op">(</span><span class="nam">None</span><span class="op">,</span> <span class="nam">self</span><span class="op">.</span><span class="nam">stderr</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t724" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">return</span> <span class="num">1</span><span class="strut">&nbsp;</span></p>
+<p id="t725" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t726" class="pln"><span class="com"># History:</span><span class="strut">&nbsp;</span></p>
+<p id="t727" class="pln"><span class="com"># 20040210: First public version.</span><span class="strut">&nbsp;</span></p>
+<p id="t728" class="pln"><span class="com"># 20040220: Text preceding the start and end marker are removed from Python lines.</span><span class="strut">&nbsp;</span></p>
+<p id="t729" class="pln"><span class="com">#&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; -v option on the command line shows the version.</span><span class="strut">&nbsp;</span></p>
+<p id="t730" class="pln"><span class="com"># 20040311: Make sure the last line of output is properly ended with a newline.</span><span class="strut">&nbsp;</span></p>
+<p id="t731" class="pln"><span class="com"># 20040605: Fixed some blank line handling in cog.</span><span class="strut">&nbsp;</span></p>
+<p id="t732" class="pln"><span class="com">#&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; Fixed problems with assigning to xml elements in handyxml.</span><span class="strut">&nbsp;</span></p>
+<p id="t733" class="pln"><span class="com"># 20040621: Changed all line-ends to LF from CRLF.</span><span class="strut">&nbsp;</span></p>
+<p id="t734" class="pln"><span class="com"># 20041002: Refactor some option handling to simplify unittesting the options.</span><span class="strut">&nbsp;</span></p>
+<p id="t735" class="pln"><span class="com"># 20041118: cog.out and cog.outl have optional string arguments.</span><span class="strut">&nbsp;</span></p>
+<p id="t736" class="pln"><span class="com"># 20041119: File names weren&#39;t being properly passed around for warnings, etc.</span><span class="strut">&nbsp;</span></p>
+<p id="t737" class="pln"><span class="com"># 20041122: Added cog.firstLineNum: a property with the line number of the [[[cog line.</span><span class="strut">&nbsp;</span></p>
+<p id="t738" class="pln"><span class="com">#&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; Added cog.inFile and cog.outFile: the names of the input and output file.</span><span class="strut">&nbsp;</span></p>
+<p id="t739" class="pln"><span class="com"># 20041218: Single-line cog generators, with start marker and end marker on</span><span class="strut">&nbsp;</span></p>
+<p id="t740" class="pln"><span class="com">#&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; the same line.</span><span class="strut">&nbsp;</span></p>
+<p id="t741" class="pln"><span class="com"># 20041230: Keep a single globals dict for all the code fragments in a single</span><span class="strut">&nbsp;</span></p>
+<p id="t742" class="pln"><span class="com">#&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; file so they can share state.</span><span class="strut">&nbsp;</span></p>
+<p id="t743" class="pln"><span class="com"># 20050206: Added the -x switch to remove all generated output.</span><span class="strut">&nbsp;</span></p>
+<p id="t744" class="pln"><span class="com"># 20050218: Now code can be on the marker lines as well.</span><span class="strut">&nbsp;</span></p>
+<p id="t745" class="pln"><span class="com"># 20050219: Added -c switch to checksum the output so that edits can be</span><span class="strut">&nbsp;</span></p>
+<p id="t746" class="pln"><span class="com">#&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; detected before they are obliterated.</span><span class="strut">&nbsp;</span></p>
+<p id="t747" class="pln"><span class="com"># 20050521: Added cog.error, contributed by Alexander Belchenko.</span><span class="strut">&nbsp;</span></p>
+<p id="t748" class="pln"><span class="com"># 20050720: Added code deletion and settable globals contributed by Blake Winton.</span><span class="strut">&nbsp;</span></p>
+<p id="t749" class="pln"><span class="com"># 20050724: Many tweaks to improve code coverage.</span><span class="strut">&nbsp;</span></p>
+<p id="t750" class="pln"><span class="com"># 20050726: Error messages are now printed with no traceback.</span><span class="strut">&nbsp;</span></p>
+<p id="t751" class="pln"><span class="com">#&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; Code can no longer appear on the marker lines,</span><span class="strut">&nbsp;</span></p>
+<p id="t752" class="pln"><span class="com">#&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; except for single-line style.</span><span class="strut">&nbsp;</span></p>
+<p id="t753" class="pln"><span class="com">#&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; -z allows omission of the [[[end]]] marker, and it will be assumed</span><span class="strut">&nbsp;</span></p>
+<p id="t754" class="pln"><span class="com">#&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; at the end of the file.</span><span class="strut">&nbsp;</span></p>
+<p id="t755" class="pln"><span class="com"># 20050729: Refactor option parsing into a separate class, in preparation for</span><span class="strut">&nbsp;</span></p>
+<p id="t756" class="pln"><span class="com">#&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; future features.</span><span class="strut">&nbsp;</span></p>
+<p id="t757" class="pln"><span class="com"># 20050805: The cogmodule.path wasn&#39;t being properly maintained.</span><span class="strut">&nbsp;</span></p>
+<p id="t758" class="pln"><span class="com"># 20050808: Added the -D option to define a global value.</span><span class="strut">&nbsp;</span></p>
+<p id="t759" class="pln"><span class="com"># 20050810: The %s in the -w command is dealt with more robustly.</span><span class="strut">&nbsp;</span></p>
+<p id="t760" class="pln"><span class="com">#&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; Added the -s option to suffix output lines with a marker.</span><span class="strut">&nbsp;</span></p>
+<p id="t761" class="pln"><span class="com"># 20050817: Now @files can have arguments on each line to change the cog&#39;s</span><span class="strut">&nbsp;</span></p>
+<p id="t762" class="pln"><span class="com">#&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; behavior for that line.</span><span class="strut">&nbsp;</span></p>
+<p id="t763" class="pln"><span class="com"># 20051006: Version 2.0</span><span class="strut">&nbsp;</span></p>
+<p id="t764" class="pln"><span class="com"># 20080521: -U options lets you create Unix newlines on Windows.&nbsp; Thanks,</span><span class="strut">&nbsp;</span></p>
+<p id="t765" class="pln"><span class="com">#&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; Alexander Belchenko.</span><span class="strut">&nbsp;</span></p>
+<p id="t766" class="pln"><span class="com"># 20080522: It&#39;s now ok to have -d with output to stdout, and now we validate</span><span class="strut">&nbsp;</span></p>
+<p id="t767" class="pln"><span class="com">#&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; the args after each line of an @file.</span><span class="strut">&nbsp;</span></p>
+<p id="t768" class="pln"><span class="com"># 20090520: Use hashlib where it&#39;s available, to avoid a warning.</span><span class="strut">&nbsp;</span></p>
+<p id="t769" class="pln"><span class="com">#&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; Use the builtin compile() instead of compiler, for Jython.</span><span class="strut">&nbsp;</span></p>
+<p id="t770" class="pln"><span class="com">#&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; Explicitly close files we opened, Jython likes this.</span><span class="strut">&nbsp;</span></p>
+<p id="t771" class="pln"><span class="com"># 20120205: Port to Python 3.&nbsp; Lowest supported version is 2.6.</span><span class="strut">&nbsp;</span></p>
+<p id="t772" class="pln"><span class="com"># 20150104: --markers option added by Doug Hellmann.</span><span class="strut">&nbsp;</span></p>
+<p id="t773" class="pln"><span class="com"># 20150104: -n ENCODING option added by Petr Gladkiy.</span><span class="strut">&nbsp;</span></p>
+<p id="t774" class="pln"><span class="com"># 20150107: Added --verbose to control what files get listed.</span><span class="strut">&nbsp;</span></p>
+<p id="t775" class="pln"><span class="com"># 20150111: Version 2.4</span><span class="strut">&nbsp;</span></p>
+
+ </td>
+ </tr>
+ </table>
+</div>
+
+<div id="footer">
+ <div class="content">
+ <p>
+ <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.org">coverage.py v4.0</a>,
+ created at 2015-09-20 10:28
+ </p>
+ </div>
+</div>
+
+</body>
+</html>
diff --git a/doc/sample_html/cogapp_makefiles.html b/doc/sample_html/cogapp_makefiles.html
deleted file mode 100644
index 62bde7ac..00000000
--- a/doc/sample_html/cogapp_makefiles.html
+++ /dev/null
@@ -1,210 +0,0 @@
-<!doctype html PUBLIC "-//W3C//DTD html 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
- <meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
-
-
- <meta http-equiv='X-UA-Compatible' content='IE=emulateIE7' />
- <title>Coverage for cogapp/makefiles: 19%</title>
- <link rel='stylesheet' href='style.css' type='text/css'>
-
- <script type='text/javascript' src='jquery.min.js'></script>
- <script type='text/javascript' src='jquery.hotkeys.js'></script>
- <script type='text/javascript' src='jquery.isonscreen.js'></script>
- <script type='text/javascript' src='coverage_html.js'></script>
- <script type='text/javascript' charset='utf-8'>
- jQuery(document).ready(coverage.pyfile_ready);
- </script>
-</head>
-<body id='pyfile'>
-
-<div id='header'>
- <div class='content'>
- <h1>Coverage for <b>cogapp/makefiles</b> :
- <span class='pc_cov'>19%</span>
- </h1>
- <img id='keyboard_icon' src='keybd_closed.png'>
- <h2 class='stats'>
- 28 statements &nbsp;
- <span class='run hide_run shortkey_r button_toggle_run'>8 run</span>
- <span class='mis shortkey_m button_toggle_mis'>20 missing</span>
- <span class='exc shortkey_x button_toggle_exc'>3 excluded</span>
-
- <span class='par run hide_run shortkey_p button_toggle_par'>0 partial</span>
-
- </h2>
- </div>
-</div>
-
-<div class='help_panel'>
- <img id='panel_icon' src='keybd_open.png'>
-<p class='legend'>Hot-keys on this page</p>
- <div>
-<p class='keyhelp'>
- <span class='key'>r</span>
- <span class='key'>m</span>
- <span class='key'>x</span>
- <span class='key'>p</span> &nbsp; toggle line displays
- </p>
-<p class='keyhelp'>
- <span class='key'>j</span>
- <span class='key'>k</span> &nbsp; next/prev highlighted chunk
- </p>
-<p class='keyhelp'>
- <span class='key'>0</span> &nbsp; (zero) top of page
- </p>
-<p class='keyhelp'>
- <span class='key'>1</span> &nbsp; (one) first highlighted chunk
- </p>
- </div>
-</div>
-
-<div id='source'>
- <table cellspacing='0' cellpadding='0'>
- <tr>
- <td class='linenos' valign='top'>
-<p id='n1' class='pln'><a href='#n1'>1</a></p>
-<p id='n2' class='pln'><a href='#n2'>2</a></p>
-<p id='n3' class='pln'><a href='#n3'>3</a></p>
-<p id='n4' class='pln'><a href='#n4'>4</a></p>
-<p id='n5' class='pln'><a href='#n5'>5</a></p>
-<p id='n6' class='pln'><a href='#n6'>6</a></p>
-<p id='n7' class='stm run hide_run'><a href='#n7'>7</a></p>
-<p id='n8' class='stm run hide_run'><a href='#n8'>8</a></p>
-<p id='n9' class='stm run hide_run'><a href='#n9'>9</a></p>
-<p id='n10' class='stm run hide_run'><a href='#n10'>10</a></p>
-<p id='n11' class='pln'><a href='#n11'>11</a></p>
-<p id='n12' class='stm run hide_run'><a href='#n12'>12</a></p>
-<p id='n13' class='stm run hide_run'><a href='#n13'>13</a></p>
-<p id='n14' class='pln'><a href='#n14'>14</a></p>
-<p id='n15' class='stm run hide_run'><a href='#n15'>15</a></p>
-<p id='n16' class='pln'><a href='#n16'>16</a></p>
-<p id='n17' class='pln'><a href='#n17'>17</a></p>
-<p id='n18' class='stm mis'><a href='#n18'>18</a></p>
-<p id='n19' class='stm mis'><a href='#n19'>19</a></p>
-<p id='n20' class='stm mis'><a href='#n20'>20</a></p>
-<p id='n21' class='stm mis'><a href='#n21'>21</a></p>
-<p id='n22' class='stm mis'><a href='#n22'>22</a></p>
-<p id='n23' class='stm mis'><a href='#n23'>23</a></p>
-<p id='n24' class='stm mis'><a href='#n24'>24</a></p>
-<p id='n25' class='stm mis'><a href='#n25'>25</a></p>
-<p id='n26' class='stm mis'><a href='#n26'>26</a></p>
-<p id='n27' class='stm mis'><a href='#n27'>27</a></p>
-<p id='n28' class='pln'><a href='#n28'>28</a></p>
-<p id='n29' class='stm mis'><a href='#n29'>29</a></p>
-<p id='n30' class='stm mis'><a href='#n30'>30</a></p>
-<p id='n31' class='stm mis'><a href='#n31'>31</a></p>
-<p id='n32' class='pln'><a href='#n32'>32</a></p>
-<p id='n33' class='stm run hide_run'><a href='#n33'>33</a></p>
-<p id='n34' class='pln'><a href='#n34'>34</a></p>
-<p id='n35' class='pln'><a href='#n35'>35</a></p>
-<p id='n36' class='pln'><a href='#n36'>36</a></p>
-<p id='n37' class='stm mis'><a href='#n37'>37</a></p>
-<p id='n38' class='stm mis'><a href='#n38'>38</a></p>
-<p id='n39' class='stm mis'><a href='#n39'>39</a></p>
-<p id='n40' class='stm mis'><a href='#n40'>40</a></p>
-<p id='n41' class='pln'><a href='#n41'>41</a></p>
-<p id='n42' class='stm mis'><a href='#n42'>42</a></p>
-<p id='n43' class='stm mis'><a href='#n43'>43</a></p>
-<p id='n44' class='stm mis'><a href='#n44'>44</a></p>
-<p id='n45' class='pln'><a href='#n45'>45</a></p>
-<p id='n46' class='exc'><a href='#n46'>46</a></p>
-<p id='n47' class='pln'><a href='#n47'>47</a></p>
-<p id='n48' class='exc'><a href='#n48'>48</a></p>
-<p id='n49' class='pln'><a href='#n49'>49</a></p>
-<p id='n50' class='pln'><a href='#n50'>50</a></p>
-<p id='n51' class='pln'><a href='#n51'>51</a></p>
-<p id='n52' class='pln'><a href='#n52'>52</a></p>
-<p id='n53' class='pln'><a href='#n53'>53</a></p>
-<p id='n54' class='pln'><a href='#n54'>54</a></p>
-<p id='n55' class='pln'><a href='#n55'>55</a></p>
-<p id='n56' class='pln'><a href='#n56'>56</a></p>
-<p id='n57' class='pln'><a href='#n57'>57</a></p>
-<p id='n58' class='pln'><a href='#n58'>58</a></p>
-<p id='n59' class='pln'><a href='#n59'>59</a></p>
-<p id='n60' class='pln'><a href='#n60'>60</a></p>
-<p id='n61' class='pln'><a href='#n61'>61</a></p>
-<p id='n62' class='pln'><a href='#n62'>62</a></p>
-<p id='n63' class='exc'><a href='#n63'>63</a></p>
-
- </td>
- <td class='text' valign='top'>
-<p id='t1' class='pln'><span class='str'>&quot;&quot;&quot; Dictionary-to-filetree functions, to create test files for testing.</span><span class='strut'>&nbsp;</span></p>
-<p id='t2' class='pln'><span class='str'>&nbsp; &nbsp; http://nedbatchelder.com/code/cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t3' class='pln'><span class='str'>&nbsp; &nbsp; </span><span class='strut'>&nbsp;</span></p>
-<p id='t4' class='pln'><span class='str'>&nbsp; &nbsp; Copyright 2004-2012, Ned Batchelder.</span><span class='strut'>&nbsp;</span></p>
-<p id='t5' class='pln'><span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t6' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t7' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>__future__</span> <span class='key'>import</span> <span class='nam'>absolute_import</span><span class='strut'>&nbsp;</span></p>
-<p id='t8' class='stm run hide_run'><span class='key'>import</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='strut'>&nbsp;</span></p>
-<p id='t9' class='stm run hide_run'><span class='key'>from</span> <span class='op'>.</span><span class='nam'>whiteutils</span> <span class='key'>import</span> <span class='nam'>reindentBlock</span><span class='strut'>&nbsp;</span></p>
-<p id='t10' class='stm run hide_run'><span class='key'>from</span> <span class='op'>.</span><span class='nam'>backward</span> <span class='key'>import</span> <span class='nam'>string_types</span><span class='op'>,</span> <span class='nam'>bytes_types</span><span class='strut'>&nbsp;</span></p>
-<p id='t11' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t12' class='stm run hide_run'><span class='nam'>__version__</span> <span class='op'>=</span> <span class='str'>&#39;1.0.20040126&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t13' class='stm run hide_run'><span class='nam'>__all__</span> <span class='op'>=</span> <span class='op'>[</span><span class='str'>&#39;makeFiles&#39;</span><span class='op'>,</span> <span class='str'>&#39;removeFiles&#39;</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t14' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t15' class='stm run hide_run'><span class='key'>def</span> <span class='nam'>makeFiles</span><span class='op'>(</span><span class='nam'>d</span><span class='op'>,</span> <span class='nam'>basedir</span><span class='op'>=</span><span class='str'>&#39;.&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t16' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Create files from the dictionary `d`, in the directory named by `basedir`.</span><span class='strut'>&nbsp;</span></p>
-<p id='t17' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t18' class='stm mis'>&nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>name</span><span class='op'>,</span> <span class='nam'>contents</span> <span class='key'>in</span> <span class='nam'>d</span><span class='op'>.</span><span class='nam'>items</span><span class='op'>(</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t19' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>child</span> <span class='op'>=</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>join</span><span class='op'>(</span><span class='nam'>basedir</span><span class='op'>,</span> <span class='nam'>name</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t20' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>contents</span><span class='op'>,</span> <span class='nam'>string_types</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t21' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>mode</span> <span class='op'>=</span> <span class='str'>&#39;w&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t22' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>contents</span><span class='op'>,</span> <span class='nam'>bytes_types</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t23' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>mode</span> <span class='op'>+=</span> <span class='str'>&quot;b&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t24' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>f</span> <span class='op'>=</span> <span class='nam'>open</span><span class='op'>(</span><span class='nam'>child</span><span class='op'>,</span> <span class='nam'>mode</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t25' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>contents</span> <span class='op'>=</span> <span class='nam'>reindentBlock</span><span class='op'>(</span><span class='nam'>contents</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t26' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>f</span><span class='op'>.</span><span class='nam'>write</span><span class='op'>(</span><span class='nam'>contents</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t27' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>f</span><span class='op'>.</span><span class='nam'>close</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t28' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t29' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>exists</span><span class='op'>(</span><span class='nam'>child</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t30' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>os</span><span class='op'>.</span><span class='nam'>mkdir</span><span class='op'>(</span><span class='nam'>child</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t31' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>makeFiles</span><span class='op'>(</span><span class='nam'>contents</span><span class='op'>,</span> <span class='nam'>child</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t32' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t33' class='stm run hide_run'><span class='key'>def</span> <span class='nam'>removeFiles</span><span class='op'>(</span><span class='nam'>d</span><span class='op'>,</span> <span class='nam'>basedir</span><span class='op'>=</span><span class='str'>&#39;.&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t34' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Remove the files created by makeFiles.</span><span class='strut'>&nbsp;</span></p>
-<p id='t35' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Directories are removed if they are empty.</span><span class='strut'>&nbsp;</span></p>
-<p id='t36' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t37' class='stm mis'>&nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>name</span><span class='op'>,</span> <span class='nam'>contents</span> <span class='key'>in</span> <span class='nam'>d</span><span class='op'>.</span><span class='nam'>items</span><span class='op'>(</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t38' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>child</span> <span class='op'>=</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>join</span><span class='op'>(</span><span class='nam'>basedir</span><span class='op'>,</span> <span class='nam'>name</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t39' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>contents</span><span class='op'>,</span> <span class='nam'>string_types</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t40' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>os</span><span class='op'>.</span><span class='nam'>remove</span><span class='op'>(</span><span class='nam'>child</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t41' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t42' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>removeFiles</span><span class='op'>(</span><span class='nam'>contents</span><span class='op'>,</span> <span class='nam'>child</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t43' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>listdir</span><span class='op'>(</span><span class='nam'>child</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t44' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>os</span><span class='op'>.</span><span class='nam'>rmdir</span><span class='op'>(</span><span class='nam'>child</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t45' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t46' class='exc'><span class='key'>if</span> <span class='nam'>__name__</span> <span class='op'>==</span> <span class='str'>&#39;__main__&#39;</span><span class='op'>:</span>&nbsp; &nbsp; &nbsp; <span class='com'>#pragma: no cover</span><span class='strut'>&nbsp;</span></p>
-<p id='t47' class='pln'>&nbsp; &nbsp; <span class='com'># Try it a little.</span><span class='strut'>&nbsp;</span></p>
-<p id='t48' class='exc'>&nbsp; &nbsp; <span class='nam'>d</span> <span class='op'>=</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t49' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;test_makefiles&#39;</span><span class='op'>:</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t50' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;hey.txt&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t51' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This is hey.txt.</span><span class='strut'>&nbsp;</span></p>
-<p id='t52' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; It&#39;s very simple.</span><span class='strut'>&nbsp;</span></p>
-<p id='t53' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t54' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;subdir&#39;</span><span class='op'>:</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t55' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;fooey&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t56' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # Fooey</span><span class='strut'>&nbsp;</span></p>
-<p id='t57' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Kablooey</span><span class='strut'>&nbsp;</span></p>
-<p id='t58' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Ew.</span><span class='strut'>&nbsp;</span></p>
-<p id='t59' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t60' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t61' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t62' class='pln'>&nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t63' class='exc'>&nbsp; &nbsp; <span class='nam'>makeFiles</span><span class='op'>(</span><span class='nam'>d</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-
- </td>
- </tr>
- </table>
-</div>
-
-<div id='footer'>
- <div class='content'>
- <p>
- <a class='nav' href='index.html'>&#xab; index</a> &nbsp; &nbsp; <a class='nav' href='http://nedbatchelder.com/code/coverage'>coverage.py v3.7.1</a>
- </p>
- </div>
-</div>
-
-</body>
-</html>
diff --git a/doc/sample_html/cogapp_makefiles_py.html b/doc/sample_html/cogapp_makefiles_py.html
new file mode 100644
index 00000000..0421c1fb
--- /dev/null
+++ b/doc/sample_html/cogapp_makefiles_py.html
@@ -0,0 +1,217 @@
+
+
+
+<!DOCTYPE html>
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+
+
+ <meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
+ <title>Coverage for cogapp/makefiles.py: 64.29%</title>
+ <link rel="stylesheet" href="style.css" type="text/css">
+
+ <script type="text/javascript" src="jquery.min.js"></script>
+ <script type="text/javascript" src="jquery.hotkeys.js"></script>
+ <script type="text/javascript" src="jquery.isonscreen.js"></script>
+ <script type="text/javascript" src="coverage_html.js"></script>
+ <script type="text/javascript">
+ jQuery(document).ready(coverage.pyfile_ready);
+ </script>
+</head>
+<body class="pyfile">
+
+<div id="header">
+ <div class="content">
+ <h1>Coverage for <b>cogapp/makefiles.py</b> :
+ <span class="pc_cov">64.29%</span>
+ </h1>
+
+ <img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
+
+ <h2 class="stats">
+ 28 statements &nbsp;
+ <span class="run hide_run shortkey_r button_toggle_run">21 run</span>
+ <span class="mis shortkey_m button_toggle_mis">7 missing</span>
+ <span class="exc shortkey_x button_toggle_exc">3 excluded</span>
+
+
+ <span class="par run hide_run shortkey_p button_toggle_par">2 partial</span>
+
+ </h2>
+ </div>
+</div>
+
+<div class="help_panel">
+ <img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
+<p class="legend">Hot-keys on this page</p>
+ <div>
+<p class="keyhelp">
+ <span class="key">r</span>
+ <span class="key">m</span>
+ <span class="key">x</span>
+ <span class="key">p</span> &nbsp; toggle line displays
+ </p>
+<p class="keyhelp">
+ <span class="key">j</span>
+ <span class="key">k</span> &nbsp; next/prev highlighted chunk
+ </p>
+<p class="keyhelp">
+ <span class="key">0</span> &nbsp; (zero) top of page
+ </p>
+<p class="keyhelp">
+ <span class="key">1</span> &nbsp; (one) first highlighted chunk
+ </p>
+ </div>
+</div>
+
+<div id="source">
+ <table>
+ <tr>
+ <td class="linenos">
+<p id="n1" class="pln"><a href="#n1">1</a></p>
+<p id="n2" class="pln"><a href="#n2">2</a></p>
+<p id="n3" class="pln"><a href="#n3">3</a></p>
+<p id="n4" class="pln"><a href="#n4">4</a></p>
+<p id="n5" class="pln"><a href="#n5">5</a></p>
+<p id="n6" class="pln"><a href="#n6">6</a></p>
+<p id="n7" class="stm run hide_run"><a href="#n7">7</a></p>
+<p id="n8" class="stm run hide_run"><a href="#n8">8</a></p>
+<p id="n9" class="stm run hide_run"><a href="#n9">9</a></p>
+<p id="n10" class="stm run hide_run"><a href="#n10">10</a></p>
+<p id="n11" class="pln"><a href="#n11">11</a></p>
+<p id="n12" class="stm run hide_run"><a href="#n12">12</a></p>
+<p id="n13" class="stm run hide_run"><a href="#n13">13</a></p>
+<p id="n14" class="pln"><a href="#n14">14</a></p>
+<p id="n15" class="stm run hide_run"><a href="#n15">15</a></p>
+<p id="n16" class="pln"><a href="#n16">16</a></p>
+<p id="n17" class="pln"><a href="#n17">17</a></p>
+<p id="n18" class="stm run hide_run"><a href="#n18">18</a></p>
+<p id="n19" class="stm run hide_run"><a href="#n19">19</a></p>
+<p id="n20" class="stm run hide_run"><a href="#n20">20</a></p>
+<p id="n21" class="stm run hide_run"><a href="#n21">21</a></p>
+<p id="n22" class="stm par run hide_run"><a href="#n22">22</a></p>
+<p id="n23" class="stm run hide_run"><a href="#n23">23</a></p>
+<p id="n24" class="stm run hide_run"><a href="#n24">24</a></p>
+<p id="n25" class="stm run hide_run"><a href="#n25">25</a></p>
+<p id="n26" class="stm run hide_run"><a href="#n26">26</a></p>
+<p id="n27" class="stm run hide_run"><a href="#n27">27</a></p>
+<p id="n28" class="pln"><a href="#n28">28</a></p>
+<p id="n29" class="stm par run hide_run"><a href="#n29">29</a></p>
+<p id="n30" class="stm run hide_run"><a href="#n30">30</a></p>
+<p id="n31" class="stm run hide_run"><a href="#n31">31</a></p>
+<p id="n32" class="pln"><a href="#n32">32</a></p>
+<p id="n33" class="stm run hide_run"><a href="#n33">33</a></p>
+<p id="n34" class="pln"><a href="#n34">34</a></p>
+<p id="n35" class="pln"><a href="#n35">35</a></p>
+<p id="n36" class="pln"><a href="#n36">36</a></p>
+<p id="n37" class="stm mis"><a href="#n37">37</a></p>
+<p id="n38" class="stm mis"><a href="#n38">38</a></p>
+<p id="n39" class="stm mis"><a href="#n39">39</a></p>
+<p id="n40" class="stm mis"><a href="#n40">40</a></p>
+<p id="n41" class="pln"><a href="#n41">41</a></p>
+<p id="n42" class="stm mis"><a href="#n42">42</a></p>
+<p id="n43" class="stm mis"><a href="#n43">43</a></p>
+<p id="n44" class="stm mis"><a href="#n44">44</a></p>
+<p id="n45" class="pln"><a href="#n45">45</a></p>
+<p id="n46" class="exc"><a href="#n46">46</a></p>
+<p id="n47" class="pln"><a href="#n47">47</a></p>
+<p id="n48" class="exc"><a href="#n48">48</a></p>
+<p id="n49" class="pln"><a href="#n49">49</a></p>
+<p id="n50" class="pln"><a href="#n50">50</a></p>
+<p id="n51" class="pln"><a href="#n51">51</a></p>
+<p id="n52" class="pln"><a href="#n52">52</a></p>
+<p id="n53" class="pln"><a href="#n53">53</a></p>
+<p id="n54" class="pln"><a href="#n54">54</a></p>
+<p id="n55" class="pln"><a href="#n55">55</a></p>
+<p id="n56" class="pln"><a href="#n56">56</a></p>
+<p id="n57" class="pln"><a href="#n57">57</a></p>
+<p id="n58" class="pln"><a href="#n58">58</a></p>
+<p id="n59" class="pln"><a href="#n59">59</a></p>
+<p id="n60" class="pln"><a href="#n60">60</a></p>
+<p id="n61" class="pln"><a href="#n61">61</a></p>
+<p id="n62" class="pln"><a href="#n62">62</a></p>
+<p id="n63" class="exc"><a href="#n63">63</a></p>
+
+ </td>
+ <td class="text">
+<p id="t1" class="pln"><span class="str">&quot;&quot;&quot; Dictionary-to-filetree functions, to create test files for testing.</span><span class="strut">&nbsp;</span></p>
+<p id="t2" class="pln"><span class="str">&nbsp; &nbsp; http://nedbatchelder.com/code/cog</span><span class="strut">&nbsp;</span></p>
+<p id="t3" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t4" class="pln"><span class="str">&nbsp; &nbsp; Copyright 2004-2015, Ned Batchelder.</span><span class="strut">&nbsp;</span></p>
+<p id="t5" class="pln"><span class="str">&quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t6" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t7" class="stm run hide_run"><span class="key">from</span> <span class="nam">__future__</span> <span class="key">import</span> <span class="nam">absolute_import</span><span class="strut">&nbsp;</span></p>
+<p id="t8" class="stm run hide_run"><span class="key">import</span> <span class="nam">os</span><span class="op">.</span><span class="nam">path</span><span class="strut">&nbsp;</span></p>
+<p id="t9" class="stm run hide_run"><span class="key">from</span> <span class="op">.</span><span class="nam">whiteutils</span> <span class="key">import</span> <span class="nam">reindentBlock</span><span class="strut">&nbsp;</span></p>
+<p id="t10" class="stm run hide_run"><span class="key">from</span> <span class="op">.</span><span class="nam">backward</span> <span class="key">import</span> <span class="nam">string_types</span><span class="op">,</span> <span class="nam">bytes_types</span><span class="strut">&nbsp;</span></p>
+<p id="t11" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t12" class="stm run hide_run"><span class="nam">__version__</span> <span class="op">=</span> <span class="str">&#39;1.0.20040126&#39;</span><span class="strut">&nbsp;</span></p>
+<p id="t13" class="stm run hide_run"><span class="nam">__all__</span> <span class="op">=</span> <span class="op">[</span><span class="str">&#39;makeFiles&#39;</span><span class="op">,</span> <span class="str">&#39;removeFiles&#39;</span><span class="op">]</span><span class="strut">&nbsp;</span></p>
+<p id="t14" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t15" class="stm run hide_run"><span class="key">def</span> <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">,</span> <span class="nam">basedir</span><span class="op">=</span><span class="str">&#39;.&#39;</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t16" class="pln">&nbsp; &nbsp; <span class="str">&quot;&quot;&quot; Create files from the dictionary `d`, in the directory named by `basedir`.</span><span class="strut">&nbsp;</span></p>
+<p id="t17" class="pln"><span class="str">&nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t18" class="stm run hide_run">&nbsp; &nbsp; <span class="key">for</span> <span class="nam">name</span><span class="op">,</span> <span class="nam">contents</span> <span class="key">in</span> <span class="nam">d</span><span class="op">.</span><span class="nam">items</span><span class="op">(</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t19" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">child</span> <span class="op">=</span> <span class="nam">os</span><span class="op">.</span><span class="nam">path</span><span class="op">.</span><span class="nam">join</span><span class="op">(</span><span class="nam">basedir</span><span class="op">,</span> <span class="nam">name</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t20" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">isinstance</span><span class="op">(</span><span class="nam">contents</span><span class="op">,</span> <span class="nam">string_types</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t21" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">mode</span> <span class="op">=</span> <span class="str">&#39;w&#39;</span><span class="strut">&nbsp;</span></p>
+<p id="t22" class="stm par run hide_run"><span class="annotate" title="Line 22 was executed, but never jumped to line 24">22&#x202F;&#x219B;&#x202F;24 [?]</span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">isinstance</span><span class="op">(</span><span class="nam">contents</span><span class="op">,</span> <span class="nam">bytes_types</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t23" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">mode</span> <span class="op">+=</span> <span class="str">&quot;b&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t24" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">f</span> <span class="op">=</span> <span class="nam">open</span><span class="op">(</span><span class="nam">child</span><span class="op">,</span> <span class="nam">mode</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t25" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">contents</span> <span class="op">=</span> <span class="nam">reindentBlock</span><span class="op">(</span><span class="nam">contents</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t26" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">f</span><span class="op">.</span><span class="nam">write</span><span class="op">(</span><span class="nam">contents</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t27" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">f</span><span class="op">.</span><span class="nam">close</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t28" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">else</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t29" class="stm par run hide_run"><span class="annotate" title="Line 29 was executed, but never jumped to line 31">29&#x202F;&#x219B;&#x202F;31 [?]</span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="key">not</span> <span class="nam">os</span><span class="op">.</span><span class="nam">path</span><span class="op">.</span><span class="nam">exists</span><span class="op">(</span><span class="nam">child</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t30" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">os</span><span class="op">.</span><span class="nam">mkdir</span><span class="op">(</span><span class="nam">child</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t31" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">contents</span><span class="op">,</span> <span class="nam">child</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t32" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t33" class="stm run hide_run"><span class="key">def</span> <span class="nam">removeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">,</span> <span class="nam">basedir</span><span class="op">=</span><span class="str">&#39;.&#39;</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t34" class="pln">&nbsp; &nbsp; <span class="str">&quot;&quot;&quot; Remove the files created by makeFiles.</span><span class="strut">&nbsp;</span></p>
+<p id="t35" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; Directories are removed if they are empty.</span><span class="strut">&nbsp;</span></p>
+<p id="t36" class="pln"><span class="str">&nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t37" class="stm mis">&nbsp; &nbsp; <span class="key">for</span> <span class="nam">name</span><span class="op">,</span> <span class="nam">contents</span> <span class="key">in</span> <span class="nam">d</span><span class="op">.</span><span class="nam">items</span><span class="op">(</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t38" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">child</span> <span class="op">=</span> <span class="nam">os</span><span class="op">.</span><span class="nam">path</span><span class="op">.</span><span class="nam">join</span><span class="op">(</span><span class="nam">basedir</span><span class="op">,</span> <span class="nam">name</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t39" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">isinstance</span><span class="op">(</span><span class="nam">contents</span><span class="op">,</span> <span class="nam">string_types</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t40" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">os</span><span class="op">.</span><span class="nam">remove</span><span class="op">(</span><span class="nam">child</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t41" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">else</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t42" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">removeFiles</span><span class="op">(</span><span class="nam">contents</span><span class="op">,</span> <span class="nam">child</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t43" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="key">not</span> <span class="nam">os</span><span class="op">.</span><span class="nam">listdir</span><span class="op">(</span><span class="nam">child</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t44" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">os</span><span class="op">.</span><span class="nam">rmdir</span><span class="op">(</span><span class="nam">child</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t45" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t46" class="exc"><span class="key">if</span> <span class="nam">__name__</span> <span class="op">==</span> <span class="str">&#39;__main__&#39;</span><span class="op">:</span>&nbsp; &nbsp; &nbsp; <span class="com">#pragma: no cover</span><span class="strut">&nbsp;</span></p>
+<p id="t47" class="pln">&nbsp; &nbsp; <span class="com"># Try it a little.</span><span class="strut">&nbsp;</span></p>
+<p id="t48" class="exc">&nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t49" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;test_makefiles&#39;</span><span class="op">:</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t50" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;hey.txt&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t51" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This is hey.txt.</span><span class="strut">&nbsp;</span></p>
+<p id="t52" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; It&#39;s very simple.</span><span class="strut">&nbsp;</span></p>
+<p id="t53" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t54" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;subdir&#39;</span><span class="op">:</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t55" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;fooey&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t56" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # Fooey</span><span class="strut">&nbsp;</span></p>
+<p id="t57" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Kablooey</span><span class="strut">&nbsp;</span></p>
+<p id="t58" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Ew.</span><span class="strut">&nbsp;</span></p>
+<p id="t59" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t60" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
+<p id="t61" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
+<p id="t62" class="pln">&nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
+<p id="t63" class="exc">&nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+
+ </td>
+ </tr>
+ </table>
+</div>
+
+<div id="footer">
+ <div class="content">
+ <p>
+ <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.org">coverage.py v4.0</a>,
+ created at 2015-09-20 10:28
+ </p>
+ </div>
+</div>
+
+</body>
+</html>
diff --git a/doc/sample_html/cogapp_test_cogapp.html b/doc/sample_html/cogapp_test_cogapp.html
deleted file mode 100644
index 3c6696a0..00000000
--- a/doc/sample_html/cogapp_test_cogapp.html
+++ /dev/null
@@ -1,4160 +0,0 @@
-<!doctype html PUBLIC "-//W3C//DTD html 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
- <meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
-
-
- <meta http-equiv='X-UA-Compatible' content='IE=emulateIE7' />
- <title>Coverage for cogapp/test_cogapp: 34%</title>
- <link rel='stylesheet' href='style.css' type='text/css'>
-
- <script type='text/javascript' src='jquery.min.js'></script>
- <script type='text/javascript' src='jquery.hotkeys.js'></script>
- <script type='text/javascript' src='jquery.isonscreen.js'></script>
- <script type='text/javascript' src='coverage_html.js'></script>
- <script type='text/javascript' charset='utf-8'>
- jQuery(document).ready(coverage.pyfile_ready);
- </script>
-</head>
-<body id='pyfile'>
-
-<div id='header'>
- <div class='content'>
- <h1>Coverage for <b>cogapp/test_cogapp</b> :
- <span class='pc_cov'>34%</span>
- </h1>
- <img id='keyboard_icon' src='keybd_closed.png'>
- <h2 class='stats'>
- 612 statements &nbsp;
- <span class='run hide_run shortkey_r button_toggle_run'>208 run</span>
- <span class='mis shortkey_m button_toggle_mis'>404 missing</span>
- <span class='exc shortkey_x button_toggle_exc'>17 excluded</span>
-
- <span class='par run hide_run shortkey_p button_toggle_par'>0 partial</span>
-
- </h2>
- </div>
-</div>
-
-<div class='help_panel'>
- <img id='panel_icon' src='keybd_open.png'>
-<p class='legend'>Hot-keys on this page</p>
- <div>
-<p class='keyhelp'>
- <span class='key'>r</span>
- <span class='key'>m</span>
- <span class='key'>x</span>
- <span class='key'>p</span> &nbsp; toggle line displays
- </p>
-<p class='keyhelp'>
- <span class='key'>j</span>
- <span class='key'>k</span> &nbsp; next/prev highlighted chunk
- </p>
-<p class='keyhelp'>
- <span class='key'>0</span> &nbsp; (zero) top of page
- </p>
-<p class='keyhelp'>
- <span class='key'>1</span> &nbsp; (one) first highlighted chunk
- </p>
- </div>
-</div>
-
-<div id='source'>
- <table cellspacing='0' cellpadding='0'>
- <tr>
- <td class='linenos' valign='top'>
-<p id='n1' class='pln'><a href='#n1'>1</a></p>
-<p id='n2' class='pln'><a href='#n2'>2</a></p>
-<p id='n3' class='pln'><a href='#n3'>3</a></p>
-<p id='n4' class='pln'><a href='#n4'>4</a></p>
-<p id='n5' class='pln'><a href='#n5'>5</a></p>
-<p id='n6' class='pln'><a href='#n6'>6</a></p>
-<p id='n7' class='stm run hide_run'><a href='#n7'>7</a></p>
-<p id='n8' class='stm run hide_run'><a href='#n8'>8</a></p>
-<p id='n9' class='stm run hide_run'><a href='#n9'>9</a></p>
-<p id='n10' class='stm run hide_run'><a href='#n10'>10</a></p>
-<p id='n11' class='stm run hide_run'><a href='#n11'>11</a></p>
-<p id='n12' class='stm run hide_run'><a href='#n12'>12</a></p>
-<p id='n13' class='stm run hide_run'><a href='#n13'>13</a></p>
-<p id='n14' class='stm run hide_run'><a href='#n14'>14</a></p>
-<p id='n15' class='stm run hide_run'><a href='#n15'>15</a></p>
-<p id='n16' class='pln'><a href='#n16'>16</a></p>
-<p id='n17' class='stm run hide_run'><a href='#n17'>17</a></p>
-<p id='n18' class='pln'><a href='#n18'>18</a></p>
-<p id='n19' class='pln'><a href='#n19'>19</a></p>
-<p id='n20' class='stm run hide_run'><a href='#n20'>20</a></p>
-<p id='n21' class='pln'><a href='#n21'>21</a></p>
-<p id='n22' class='pln'><a href='#n22'>22</a></p>
-<p id='n23' class='pln'><a href='#n23'>23</a></p>
-<p id='n24' class='stm run hide_run'><a href='#n24'>24</a></p>
-<p id='n25' class='stm run hide_run'><a href='#n25'>25</a></p>
-<p id='n26' class='stm run hide_run'><a href='#n26'>26</a></p>
-<p id='n27' class='stm run hide_run'><a href='#n27'>27</a></p>
-<p id='n28' class='stm run hide_run'><a href='#n28'>28</a></p>
-<p id='n29' class='pln'><a href='#n29'>29</a></p>
-<p id='n30' class='exc'><a href='#n30'>30</a></p>
-<p id='n31' class='stm run hide_run'><a href='#n31'>31</a></p>
-<p id='n32' class='pln'><a href='#n32'>32</a></p>
-<p id='n33' class='stm run hide_run'><a href='#n33'>33</a></p>
-<p id='n34' class='exc'><a href='#n34'>34</a></p>
-<p id='n35' class='pln'><a href='#n35'>35</a></p>
-<p id='n36' class='exc'><a href='#n36'>36</a></p>
-<p id='n37' class='exc'><a href='#n37'>37</a></p>
-<p id='n38' class='exc'><a href='#n38'>38</a></p>
-<p id='n39' class='exc'><a href='#n39'>39</a></p>
-<p id='n40' class='exc'><a href='#n40'>40</a></p>
-<p id='n41' class='exc'><a href='#n41'>41</a></p>
-<p id='n42' class='exc'><a href='#n42'>42</a></p>
-<p id='n43' class='pln'><a href='#n43'>43</a></p>
-<p id='n44' class='stm run hide_run'><a href='#n44'>44</a></p>
-<p id='n45' class='pln'><a href='#n45'>45</a></p>
-<p id='n46' class='pln'><a href='#n46'>46</a></p>
-<p id='n47' class='pln'><a href='#n47'>47</a></p>
-<p id='n48' class='stm run hide_run'><a href='#n48'>48</a></p>
-<p id='n49' class='stm run hide_run'><a href='#n49'>49</a></p>
-<p id='n50' class='pln'><a href='#n50'>50</a></p>
-<p id='n51' class='pln'><a href='#n51'>51</a></p>
-<p id='n52' class='pln'><a href='#n52'>52</a></p>
-<p id='n53' class='pln'><a href='#n53'>53</a></p>
-<p id='n54' class='pln'><a href='#n54'>54</a></p>
-<p id='n55' class='pln'><a href='#n55'>55</a></p>
-<p id='n56' class='pln'><a href='#n56'>56</a></p>
-<p id='n57' class='stm run hide_run'><a href='#n57'>57</a></p>
-<p id='n58' class='stm run hide_run'><a href='#n58'>58</a></p>
-<p id='n59' class='pln'><a href='#n59'>59</a></p>
-<p id='n60' class='stm run hide_run'><a href='#n60'>60</a></p>
-<p id='n61' class='stm run hide_run'><a href='#n61'>61</a></p>
-<p id='n62' class='pln'><a href='#n62'>62</a></p>
-<p id='n63' class='pln'><a href='#n63'>63</a></p>
-<p id='n64' class='pln'><a href='#n64'>64</a></p>
-<p id='n65' class='pln'><a href='#n65'>65</a></p>
-<p id='n66' class='pln'><a href='#n66'>66</a></p>
-<p id='n67' class='pln'><a href='#n67'>67</a></p>
-<p id='n68' class='pln'><a href='#n68'>68</a></p>
-<p id='n69' class='pln'><a href='#n69'>69</a></p>
-<p id='n70' class='pln'><a href='#n70'>70</a></p>
-<p id='n71' class='pln'><a href='#n71'>71</a></p>
-<p id='n72' class='pln'><a href='#n72'>72</a></p>
-<p id='n73' class='stm run hide_run'><a href='#n73'>73</a></p>
-<p id='n74' class='pln'><a href='#n74'>74</a></p>
-<p id='n75' class='pln'><a href='#n75'>75</a></p>
-<p id='n76' class='pln'><a href='#n76'>76</a></p>
-<p id='n77' class='pln'><a href='#n77'>77</a></p>
-<p id='n78' class='pln'><a href='#n78'>78</a></p>
-<p id='n79' class='pln'><a href='#n79'>79</a></p>
-<p id='n80' class='pln'><a href='#n80'>80</a></p>
-<p id='n81' class='pln'><a href='#n81'>81</a></p>
-<p id='n82' class='pln'><a href='#n82'>82</a></p>
-<p id='n83' class='pln'><a href='#n83'>83</a></p>
-<p id='n84' class='pln'><a href='#n84'>84</a></p>
-<p id='n85' class='pln'><a href='#n85'>85</a></p>
-<p id='n86' class='pln'><a href='#n86'>86</a></p>
-<p id='n87' class='stm run hide_run'><a href='#n87'>87</a></p>
-<p id='n88' class='pln'><a href='#n88'>88</a></p>
-<p id='n89' class='stm run hide_run'><a href='#n89'>89</a></p>
-<p id='n90' class='pln'><a href='#n90'>90</a></p>
-<p id='n91' class='pln'><a href='#n91'>91</a></p>
-<p id='n92' class='stm run hide_run'><a href='#n92'>92</a></p>
-<p id='n93' class='pln'><a href='#n93'>93</a></p>
-<p id='n94' class='pln'><a href='#n94'>94</a></p>
-<p id='n95' class='pln'><a href='#n95'>95</a></p>
-<p id='n96' class='pln'><a href='#n96'>96</a></p>
-<p id='n97' class='pln'><a href='#n97'>97</a></p>
-<p id='n98' class='pln'><a href='#n98'>98</a></p>
-<p id='n99' class='pln'><a href='#n99'>99</a></p>
-<p id='n100' class='stm run hide_run'><a href='#n100'>100</a></p>
-<p id='n101' class='stm run hide_run'><a href='#n101'>101</a></p>
-<p id='n102' class='pln'><a href='#n102'>102</a></p>
-<p id='n103' class='stm run hide_run'><a href='#n103'>103</a></p>
-<p id='n104' class='pln'><a href='#n104'>104</a></p>
-<p id='n105' class='stm run hide_run'><a href='#n105'>105</a></p>
-<p id='n106' class='pln'><a href='#n106'>106</a></p>
-<p id='n107' class='pln'><a href='#n107'>107</a></p>
-<p id='n108' class='pln'><a href='#n108'>108</a></p>
-<p id='n109' class='pln'><a href='#n109'>109</a></p>
-<p id='n110' class='pln'><a href='#n110'>110</a></p>
-<p id='n111' class='pln'><a href='#n111'>111</a></p>
-<p id='n112' class='pln'><a href='#n112'>112</a></p>
-<p id='n113' class='pln'><a href='#n113'>113</a></p>
-<p id='n114' class='pln'><a href='#n114'>114</a></p>
-<p id='n115' class='pln'><a href='#n115'>115</a></p>
-<p id='n116' class='pln'><a href='#n116'>116</a></p>
-<p id='n117' class='pln'><a href='#n117'>117</a></p>
-<p id='n118' class='pln'><a href='#n118'>118</a></p>
-<p id='n119' class='pln'><a href='#n119'>119</a></p>
-<p id='n120' class='pln'><a href='#n120'>120</a></p>
-<p id='n121' class='pln'><a href='#n121'>121</a></p>
-<p id='n122' class='pln'><a href='#n122'>122</a></p>
-<p id='n123' class='pln'><a href='#n123'>123</a></p>
-<p id='n124' class='stm run hide_run'><a href='#n124'>124</a></p>
-<p id='n125' class='stm run hide_run'><a href='#n125'>125</a></p>
-<p id='n126' class='pln'><a href='#n126'>126</a></p>
-<p id='n127' class='stm run hide_run'><a href='#n127'>127</a></p>
-<p id='n128' class='stm run hide_run'><a href='#n128'>128</a></p>
-<p id='n129' class='pln'><a href='#n129'>129</a></p>
-<p id='n130' class='pln'><a href='#n130'>130</a></p>
-<p id='n131' class='pln'><a href='#n131'>131</a></p>
-<p id='n132' class='pln'><a href='#n132'>132</a></p>
-<p id='n133' class='pln'><a href='#n133'>133</a></p>
-<p id='n134' class='pln'><a href='#n134'>134</a></p>
-<p id='n135' class='pln'><a href='#n135'>135</a></p>
-<p id='n136' class='pln'><a href='#n136'>136</a></p>
-<p id='n137' class='pln'><a href='#n137'>137</a></p>
-<p id='n138' class='pln'><a href='#n138'>138</a></p>
-<p id='n139' class='pln'><a href='#n139'>139</a></p>
-<p id='n140' class='pln'><a href='#n140'>140</a></p>
-<p id='n141' class='pln'><a href='#n141'>141</a></p>
-<p id='n142' class='stm run hide_run'><a href='#n142'>142</a></p>
-<p id='n143' class='stm run hide_run'><a href='#n143'>143</a></p>
-<p id='n144' class='pln'><a href='#n144'>144</a></p>
-<p id='n145' class='stm run hide_run'><a href='#n145'>145</a></p>
-<p id='n146' class='stm run hide_run'><a href='#n146'>146</a></p>
-<p id='n147' class='pln'><a href='#n147'>147</a></p>
-<p id='n148' class='pln'><a href='#n148'>148</a></p>
-<p id='n149' class='pln'><a href='#n149'>149</a></p>
-<p id='n150' class='pln'><a href='#n150'>150</a></p>
-<p id='n151' class='pln'><a href='#n151'>151</a></p>
-<p id='n152' class='pln'><a href='#n152'>152</a></p>
-<p id='n153' class='pln'><a href='#n153'>153</a></p>
-<p id='n154' class='pln'><a href='#n154'>154</a></p>
-<p id='n155' class='pln'><a href='#n155'>155</a></p>
-<p id='n156' class='pln'><a href='#n156'>156</a></p>
-<p id='n157' class='pln'><a href='#n157'>157</a></p>
-<p id='n158' class='pln'><a href='#n158'>158</a></p>
-<p id='n159' class='pln'><a href='#n159'>159</a></p>
-<p id='n160' class='pln'><a href='#n160'>160</a></p>
-<p id='n161' class='stm run hide_run'><a href='#n161'>161</a></p>
-<p id='n162' class='stm run hide_run'><a href='#n162'>162</a></p>
-<p id='n163' class='pln'><a href='#n163'>163</a></p>
-<p id='n164' class='stm run hide_run'><a href='#n164'>164</a></p>
-<p id='n165' class='pln'><a href='#n165'>165</a></p>
-<p id='n166' class='pln'><a href='#n166'>166</a></p>
-<p id='n167' class='stm run hide_run'><a href='#n167'>167</a></p>
-<p id='n168' class='pln'><a href='#n168'>168</a></p>
-<p id='n169' class='pln'><a href='#n169'>169</a></p>
-<p id='n170' class='pln'><a href='#n170'>170</a></p>
-<p id='n171' class='pln'><a href='#n171'>171</a></p>
-<p id='n172' class='pln'><a href='#n172'>172</a></p>
-<p id='n173' class='pln'><a href='#n173'>173</a></p>
-<p id='n174' class='pln'><a href='#n174'>174</a></p>
-<p id='n175' class='pln'><a href='#n175'>175</a></p>
-<p id='n176' class='pln'><a href='#n176'>176</a></p>
-<p id='n177' class='pln'><a href='#n177'>177</a></p>
-<p id='n178' class='pln'><a href='#n178'>178</a></p>
-<p id='n179' class='stm run hide_run'><a href='#n179'>179</a></p>
-<p id='n180' class='stm run hide_run'><a href='#n180'>180</a></p>
-<p id='n181' class='pln'><a href='#n181'>181</a></p>
-<p id='n182' class='stm run hide_run'><a href='#n182'>182</a></p>
-<p id='n183' class='stm run hide_run'><a href='#n183'>183</a></p>
-<p id='n184' class='pln'><a href='#n184'>184</a></p>
-<p id='n185' class='pln'><a href='#n185'>185</a></p>
-<p id='n186' class='pln'><a href='#n186'>186</a></p>
-<p id='n187' class='pln'><a href='#n187'>187</a></p>
-<p id='n188' class='pln'><a href='#n188'>188</a></p>
-<p id='n189' class='pln'><a href='#n189'>189</a></p>
-<p id='n190' class='pln'><a href='#n190'>190</a></p>
-<p id='n191' class='pln'><a href='#n191'>191</a></p>
-<p id='n192' class='pln'><a href='#n192'>192</a></p>
-<p id='n193' class='pln'><a href='#n193'>193</a></p>
-<p id='n194' class='pln'><a href='#n194'>194</a></p>
-<p id='n195' class='pln'><a href='#n195'>195</a></p>
-<p id='n196' class='pln'><a href='#n196'>196</a></p>
-<p id='n197' class='stm run hide_run'><a href='#n197'>197</a></p>
-<p id='n198' class='stm run hide_run'><a href='#n198'>198</a></p>
-<p id='n199' class='pln'><a href='#n199'>199</a></p>
-<p id='n200' class='stm run hide_run'><a href='#n200'>200</a></p>
-<p id='n201' class='stm run hide_run'><a href='#n201'>201</a></p>
-<p id='n202' class='pln'><a href='#n202'>202</a></p>
-<p id='n203' class='pln'><a href='#n203'>203</a></p>
-<p id='n204' class='pln'><a href='#n204'>204</a></p>
-<p id='n205' class='pln'><a href='#n205'>205</a></p>
-<p id='n206' class='pln'><a href='#n206'>206</a></p>
-<p id='n207' class='pln'><a href='#n207'>207</a></p>
-<p id='n208' class='pln'><a href='#n208'>208</a></p>
-<p id='n209' class='pln'><a href='#n209'>209</a></p>
-<p id='n210' class='pln'><a href='#n210'>210</a></p>
-<p id='n211' class='pln'><a href='#n211'>211</a></p>
-<p id='n212' class='pln'><a href='#n212'>212</a></p>
-<p id='n213' class='stm run hide_run'><a href='#n213'>213</a></p>
-<p id='n214' class='stm run hide_run'><a href='#n214'>214</a></p>
-<p id='n215' class='pln'><a href='#n215'>215</a></p>
-<p id='n216' class='stm run hide_run'><a href='#n216'>216</a></p>
-<p id='n217' class='stm run hide_run'><a href='#n217'>217</a></p>
-<p id='n218' class='pln'><a href='#n218'>218</a></p>
-<p id='n219' class='pln'><a href='#n219'>219</a></p>
-<p id='n220' class='pln'><a href='#n220'>220</a></p>
-<p id='n221' class='pln'><a href='#n221'>221</a></p>
-<p id='n222' class='pln'><a href='#n222'>222</a></p>
-<p id='n223' class='pln'><a href='#n223'>223</a></p>
-<p id='n224' class='pln'><a href='#n224'>224</a></p>
-<p id='n225' class='pln'><a href='#n225'>225</a></p>
-<p id='n226' class='pln'><a href='#n226'>226</a></p>
-<p id='n227' class='pln'><a href='#n227'>227</a></p>
-<p id='n228' class='pln'><a href='#n228'>228</a></p>
-<p id='n229' class='pln'><a href='#n229'>229</a></p>
-<p id='n230' class='stm run hide_run'><a href='#n230'>230</a></p>
-<p id='n231' class='stm run hide_run'><a href='#n231'>231</a></p>
-<p id='n232' class='pln'><a href='#n232'>232</a></p>
-<p id='n233' class='stm run hide_run'><a href='#n233'>233</a></p>
-<p id='n234' class='stm run hide_run'><a href='#n234'>234</a></p>
-<p id='n235' class='pln'><a href='#n235'>235</a></p>
-<p id='n236' class='pln'><a href='#n236'>236</a></p>
-<p id='n237' class='pln'><a href='#n237'>237</a></p>
-<p id='n238' class='pln'><a href='#n238'>238</a></p>
-<p id='n239' class='pln'><a href='#n239'>239</a></p>
-<p id='n240' class='pln'><a href='#n240'>240</a></p>
-<p id='n241' class='pln'><a href='#n241'>241</a></p>
-<p id='n242' class='pln'><a href='#n242'>242</a></p>
-<p id='n243' class='pln'><a href='#n243'>243</a></p>
-<p id='n244' class='pln'><a href='#n244'>244</a></p>
-<p id='n245' class='pln'><a href='#n245'>245</a></p>
-<p id='n246' class='pln'><a href='#n246'>246</a></p>
-<p id='n247' class='pln'><a href='#n247'>247</a></p>
-<p id='n248' class='stm run hide_run'><a href='#n248'>248</a></p>
-<p id='n249' class='stm run hide_run'><a href='#n249'>249</a></p>
-<p id='n250' class='pln'><a href='#n250'>250</a></p>
-<p id='n251' class='stm run hide_run'><a href='#n251'>251</a></p>
-<p id='n252' class='pln'><a href='#n252'>252</a></p>
-<p id='n253' class='pln'><a href='#n253'>253</a></p>
-<p id='n254' class='stm run hide_run'><a href='#n254'>254</a></p>
-<p id='n255' class='pln'><a href='#n255'>255</a></p>
-<p id='n256' class='pln'><a href='#n256'>256</a></p>
-<p id='n257' class='pln'><a href='#n257'>257</a></p>
-<p id='n258' class='pln'><a href='#n258'>258</a></p>
-<p id='n259' class='pln'><a href='#n259'>259</a></p>
-<p id='n260' class='pln'><a href='#n260'>260</a></p>
-<p id='n261' class='pln'><a href='#n261'>261</a></p>
-<p id='n262' class='pln'><a href='#n262'>262</a></p>
-<p id='n263' class='pln'><a href='#n263'>263</a></p>
-<p id='n264' class='pln'><a href='#n264'>264</a></p>
-<p id='n265' class='pln'><a href='#n265'>265</a></p>
-<p id='n266' class='stm run hide_run'><a href='#n266'>266</a></p>
-<p id='n267' class='stm run hide_run'><a href='#n267'>267</a></p>
-<p id='n268' class='pln'><a href='#n268'>268</a></p>
-<p id='n269' class='stm run hide_run'><a href='#n269'>269</a></p>
-<p id='n270' class='pln'><a href='#n270'>270</a></p>
-<p id='n271' class='stm run hide_run'><a href='#n271'>271</a></p>
-<p id='n272' class='pln'><a href='#n272'>272</a></p>
-<p id='n273' class='pln'><a href='#n273'>273</a></p>
-<p id='n274' class='pln'><a href='#n274'>274</a></p>
-<p id='n275' class='pln'><a href='#n275'>275</a></p>
-<p id='n276' class='pln'><a href='#n276'>276</a></p>
-<p id='n277' class='pln'><a href='#n277'>277</a></p>
-<p id='n278' class='pln'><a href='#n278'>278</a></p>
-<p id='n279' class='pln'><a href='#n279'>279</a></p>
-<p id='n280' class='stm run hide_run'><a href='#n280'>280</a></p>
-<p id='n281' class='stm run hide_run'><a href='#n281'>281</a></p>
-<p id='n282' class='pln'><a href='#n282'>282</a></p>
-<p id='n283' class='stm run hide_run'><a href='#n283'>283</a></p>
-<p id='n284' class='pln'><a href='#n284'>284</a></p>
-<p id='n285' class='pln'><a href='#n285'>285</a></p>
-<p id='n286' class='pln'><a href='#n286'>286</a></p>
-<p id='n287' class='stm run hide_run'><a href='#n287'>287</a></p>
-<p id='n288' class='pln'><a href='#n288'>288</a></p>
-<p id='n289' class='pln'><a href='#n289'>289</a></p>
-<p id='n290' class='pln'><a href='#n290'>290</a></p>
-<p id='n291' class='pln'><a href='#n291'>291</a></p>
-<p id='n292' class='pln'><a href='#n292'>292</a></p>
-<p id='n293' class='pln'><a href='#n293'>293</a></p>
-<p id='n294' class='pln'><a href='#n294'>294</a></p>
-<p id='n295' class='pln'><a href='#n295'>295</a></p>
-<p id='n296' class='pln'><a href='#n296'>296</a></p>
-<p id='n297' class='pln'><a href='#n297'>297</a></p>
-<p id='n298' class='pln'><a href='#n298'>298</a></p>
-<p id='n299' class='pln'><a href='#n299'>299</a></p>
-<p id='n300' class='stm run hide_run'><a href='#n300'>300</a></p>
-<p id='n301' class='stm run hide_run'><a href='#n301'>301</a></p>
-<p id='n302' class='pln'><a href='#n302'>302</a></p>
-<p id='n303' class='stm run hide_run'><a href='#n303'>303</a></p>
-<p id='n304' class='pln'><a href='#n304'>304</a></p>
-<p id='n305' class='pln'><a href='#n305'>305</a></p>
-<p id='n306' class='pln'><a href='#n306'>306</a></p>
-<p id='n307' class='stm run hide_run'><a href='#n307'>307</a></p>
-<p id='n308' class='pln'><a href='#n308'>308</a></p>
-<p id='n309' class='pln'><a href='#n309'>309</a></p>
-<p id='n310' class='pln'><a href='#n310'>310</a></p>
-<p id='n311' class='pln'><a href='#n311'>311</a></p>
-<p id='n312' class='pln'><a href='#n312'>312</a></p>
-<p id='n313' class='pln'><a href='#n313'>313</a></p>
-<p id='n314' class='pln'><a href='#n314'>314</a></p>
-<p id='n315' class='pln'><a href='#n315'>315</a></p>
-<p id='n316' class='pln'><a href='#n316'>316</a></p>
-<p id='n317' class='pln'><a href='#n317'>317</a></p>
-<p id='n318' class='pln'><a href='#n318'>318</a></p>
-<p id='n319' class='pln'><a href='#n319'>319</a></p>
-<p id='n320' class='pln'><a href='#n320'>320</a></p>
-<p id='n321' class='pln'><a href='#n321'>321</a></p>
-<p id='n322' class='pln'><a href='#n322'>322</a></p>
-<p id='n323' class='pln'><a href='#n323'>323</a></p>
-<p id='n324' class='pln'><a href='#n324'>324</a></p>
-<p id='n325' class='stm run hide_run'><a href='#n325'>325</a></p>
-<p id='n326' class='stm run hide_run'><a href='#n326'>326</a></p>
-<p id='n327' class='pln'><a href='#n327'>327</a></p>
-<p id='n328' class='stm run hide_run'><a href='#n328'>328</a></p>
-<p id='n329' class='stm run hide_run'><a href='#n329'>329</a></p>
-<p id='n330' class='pln'><a href='#n330'>330</a></p>
-<p id='n331' class='pln'><a href='#n331'>331</a></p>
-<p id='n332' class='pln'><a href='#n332'>332</a></p>
-<p id='n333' class='pln'><a href='#n333'>333</a></p>
-<p id='n334' class='pln'><a href='#n334'>334</a></p>
-<p id='n335' class='pln'><a href='#n335'>335</a></p>
-<p id='n336' class='pln'><a href='#n336'>336</a></p>
-<p id='n337' class='pln'><a href='#n337'>337</a></p>
-<p id='n338' class='pln'><a href='#n338'>338</a></p>
-<p id='n339' class='pln'><a href='#n339'>339</a></p>
-<p id='n340' class='pln'><a href='#n340'>340</a></p>
-<p id='n341' class='pln'><a href='#n341'>341</a></p>
-<p id='n342' class='pln'><a href='#n342'>342</a></p>
-<p id='n343' class='pln'><a href='#n343'>343</a></p>
-<p id='n344' class='stm run hide_run'><a href='#n344'>344</a></p>
-<p id='n345' class='stm run hide_run'><a href='#n345'>345</a></p>
-<p id='n346' class='pln'><a href='#n346'>346</a></p>
-<p id='n347' class='stm run hide_run'><a href='#n347'>347</a></p>
-<p id='n348' class='stm run hide_run'><a href='#n348'>348</a></p>
-<p id='n349' class='pln'><a href='#n349'>349</a></p>
-<p id='n350' class='pln'><a href='#n350'>350</a></p>
-<p id='n351' class='pln'><a href='#n351'>351</a></p>
-<p id='n352' class='pln'><a href='#n352'>352</a></p>
-<p id='n353' class='pln'><a href='#n353'>353</a></p>
-<p id='n354' class='pln'><a href='#n354'>354</a></p>
-<p id='n355' class='pln'><a href='#n355'>355</a></p>
-<p id='n356' class='stm run hide_run'><a href='#n356'>356</a></p>
-<p id='n357' class='pln'><a href='#n357'>357</a></p>
-<p id='n358' class='pln'><a href='#n358'>358</a></p>
-<p id='n359' class='pln'><a href='#n359'>359</a></p>
-<p id='n360' class='pln'><a href='#n360'>360</a></p>
-<p id='n361' class='pln'><a href='#n361'>361</a></p>
-<p id='n362' class='pln'><a href='#n362'>362</a></p>
-<p id='n363' class='pln'><a href='#n363'>363</a></p>
-<p id='n364' class='stm run hide_run'><a href='#n364'>364</a></p>
-<p id='n365' class='stm run hide_run'><a href='#n365'>365</a></p>
-<p id='n366' class='pln'><a href='#n366'>366</a></p>
-<p id='n367' class='stm run hide_run'><a href='#n367'>367</a></p>
-<p id='n368' class='stm run hide_run'><a href='#n368'>368</a></p>
-<p id='n369' class='pln'><a href='#n369'>369</a></p>
-<p id='n370' class='pln'><a href='#n370'>370</a></p>
-<p id='n371' class='pln'><a href='#n371'>371</a></p>
-<p id='n372' class='pln'><a href='#n372'>372</a></p>
-<p id='n373' class='pln'><a href='#n373'>373</a></p>
-<p id='n374' class='pln'><a href='#n374'>374</a></p>
-<p id='n375' class='stm run hide_run'><a href='#n375'>375</a></p>
-<p id='n376' class='pln'><a href='#n376'>376</a></p>
-<p id='n377' class='pln'><a href='#n377'>377</a></p>
-<p id='n378' class='pln'><a href='#n378'>378</a></p>
-<p id='n379' class='pln'><a href='#n379'>379</a></p>
-<p id='n380' class='stm run hide_run'><a href='#n380'>380</a></p>
-<p id='n381' class='stm run hide_run'><a href='#n381'>381</a></p>
-<p id='n382' class='pln'><a href='#n382'>382</a></p>
-<p id='n383' class='pln'><a href='#n383'>383</a></p>
-<p id='n384' class='pln'><a href='#n384'>384</a></p>
-<p id='n385' class='pln'><a href='#n385'>385</a></p>
-<p id='n386' class='pln'><a href='#n386'>386</a></p>
-<p id='n387' class='pln'><a href='#n387'>387</a></p>
-<p id='n388' class='pln'><a href='#n388'>388</a></p>
-<p id='n389' class='pln'><a href='#n389'>389</a></p>
-<p id='n390' class='pln'><a href='#n390'>390</a></p>
-<p id='n391' class='stm run hide_run'><a href='#n391'>391</a></p>
-<p id='n392' class='pln'><a href='#n392'>392</a></p>
-<p id='n393' class='pln'><a href='#n393'>393</a></p>
-<p id='n394' class='pln'><a href='#n394'>394</a></p>
-<p id='n395' class='pln'><a href='#n395'>395</a></p>
-<p id='n396' class='pln'><a href='#n396'>396</a></p>
-<p id='n397' class='pln'><a href='#n397'>397</a></p>
-<p id='n398' class='pln'><a href='#n398'>398</a></p>
-<p id='n399' class='pln'><a href='#n399'>399</a></p>
-<p id='n400' class='pln'><a href='#n400'>400</a></p>
-<p id='n401' class='pln'><a href='#n401'>401</a></p>
-<p id='n402' class='stm run hide_run'><a href='#n402'>402</a></p>
-<p id='n403' class='stm run hide_run'><a href='#n403'>403</a></p>
-<p id='n404' class='pln'><a href='#n404'>404</a></p>
-<p id='n405' class='stm run hide_run'><a href='#n405'>405</a></p>
-<p id='n406' class='pln'><a href='#n406'>406</a></p>
-<p id='n407' class='stm run hide_run'><a href='#n407'>407</a></p>
-<p id='n408' class='pln'><a href='#n408'>408</a></p>
-<p id='n409' class='pln'><a href='#n409'>409</a></p>
-<p id='n410' class='pln'><a href='#n410'>410</a></p>
-<p id='n411' class='pln'><a href='#n411'>411</a></p>
-<p id='n412' class='pln'><a href='#n412'>412</a></p>
-<p id='n413' class='stm run hide_run'><a href='#n413'>413</a></p>
-<p id='n414' class='stm run hide_run'><a href='#n414'>414</a></p>
-<p id='n415' class='pln'><a href='#n415'>415</a></p>
-<p id='n416' class='pln'><a href='#n416'>416</a></p>
-<p id='n417' class='pln'><a href='#n417'>417</a></p>
-<p id='n418' class='pln'><a href='#n418'>418</a></p>
-<p id='n419' class='stm run hide_run'><a href='#n419'>419</a></p>
-<p id='n420' class='pln'><a href='#n420'>420</a></p>
-<p id='n421' class='stm run hide_run'><a href='#n421'>421</a></p>
-<p id='n422' class='pln'><a href='#n422'>422</a></p>
-<p id='n423' class='pln'><a href='#n423'>423</a></p>
-<p id='n424' class='pln'><a href='#n424'>424</a></p>
-<p id='n425' class='pln'><a href='#n425'>425</a></p>
-<p id='n426' class='pln'><a href='#n426'>426</a></p>
-<p id='n427' class='pln'><a href='#n427'>427</a></p>
-<p id='n428' class='pln'><a href='#n428'>428</a></p>
-<p id='n429' class='pln'><a href='#n429'>429</a></p>
-<p id='n430' class='pln'><a href='#n430'>430</a></p>
-<p id='n431' class='stm run hide_run'><a href='#n431'>431</a></p>
-<p id='n432' class='pln'><a href='#n432'>432</a></p>
-<p id='n433' class='pln'><a href='#n433'>433</a></p>
-<p id='n434' class='pln'><a href='#n434'>434</a></p>
-<p id='n435' class='pln'><a href='#n435'>435</a></p>
-<p id='n436' class='pln'><a href='#n436'>436</a></p>
-<p id='n437' class='pln'><a href='#n437'>437</a></p>
-<p id='n438' class='pln'><a href='#n438'>438</a></p>
-<p id='n439' class='pln'><a href='#n439'>439</a></p>
-<p id='n440' class='pln'><a href='#n440'>440</a></p>
-<p id='n441' class='pln'><a href='#n441'>441</a></p>
-<p id='n442' class='stm run hide_run'><a href='#n442'>442</a></p>
-<p id='n443' class='stm run hide_run'><a href='#n443'>443</a></p>
-<p id='n444' class='pln'><a href='#n444'>444</a></p>
-<p id='n445' class='stm run hide_run'><a href='#n445'>445</a></p>
-<p id='n446' class='pln'><a href='#n446'>446</a></p>
-<p id='n447' class='pln'><a href='#n447'>447</a></p>
-<p id='n448' class='pln'><a href='#n448'>448</a></p>
-<p id='n449' class='stm run hide_run'><a href='#n449'>449</a></p>
-<p id='n450' class='stm mis'><a href='#n450'>450</a></p>
-<p id='n451' class='stm mis'><a href='#n451'>451</a></p>
-<p id='n452' class='stm mis'><a href='#n452'>452</a></p>
-<p id='n453' class='stm mis'><a href='#n453'>453</a></p>
-<p id='n454' class='stm mis'><a href='#n454'>454</a></p>
-<p id='n455' class='stm mis'><a href='#n455'>455</a></p>
-<p id='n456' class='stm mis'><a href='#n456'>456</a></p>
-<p id='n457' class='pln'><a href='#n457'>457</a></p>
-<p id='n458' class='stm run hide_run'><a href='#n458'>458</a></p>
-<p id='n459' class='stm mis'><a href='#n459'>459</a></p>
-<p id='n460' class='stm mis'><a href='#n460'>460</a></p>
-<p id='n461' class='stm mis'><a href='#n461'>461</a></p>
-<p id='n462' class='stm mis'><a href='#n462'>462</a></p>
-<p id='n463' class='stm mis'><a href='#n463'>463</a></p>
-<p id='n464' class='stm mis'><a href='#n464'>464</a></p>
-<p id='n465' class='stm mis'><a href='#n465'>465</a></p>
-<p id='n466' class='stm mis'><a href='#n466'>466</a></p>
-<p id='n467' class='stm mis'><a href='#n467'>467</a></p>
-<p id='n468' class='pln'><a href='#n468'>468</a></p>
-<p id='n469' class='stm run hide_run'><a href='#n469'>469</a></p>
-<p id='n470' class='pln'><a href='#n470'>470</a></p>
-<p id='n471' class='stm mis'><a href='#n471'>471</a></p>
-<p id='n472' class='stm mis'><a href='#n472'>472</a></p>
-<p id='n473' class='stm mis'><a href='#n473'>473</a></p>
-<p id='n474' class='stm mis'><a href='#n474'>474</a></p>
-<p id='n475' class='stm mis'><a href='#n475'>475</a></p>
-<p id='n476' class='pln'><a href='#n476'>476</a></p>
-<p id='n477' class='stm run hide_run'><a href='#n477'>477</a></p>
-<p id='n478' class='pln'><a href='#n478'>478</a></p>
-<p id='n479' class='pln'><a href='#n479'>479</a></p>
-<p id='n480' class='pln'><a href='#n480'>480</a></p>
-<p id='n481' class='pln'><a href='#n481'>481</a></p>
-<p id='n482' class='stm run hide_run'><a href='#n482'>482</a></p>
-<p id='n483' class='stm mis'><a href='#n483'>483</a></p>
-<p id='n484' class='stm mis'><a href='#n484'>484</a></p>
-<p id='n485' class='pln'><a href='#n485'>485</a></p>
-<p id='n486' class='pln'><a href='#n486'>486</a></p>
-<p id='n487' class='pln'><a href='#n487'>487</a></p>
-<p id='n488' class='stm run hide_run'><a href='#n488'>488</a></p>
-<p id='n489' class='stm mis'><a href='#n489'>489</a></p>
-<p id='n490' class='pln'><a href='#n490'>490</a></p>
-<p id='n491' class='pln'><a href='#n491'>491</a></p>
-<p id='n492' class='pln'><a href='#n492'>492</a></p>
-<p id='n493' class='pln'><a href='#n493'>493</a></p>
-<p id='n494' class='stm mis'><a href='#n494'>494</a></p>
-<p id='n495' class='pln'><a href='#n495'>495</a></p>
-<p id='n496' class='stm run hide_run'><a href='#n496'>496</a></p>
-<p id='n497' class='stm mis'><a href='#n497'>497</a></p>
-<p id='n498' class='pln'><a href='#n498'>498</a></p>
-<p id='n499' class='pln'><a href='#n499'>499</a></p>
-<p id='n500' class='pln'><a href='#n500'>500</a></p>
-<p id='n501' class='pln'><a href='#n501'>501</a></p>
-<p id='n502' class='pln'><a href='#n502'>502</a></p>
-<p id='n503' class='stm mis'><a href='#n503'>503</a></p>
-<p id='n504' class='pln'><a href='#n504'>504</a></p>
-<p id='n505' class='stm mis'><a href='#n505'>505</a></p>
-<p id='n506' class='pln'><a href='#n506'>506</a></p>
-<p id='n507' class='pln'><a href='#n507'>507</a></p>
-<p id='n508' class='pln'><a href='#n508'>508</a></p>
-<p id='n509' class='pln'><a href='#n509'>509</a></p>
-<p id='n510' class='pln'><a href='#n510'>510</a></p>
-<p id='n511' class='pln'><a href='#n511'>511</a></p>
-<p id='n512' class='pln'><a href='#n512'>512</a></p>
-<p id='n513' class='pln'><a href='#n513'>513</a></p>
-<p id='n514' class='stm mis'><a href='#n514'>514</a></p>
-<p id='n515' class='pln'><a href='#n515'>515</a></p>
-<p id='n516' class='stm run hide_run'><a href='#n516'>516</a></p>
-<p id='n517' class='stm mis'><a href='#n517'>517</a></p>
-<p id='n518' class='pln'><a href='#n518'>518</a></p>
-<p id='n519' class='pln'><a href='#n519'>519</a></p>
-<p id='n520' class='stm mis'><a href='#n520'>520</a></p>
-<p id='n521' class='pln'><a href='#n521'>521</a></p>
-<p id='n522' class='stm mis'><a href='#n522'>522</a></p>
-<p id='n523' class='pln'><a href='#n523'>523</a></p>
-<p id='n524' class='pln'><a href='#n524'>524</a></p>
-<p id='n525' class='pln'><a href='#n525'>525</a></p>
-<p id='n526' class='pln'><a href='#n526'>526</a></p>
-<p id='n527' class='pln'><a href='#n527'>527</a></p>
-<p id='n528' class='pln'><a href='#n528'>528</a></p>
-<p id='n529' class='stm mis'><a href='#n529'>529</a></p>
-<p id='n530' class='pln'><a href='#n530'>530</a></p>
-<p id='n531' class='stm run hide_run'><a href='#n531'>531</a></p>
-<p id='n532' class='stm mis'><a href='#n532'>532</a></p>
-<p id='n533' class='pln'><a href='#n533'>533</a></p>
-<p id='n534' class='pln'><a href='#n534'>534</a></p>
-<p id='n535' class='stm mis'><a href='#n535'>535</a></p>
-<p id='n536' class='pln'><a href='#n536'>536</a></p>
-<p id='n537' class='stm mis'><a href='#n537'>537</a></p>
-<p id='n538' class='pln'><a href='#n538'>538</a></p>
-<p id='n539' class='pln'><a href='#n539'>539</a></p>
-<p id='n540' class='pln'><a href='#n540'>540</a></p>
-<p id='n541' class='pln'><a href='#n541'>541</a></p>
-<p id='n542' class='pln'><a href='#n542'>542</a></p>
-<p id='n543' class='pln'><a href='#n543'>543</a></p>
-<p id='n544' class='stm mis'><a href='#n544'>544</a></p>
-<p id='n545' class='pln'><a href='#n545'>545</a></p>
-<p id='n546' class='stm run hide_run'><a href='#n546'>546</a></p>
-<p id='n547' class='stm mis'><a href='#n547'>547</a></p>
-<p id='n548' class='pln'><a href='#n548'>548</a></p>
-<p id='n549' class='pln'><a href='#n549'>549</a></p>
-<p id='n550' class='pln'><a href='#n550'>550</a></p>
-<p id='n551' class='pln'><a href='#n551'>551</a></p>
-<p id='n552' class='stm mis'><a href='#n552'>552</a></p>
-<p id='n553' class='pln'><a href='#n553'>553</a></p>
-<p id='n554' class='stm mis'><a href='#n554'>554</a></p>
-<p id='n555' class='pln'><a href='#n555'>555</a></p>
-<p id='n556' class='pln'><a href='#n556'>556</a></p>
-<p id='n557' class='pln'><a href='#n557'>557</a></p>
-<p id='n558' class='pln'><a href='#n558'>558</a></p>
-<p id='n559' class='pln'><a href='#n559'>559</a></p>
-<p id='n560' class='pln'><a href='#n560'>560</a></p>
-<p id='n561' class='pln'><a href='#n561'>561</a></p>
-<p id='n562' class='pln'><a href='#n562'>562</a></p>
-<p id='n563' class='stm mis'><a href='#n563'>563</a></p>
-<p id='n564' class='pln'><a href='#n564'>564</a></p>
-<p id='n565' class='stm run hide_run'><a href='#n565'>565</a></p>
-<p id='n566' class='stm mis'><a href='#n566'>566</a></p>
-<p id='n567' class='pln'><a href='#n567'>567</a></p>
-<p id='n568' class='pln'><a href='#n568'>568</a></p>
-<p id='n569' class='pln'><a href='#n569'>569</a></p>
-<p id='n570' class='pln'><a href='#n570'>570</a></p>
-<p id='n571' class='pln'><a href='#n571'>571</a></p>
-<p id='n572' class='pln'><a href='#n572'>572</a></p>
-<p id='n573' class='stm mis'><a href='#n573'>573</a></p>
-<p id='n574' class='pln'><a href='#n574'>574</a></p>
-<p id='n575' class='stm mis'><a href='#n575'>575</a></p>
-<p id='n576' class='pln'><a href='#n576'>576</a></p>
-<p id='n577' class='pln'><a href='#n577'>577</a></p>
-<p id='n578' class='pln'><a href='#n578'>578</a></p>
-<p id='n579' class='pln'><a href='#n579'>579</a></p>
-<p id='n580' class='pln'><a href='#n580'>580</a></p>
-<p id='n581' class='pln'><a href='#n581'>581</a></p>
-<p id='n582' class='pln'><a href='#n582'>582</a></p>
-<p id='n583' class='pln'><a href='#n583'>583</a></p>
-<p id='n584' class='pln'><a href='#n584'>584</a></p>
-<p id='n585' class='pln'><a href='#n585'>585</a></p>
-<p id='n586' class='stm mis'><a href='#n586'>586</a></p>
-<p id='n587' class='pln'><a href='#n587'>587</a></p>
-<p id='n588' class='stm run hide_run'><a href='#n588'>588</a></p>
-<p id='n589' class='stm mis'><a href='#n589'>589</a></p>
-<p id='n590' class='pln'><a href='#n590'>590</a></p>
-<p id='n591' class='pln'><a href='#n591'>591</a></p>
-<p id='n592' class='pln'><a href='#n592'>592</a></p>
-<p id='n593' class='pln'><a href='#n593'>593</a></p>
-<p id='n594' class='pln'><a href='#n594'>594</a></p>
-<p id='n595' class='pln'><a href='#n595'>595</a></p>
-<p id='n596' class='stm mis'><a href='#n596'>596</a></p>
-<p id='n597' class='pln'><a href='#n597'>597</a></p>
-<p id='n598' class='stm mis'><a href='#n598'>598</a></p>
-<p id='n599' class='pln'><a href='#n599'>599</a></p>
-<p id='n600' class='pln'><a href='#n600'>600</a></p>
-<p id='n601' class='pln'><a href='#n601'>601</a></p>
-<p id='n602' class='pln'><a href='#n602'>602</a></p>
-<p id='n603' class='pln'><a href='#n603'>603</a></p>
-<p id='n604' class='pln'><a href='#n604'>604</a></p>
-<p id='n605' class='pln'><a href='#n605'>605</a></p>
-<p id='n606' class='pln'><a href='#n606'>606</a></p>
-<p id='n607' class='pln'><a href='#n607'>607</a></p>
-<p id='n608' class='pln'><a href='#n608'>608</a></p>
-<p id='n609' class='stm mis'><a href='#n609'>609</a></p>
-<p id='n610' class='pln'><a href='#n610'>610</a></p>
-<p id='n611' class='stm run hide_run'><a href='#n611'>611</a></p>
-<p id='n612' class='pln'><a href='#n612'>612</a></p>
-<p id='n613' class='pln'><a href='#n613'>613</a></p>
-<p id='n614' class='pln'><a href='#n614'>614</a></p>
-<p id='n615' class='stm run hide_run'><a href='#n615'>615</a></p>
-<p id='n616' class='stm mis'><a href='#n616'>616</a></p>
-<p id='n617' class='pln'><a href='#n617'>617</a></p>
-<p id='n618' class='pln'><a href='#n618'>618</a></p>
-<p id='n619' class='pln'><a href='#n619'>619</a></p>
-<p id='n620' class='pln'><a href='#n620'>620</a></p>
-<p id='n621' class='stm mis'><a href='#n621'>621</a></p>
-<p id='n622' class='stm mis'><a href='#n622'>622</a></p>
-<p id='n623' class='pln'><a href='#n623'>623</a></p>
-<p id='n624' class='pln'><a href='#n624'>624</a></p>
-<p id='n625' class='pln'><a href='#n625'>625</a></p>
-<p id='n626' class='stm run hide_run'><a href='#n626'>626</a></p>
-<p id='n627' class='stm mis'><a href='#n627'>627</a></p>
-<p id='n628' class='pln'><a href='#n628'>628</a></p>
-<p id='n629' class='pln'><a href='#n629'>629</a></p>
-<p id='n630' class='pln'><a href='#n630'>630</a></p>
-<p id='n631' class='pln'><a href='#n631'>631</a></p>
-<p id='n632' class='stm mis'><a href='#n632'>632</a></p>
-<p id='n633' class='stm mis'><a href='#n633'>633</a></p>
-<p id='n634' class='pln'><a href='#n634'>634</a></p>
-<p id='n635' class='pln'><a href='#n635'>635</a></p>
-<p id='n636' class='pln'><a href='#n636'>636</a></p>
-<p id='n637' class='stm run hide_run'><a href='#n637'>637</a></p>
-<p id='n638' class='stm mis'><a href='#n638'>638</a></p>
-<p id='n639' class='pln'><a href='#n639'>639</a></p>
-<p id='n640' class='pln'><a href='#n640'>640</a></p>
-<p id='n641' class='pln'><a href='#n641'>641</a></p>
-<p id='n642' class='pln'><a href='#n642'>642</a></p>
-<p id='n643' class='pln'><a href='#n643'>643</a></p>
-<p id='n644' class='pln'><a href='#n644'>644</a></p>
-<p id='n645' class='pln'><a href='#n645'>645</a></p>
-<p id='n646' class='pln'><a href='#n646'>646</a></p>
-<p id='n647' class='pln'><a href='#n647'>647</a></p>
-<p id='n648' class='pln'><a href='#n648'>648</a></p>
-<p id='n649' class='pln'><a href='#n649'>649</a></p>
-<p id='n650' class='pln'><a href='#n650'>650</a></p>
-<p id='n651' class='pln'><a href='#n651'>651</a></p>
-<p id='n652' class='stm mis'><a href='#n652'>652</a></p>
-<p id='n653' class='stm mis'><a href='#n653'>653</a></p>
-<p id='n654' class='pln'><a href='#n654'>654</a></p>
-<p id='n655' class='stm run hide_run'><a href='#n655'>655</a></p>
-<p id='n656' class='pln'><a href='#n656'>656</a></p>
-<p id='n657' class='pln'><a href='#n657'>657</a></p>
-<p id='n658' class='pln'><a href='#n658'>658</a></p>
-<p id='n659' class='pln'><a href='#n659'>659</a></p>
-<p id='n660' class='stm run hide_run'><a href='#n660'>660</a></p>
-<p id='n661' class='pln'><a href='#n661'>661</a></p>
-<p id='n662' class='pln'><a href='#n662'>662</a></p>
-<p id='n663' class='pln'><a href='#n663'>663</a></p>
-<p id='n664' class='stm mis'><a href='#n664'>664</a></p>
-<p id='n665' class='stm mis'><a href='#n665'>665</a></p>
-<p id='n666' class='stm mis'><a href='#n666'>666</a></p>
-<p id='n667' class='pln'><a href='#n667'>667</a></p>
-<p id='n668' class='stm run hide_run'><a href='#n668'>668</a></p>
-<p id='n669' class='stm mis'><a href='#n669'>669</a></p>
-<p id='n670' class='stm mis'><a href='#n670'>670</a></p>
-<p id='n671' class='stm mis'><a href='#n671'>671</a></p>
-<p id='n672' class='pln'><a href='#n672'>672</a></p>
-<p id='n673' class='stm run hide_run'><a href='#n673'>673</a></p>
-<p id='n674' class='stm mis'><a href='#n674'>674</a></p>
-<p id='n675' class='stm mis'><a href='#n675'>675</a></p>
-<p id='n676' class='stm mis'><a href='#n676'>676</a></p>
-<p id='n677' class='stm mis'><a href='#n677'>677</a></p>
-<p id='n678' class='stm mis'><a href='#n678'>678</a></p>
-<p id='n679' class='pln'><a href='#n679'>679</a></p>
-<p id='n680' class='stm run hide_run'><a href='#n680'>680</a></p>
-<p id='n681' class='pln'><a href='#n681'>681</a></p>
-<p id='n682' class='stm mis'><a href='#n682'>682</a></p>
-<p id='n683' class='stm mis'><a href='#n683'>683</a></p>
-<p id='n684' class='stm mis'><a href='#n684'>684</a></p>
-<p id='n685' class='stm mis'><a href='#n685'>685</a></p>
-<p id='n686' class='stm mis'><a href='#n686'>686</a></p>
-<p id='n687' class='pln'><a href='#n687'>687</a></p>
-<p id='n688' class='stm run hide_run'><a href='#n688'>688</a></p>
-<p id='n689' class='pln'><a href='#n689'>689</a></p>
-<p id='n690' class='stm mis'><a href='#n690'>690</a></p>
-<p id='n691' class='stm mis'><a href='#n691'>691</a></p>
-<p id='n692' class='stm mis'><a href='#n692'>692</a></p>
-<p id='n693' class='stm mis'><a href='#n693'>693</a></p>
-<p id='n694' class='stm mis'><a href='#n694'>694</a></p>
-<p id='n695' class='pln'><a href='#n695'>695</a></p>
-<p id='n696' class='stm run hide_run'><a href='#n696'>696</a></p>
-<p id='n697' class='pln'><a href='#n697'>697</a></p>
-<p id='n698' class='stm mis'><a href='#n698'>698</a></p>
-<p id='n699' class='stm mis'><a href='#n699'>699</a></p>
-<p id='n700' class='stm mis'><a href='#n700'>700</a></p>
-<p id='n701' class='stm mis'><a href='#n701'>701</a></p>
-<p id='n702' class='stm mis'><a href='#n702'>702</a></p>
-<p id='n703' class='pln'><a href='#n703'>703</a></p>
-<p id='n704' class='stm run hide_run'><a href='#n704'>704</a></p>
-<p id='n705' class='pln'><a href='#n705'>705</a></p>
-<p id='n706' class='stm mis'><a href='#n706'>706</a></p>
-<p id='n707' class='stm mis'><a href='#n707'>707</a></p>
-<p id='n708' class='stm mis'><a href='#n708'>708</a></p>
-<p id='n709' class='stm mis'><a href='#n709'>709</a></p>
-<p id='n710' class='stm mis'><a href='#n710'>710</a></p>
-<p id='n711' class='pln'><a href='#n711'>711</a></p>
-<p id='n712' class='stm run hide_run'><a href='#n712'>712</a></p>
-<p id='n713' class='pln'><a href='#n713'>713</a></p>
-<p id='n714' class='pln'><a href='#n714'>714</a></p>
-<p id='n715' class='stm mis'><a href='#n715'>715</a></p>
-<p id='n716' class='stm mis'><a href='#n716'>716</a></p>
-<p id='n717' class='stm mis'><a href='#n717'>717</a></p>
-<p id='n718' class='stm mis'><a href='#n718'>718</a></p>
-<p id='n719' class='stm mis'><a href='#n719'>719</a></p>
-<p id='n720' class='stm mis'><a href='#n720'>720</a></p>
-<p id='n721' class='pln'><a href='#n721'>721</a></p>
-<p id='n722' class='stm run hide_run'><a href='#n722'>722</a></p>
-<p id='n723' class='pln'><a href='#n723'>723</a></p>
-<p id='n724' class='stm run hide_run'><a href='#n724'>724</a></p>
-<p id='n725' class='pln'><a href='#n725'>725</a></p>
-<p id='n726' class='pln'><a href='#n726'>726</a></p>
-<p id='n727' class='pln'><a href='#n727'>727</a></p>
-<p id='n728' class='stm mis'><a href='#n728'>728</a></p>
-<p id='n729' class='stm mis'><a href='#n729'>729</a></p>
-<p id='n730' class='stm mis'><a href='#n730'>730</a></p>
-<p id='n731' class='pln'><a href='#n731'>731</a></p>
-<p id='n732' class='stm run hide_run'><a href='#n732'>732</a></p>
-<p id='n733' class='pln'><a href='#n733'>733</a></p>
-<p id='n734' class='stm mis'><a href='#n734'>734</a></p>
-<p id='n735' class='stm mis'><a href='#n735'>735</a></p>
-<p id='n736' class='stm mis'><a href='#n736'>736</a></p>
-<p id='n737' class='stm mis'><a href='#n737'>737</a></p>
-<p id='n738' class='stm mis'><a href='#n738'>738</a></p>
-<p id='n739' class='pln'><a href='#n739'>739</a></p>
-<p id='n740' class='stm run hide_run'><a href='#n740'>740</a></p>
-<p id='n741' class='stm mis'><a href='#n741'>741</a></p>
-<p id='n742' class='pln'><a href='#n742'>742</a></p>
-<p id='n743' class='stm mis'><a href='#n743'>743</a></p>
-<p id='n744' class='pln'><a href='#n744'>744</a></p>
-<p id='n745' class='stm run hide_run'><a href='#n745'>745</a></p>
-<p id='n746' class='stm mis'><a href='#n746'>746</a></p>
-<p id='n747' class='stm mis'><a href='#n747'>747</a></p>
-<p id='n748' class='stm mis'><a href='#n748'>748</a></p>
-<p id='n749' class='pln'><a href='#n749'>749</a></p>
-<p id='n750' class='stm run hide_run'><a href='#n750'>750</a></p>
-<p id='n751' class='stm mis'><a href='#n751'>751</a></p>
-<p id='n752' class='stm mis'><a href='#n752'>752</a></p>
-<p id='n753' class='stm mis'><a href='#n753'>753</a></p>
-<p id='n754' class='stm mis'><a href='#n754'>754</a></p>
-<p id='n755' class='pln'><a href='#n755'>755</a></p>
-<p id='n756' class='stm mis'><a href='#n756'>756</a></p>
-<p id='n757' class='stm mis'><a href='#n757'>757</a></p>
-<p id='n758' class='pln'><a href='#n758'>758</a></p>
-<p id='n759' class='pln'><a href='#n759'>759</a></p>
-<p id='n760' class='stm run hide_run'><a href='#n760'>760</a></p>
-<p id='n761' class='pln'><a href='#n761'>761</a></p>
-<p id='n762' class='stm run hide_run'><a href='#n762'>762</a></p>
-<p id='n763' class='pln'><a href='#n763'>763</a></p>
-<p id='n764' class='stm mis'><a href='#n764'>764</a></p>
-<p id='n765' class='stm mis'><a href='#n765'>765</a></p>
-<p id='n766' class='stm mis'><a href='#n766'>766</a></p>
-<p id='n767' class='stm mis'><a href='#n767'>767</a></p>
-<p id='n768' class='stm mis'><a href='#n768'>768</a></p>
-<p id='n769' class='pln'><a href='#n769'>769</a></p>
-<p id='n770' class='stm run hide_run'><a href='#n770'>770</a></p>
-<p id='n771' class='stm mis'><a href='#n771'>771</a></p>
-<p id='n772' class='pln'><a href='#n772'>772</a></p>
-<p id='n773' class='pln'><a href='#n773'>773</a></p>
-<p id='n774' class='pln'><a href='#n774'>774</a></p>
-<p id='n775' class='pln'><a href='#n775'>775</a></p>
-<p id='n776' class='pln'><a href='#n776'>776</a></p>
-<p id='n777' class='stm mis'><a href='#n777'>777</a></p>
-<p id='n778' class='stm mis'><a href='#n778'>778</a></p>
-<p id='n779' class='pln'><a href='#n779'>779</a></p>
-<p id='n780' class='stm run hide_run'><a href='#n780'>780</a></p>
-<p id='n781' class='stm mis'><a href='#n781'>781</a></p>
-<p id='n782' class='stm mis'><a href='#n782'>782</a></p>
-<p id='n783' class='stm mis'><a href='#n783'>783</a></p>
-<p id='n784' class='pln'><a href='#n784'>784</a></p>
-<p id='n785' class='stm run hide_run'><a href='#n785'>785</a></p>
-<p id='n786' class='stm mis'><a href='#n786'>786</a></p>
-<p id='n787' class='stm mis'><a href='#n787'>787</a></p>
-<p id='n788' class='stm mis'><a href='#n788'>788</a></p>
-<p id='n789' class='stm mis'><a href='#n789'>789</a></p>
-<p id='n790' class='pln'><a href='#n790'>790</a></p>
-<p id='n791' class='stm run hide_run'><a href='#n791'>791</a></p>
-<p id='n792' class='pln'><a href='#n792'>792</a></p>
-<p id='n793' class='stm mis'><a href='#n793'>793</a></p>
-<p id='n794' class='stm mis'><a href='#n794'>794</a></p>
-<p id='n795' class='stm mis'><a href='#n795'>795</a></p>
-<p id='n796' class='stm mis'><a href='#n796'>796</a></p>
-<p id='n797' class='pln'><a href='#n797'>797</a></p>
-<p id='n798' class='stm run hide_run'><a href='#n798'>798</a></p>
-<p id='n799' class='stm mis'><a href='#n799'>799</a></p>
-<p id='n800' class='pln'><a href='#n800'>800</a></p>
-<p id='n801' class='pln'><a href='#n801'>801</a></p>
-<p id='n802' class='pln'><a href='#n802'>802</a></p>
-<p id='n803' class='pln'><a href='#n803'>803</a></p>
-<p id='n804' class='pln'><a href='#n804'>804</a></p>
-<p id='n805' class='stm mis'><a href='#n805'>805</a></p>
-<p id='n806' class='stm mis'><a href='#n806'>806</a></p>
-<p id='n807' class='pln'><a href='#n807'>807</a></p>
-<p id='n808' class='stm run hide_run'><a href='#n808'>808</a></p>
-<p id='n809' class='stm mis'><a href='#n809'>809</a></p>
-<p id='n810' class='pln'><a href='#n810'>810</a></p>
-<p id='n811' class='pln'><a href='#n811'>811</a></p>
-<p id='n812' class='pln'><a href='#n812'>812</a></p>
-<p id='n813' class='pln'><a href='#n813'>813</a></p>
-<p id='n814' class='pln'><a href='#n814'>814</a></p>
-<p id='n815' class='pln'><a href='#n815'>815</a></p>
-<p id='n816' class='pln'><a href='#n816'>816</a></p>
-<p id='n817' class='pln'><a href='#n817'>817</a></p>
-<p id='n818' class='pln'><a href='#n818'>818</a></p>
-<p id='n819' class='pln'><a href='#n819'>819</a></p>
-<p id='n820' class='pln'><a href='#n820'>820</a></p>
-<p id='n821' class='pln'><a href='#n821'>821</a></p>
-<p id='n822' class='pln'><a href='#n822'>822</a></p>
-<p id='n823' class='pln'><a href='#n823'>823</a></p>
-<p id='n824' class='pln'><a href='#n824'>824</a></p>
-<p id='n825' class='pln'><a href='#n825'>825</a></p>
-<p id='n826' class='pln'><a href='#n826'>826</a></p>
-<p id='n827' class='pln'><a href='#n827'>827</a></p>
-<p id='n828' class='pln'><a href='#n828'>828</a></p>
-<p id='n829' class='pln'><a href='#n829'>829</a></p>
-<p id='n830' class='pln'><a href='#n830'>830</a></p>
-<p id='n831' class='pln'><a href='#n831'>831</a></p>
-<p id='n832' class='stm mis'><a href='#n832'>832</a></p>
-<p id='n833' class='stm mis'><a href='#n833'>833</a></p>
-<p id='n834' class='pln'><a href='#n834'>834</a></p>
-<p id='n835' class='pln'><a href='#n835'>835</a></p>
-<p id='n836' class='stm mis'><a href='#n836'>836</a></p>
-<p id='n837' class='stm mis'><a href='#n837'>837</a></p>
-<p id='n838' class='stm mis'><a href='#n838'>838</a></p>
-<p id='n839' class='pln'><a href='#n839'>839</a></p>
-<p id='n840' class='stm run hide_run'><a href='#n840'>840</a></p>
-<p id='n841' class='stm mis'><a href='#n841'>841</a></p>
-<p id='n842' class='stm mis'><a href='#n842'>842</a></p>
-<p id='n843' class='pln'><a href='#n843'>843</a></p>
-<p id='n844' class='pln'><a href='#n844'>844</a></p>
-<p id='n845' class='stm run hide_run'><a href='#n845'>845</a></p>
-<p id='n846' class='pln'><a href='#n846'>846</a></p>
-<p id='n847' class='stm run hide_run'><a href='#n847'>847</a></p>
-<p id='n848' class='stm mis'><a href='#n848'>848</a></p>
-<p id='n849' class='pln'><a href='#n849'>849</a></p>
-<p id='n850' class='pln'><a href='#n850'>850</a></p>
-<p id='n851' class='pln'><a href='#n851'>851</a></p>
-<p id='n852' class='pln'><a href='#n852'>852</a></p>
-<p id='n853' class='pln'><a href='#n853'>853</a></p>
-<p id='n854' class='pln'><a href='#n854'>854</a></p>
-<p id='n855' class='pln'><a href='#n855'>855</a></p>
-<p id='n856' class='pln'><a href='#n856'>856</a></p>
-<p id='n857' class='pln'><a href='#n857'>857</a></p>
-<p id='n858' class='pln'><a href='#n858'>858</a></p>
-<p id='n859' class='pln'><a href='#n859'>859</a></p>
-<p id='n860' class='pln'><a href='#n860'>860</a></p>
-<p id='n861' class='pln'><a href='#n861'>861</a></p>
-<p id='n862' class='pln'><a href='#n862'>862</a></p>
-<p id='n863' class='pln'><a href='#n863'>863</a></p>
-<p id='n864' class='pln'><a href='#n864'>864</a></p>
-<p id='n865' class='pln'><a href='#n865'>865</a></p>
-<p id='n866' class='pln'><a href='#n866'>866</a></p>
-<p id='n867' class='pln'><a href='#n867'>867</a></p>
-<p id='n868' class='pln'><a href='#n868'>868</a></p>
-<p id='n869' class='pln'><a href='#n869'>869</a></p>
-<p id='n870' class='pln'><a href='#n870'>870</a></p>
-<p id='n871' class='pln'><a href='#n871'>871</a></p>
-<p id='n872' class='pln'><a href='#n872'>872</a></p>
-<p id='n873' class='stm mis'><a href='#n873'>873</a></p>
-<p id='n874' class='stm mis'><a href='#n874'>874</a></p>
-<p id='n875' class='stm mis'><a href='#n875'>875</a></p>
-<p id='n876' class='stm mis'><a href='#n876'>876</a></p>
-<p id='n877' class='stm mis'><a href='#n877'>877</a></p>
-<p id='n878' class='pln'><a href='#n878'>878</a></p>
-<p id='n879' class='stm run hide_run'><a href='#n879'>879</a></p>
-<p id='n880' class='pln'><a href='#n880'>880</a></p>
-<p id='n881' class='stm mis'><a href='#n881'>881</a></p>
-<p id='n882' class='pln'><a href='#n882'>882</a></p>
-<p id='n883' class='pln'><a href='#n883'>883</a></p>
-<p id='n884' class='pln'><a href='#n884'>884</a></p>
-<p id='n885' class='pln'><a href='#n885'>885</a></p>
-<p id='n886' class='pln'><a href='#n886'>886</a></p>
-<p id='n887' class='pln'><a href='#n887'>887</a></p>
-<p id='n888' class='pln'><a href='#n888'>888</a></p>
-<p id='n889' class='pln'><a href='#n889'>889</a></p>
-<p id='n890' class='pln'><a href='#n890'>890</a></p>
-<p id='n891' class='pln'><a href='#n891'>891</a></p>
-<p id='n892' class='pln'><a href='#n892'>892</a></p>
-<p id='n893' class='pln'><a href='#n893'>893</a></p>
-<p id='n894' class='pln'><a href='#n894'>894</a></p>
-<p id='n895' class='pln'><a href='#n895'>895</a></p>
-<p id='n896' class='pln'><a href='#n896'>896</a></p>
-<p id='n897' class='pln'><a href='#n897'>897</a></p>
-<p id='n898' class='pln'><a href='#n898'>898</a></p>
-<p id='n899' class='pln'><a href='#n899'>899</a></p>
-<p id='n900' class='pln'><a href='#n900'>900</a></p>
-<p id='n901' class='pln'><a href='#n901'>901</a></p>
-<p id='n902' class='pln'><a href='#n902'>902</a></p>
-<p id='n903' class='pln'><a href='#n903'>903</a></p>
-<p id='n904' class='pln'><a href='#n904'>904</a></p>
-<p id='n905' class='pln'><a href='#n905'>905</a></p>
-<p id='n906' class='stm mis'><a href='#n906'>906</a></p>
-<p id='n907' class='stm mis'><a href='#n907'>907</a></p>
-<p id='n908' class='stm mis'><a href='#n908'>908</a></p>
-<p id='n909' class='pln'><a href='#n909'>909</a></p>
-<p id='n910' class='stm run hide_run'><a href='#n910'>910</a></p>
-<p id='n911' class='stm mis'><a href='#n911'>911</a></p>
-<p id='n912' class='pln'><a href='#n912'>912</a></p>
-<p id='n913' class='pln'><a href='#n913'>913</a></p>
-<p id='n914' class='pln'><a href='#n914'>914</a></p>
-<p id='n915' class='pln'><a href='#n915'>915</a></p>
-<p id='n916' class='pln'><a href='#n916'>916</a></p>
-<p id='n917' class='pln'><a href='#n917'>917</a></p>
-<p id='n918' class='pln'><a href='#n918'>918</a></p>
-<p id='n919' class='pln'><a href='#n919'>919</a></p>
-<p id='n920' class='pln'><a href='#n920'>920</a></p>
-<p id='n921' class='pln'><a href='#n921'>921</a></p>
-<p id='n922' class='pln'><a href='#n922'>922</a></p>
-<p id='n923' class='pln'><a href='#n923'>923</a></p>
-<p id='n924' class='pln'><a href='#n924'>924</a></p>
-<p id='n925' class='pln'><a href='#n925'>925</a></p>
-<p id='n926' class='pln'><a href='#n926'>926</a></p>
-<p id='n927' class='pln'><a href='#n927'>927</a></p>
-<p id='n928' class='pln'><a href='#n928'>928</a></p>
-<p id='n929' class='pln'><a href='#n929'>929</a></p>
-<p id='n930' class='pln'><a href='#n930'>930</a></p>
-<p id='n931' class='pln'><a href='#n931'>931</a></p>
-<p id='n932' class='pln'><a href='#n932'>932</a></p>
-<p id='n933' class='pln'><a href='#n933'>933</a></p>
-<p id='n934' class='pln'><a href='#n934'>934</a></p>
-<p id='n935' class='pln'><a href='#n935'>935</a></p>
-<p id='n936' class='pln'><a href='#n936'>936</a></p>
-<p id='n937' class='pln'><a href='#n937'>937</a></p>
-<p id='n938' class='pln'><a href='#n938'>938</a></p>
-<p id='n939' class='pln'><a href='#n939'>939</a></p>
-<p id='n940' class='pln'><a href='#n940'>940</a></p>
-<p id='n941' class='pln'><a href='#n941'>941</a></p>
-<p id='n942' class='pln'><a href='#n942'>942</a></p>
-<p id='n943' class='pln'><a href='#n943'>943</a></p>
-<p id='n944' class='pln'><a href='#n944'>944</a></p>
-<p id='n945' class='pln'><a href='#n945'>945</a></p>
-<p id='n946' class='pln'><a href='#n946'>946</a></p>
-<p id='n947' class='pln'><a href='#n947'>947</a></p>
-<p id='n948' class='pln'><a href='#n948'>948</a></p>
-<p id='n949' class='pln'><a href='#n949'>949</a></p>
-<p id='n950' class='stm mis'><a href='#n950'>950</a></p>
-<p id='n951' class='stm mis'><a href='#n951'>951</a></p>
-<p id='n952' class='stm mis'><a href='#n952'>952</a></p>
-<p id='n953' class='stm mis'><a href='#n953'>953</a></p>
-<p id='n954' class='stm mis'><a href='#n954'>954</a></p>
-<p id='n955' class='stm mis'><a href='#n955'>955</a></p>
-<p id='n956' class='pln'><a href='#n956'>956</a></p>
-<p id='n957' class='stm run hide_run'><a href='#n957'>957</a></p>
-<p id='n958' class='stm mis'><a href='#n958'>958</a></p>
-<p id='n959' class='pln'><a href='#n959'>959</a></p>
-<p id='n960' class='pln'><a href='#n960'>960</a></p>
-<p id='n961' class='pln'><a href='#n961'>961</a></p>
-<p id='n962' class='pln'><a href='#n962'>962</a></p>
-<p id='n963' class='pln'><a href='#n963'>963</a></p>
-<p id='n964' class='pln'><a href='#n964'>964</a></p>
-<p id='n965' class='pln'><a href='#n965'>965</a></p>
-<p id='n966' class='pln'><a href='#n966'>966</a></p>
-<p id='n967' class='pln'><a href='#n967'>967</a></p>
-<p id='n968' class='pln'><a href='#n968'>968</a></p>
-<p id='n969' class='pln'><a href='#n969'>969</a></p>
-<p id='n970' class='pln'><a href='#n970'>970</a></p>
-<p id='n971' class='pln'><a href='#n971'>971</a></p>
-<p id='n972' class='pln'><a href='#n972'>972</a></p>
-<p id='n973' class='pln'><a href='#n973'>973</a></p>
-<p id='n974' class='pln'><a href='#n974'>974</a></p>
-<p id='n975' class='pln'><a href='#n975'>975</a></p>
-<p id='n976' class='pln'><a href='#n976'>976</a></p>
-<p id='n977' class='pln'><a href='#n977'>977</a></p>
-<p id='n978' class='pln'><a href='#n978'>978</a></p>
-<p id='n979' class='pln'><a href='#n979'>979</a></p>
-<p id='n980' class='pln'><a href='#n980'>980</a></p>
-<p id='n981' class='pln'><a href='#n981'>981</a></p>
-<p id='n982' class='pln'><a href='#n982'>982</a></p>
-<p id='n983' class='pln'><a href='#n983'>983</a></p>
-<p id='n984' class='pln'><a href='#n984'>984</a></p>
-<p id='n985' class='pln'><a href='#n985'>985</a></p>
-<p id='n986' class='pln'><a href='#n986'>986</a></p>
-<p id='n987' class='pln'><a href='#n987'>987</a></p>
-<p id='n988' class='pln'><a href='#n988'>988</a></p>
-<p id='n989' class='pln'><a href='#n989'>989</a></p>
-<p id='n990' class='pln'><a href='#n990'>990</a></p>
-<p id='n991' class='pln'><a href='#n991'>991</a></p>
-<p id='n992' class='pln'><a href='#n992'>992</a></p>
-<p id='n993' class='pln'><a href='#n993'>993</a></p>
-<p id='n994' class='pln'><a href='#n994'>994</a></p>
-<p id='n995' class='pln'><a href='#n995'>995</a></p>
-<p id='n996' class='pln'><a href='#n996'>996</a></p>
-<p id='n997' class='pln'><a href='#n997'>997</a></p>
-<p id='n998' class='pln'><a href='#n998'>998</a></p>
-<p id='n999' class='pln'><a href='#n999'>999</a></p>
-<p id='n1000' class='pln'><a href='#n1000'>1000</a></p>
-<p id='n1001' class='stm mis'><a href='#n1001'>1001</a></p>
-<p id='n1002' class='stm mis'><a href='#n1002'>1002</a></p>
-<p id='n1003' class='stm mis'><a href='#n1003'>1003</a></p>
-<p id='n1004' class='stm mis'><a href='#n1004'>1004</a></p>
-<p id='n1005' class='stm mis'><a href='#n1005'>1005</a></p>
-<p id='n1006' class='stm mis'><a href='#n1006'>1006</a></p>
-<p id='n1007' class='pln'><a href='#n1007'>1007</a></p>
-<p id='n1008' class='stm run hide_run'><a href='#n1008'>1008</a></p>
-<p id='n1009' class='stm mis'><a href='#n1009'>1009</a></p>
-<p id='n1010' class='pln'><a href='#n1010'>1010</a></p>
-<p id='n1011' class='pln'><a href='#n1011'>1011</a></p>
-<p id='n1012' class='pln'><a href='#n1012'>1012</a></p>
-<p id='n1013' class='pln'><a href='#n1013'>1013</a></p>
-<p id='n1014' class='pln'><a href='#n1014'>1014</a></p>
-<p id='n1015' class='pln'><a href='#n1015'>1015</a></p>
-<p id='n1016' class='pln'><a href='#n1016'>1016</a></p>
-<p id='n1017' class='pln'><a href='#n1017'>1017</a></p>
-<p id='n1018' class='pln'><a href='#n1018'>1018</a></p>
-<p id='n1019' class='pln'><a href='#n1019'>1019</a></p>
-<p id='n1020' class='pln'><a href='#n1020'>1020</a></p>
-<p id='n1021' class='pln'><a href='#n1021'>1021</a></p>
-<p id='n1022' class='pln'><a href='#n1022'>1022</a></p>
-<p id='n1023' class='pln'><a href='#n1023'>1023</a></p>
-<p id='n1024' class='pln'><a href='#n1024'>1024</a></p>
-<p id='n1025' class='pln'><a href='#n1025'>1025</a></p>
-<p id='n1026' class='pln'><a href='#n1026'>1026</a></p>
-<p id='n1027' class='pln'><a href='#n1027'>1027</a></p>
-<p id='n1028' class='pln'><a href='#n1028'>1028</a></p>
-<p id='n1029' class='pln'><a href='#n1029'>1029</a></p>
-<p id='n1030' class='pln'><a href='#n1030'>1030</a></p>
-<p id='n1031' class='pln'><a href='#n1031'>1031</a></p>
-<p id='n1032' class='pln'><a href='#n1032'>1032</a></p>
-<p id='n1033' class='pln'><a href='#n1033'>1033</a></p>
-<p id='n1034' class='pln'><a href='#n1034'>1034</a></p>
-<p id='n1035' class='pln'><a href='#n1035'>1035</a></p>
-<p id='n1036' class='pln'><a href='#n1036'>1036</a></p>
-<p id='n1037' class='pln'><a href='#n1037'>1037</a></p>
-<p id='n1038' class='pln'><a href='#n1038'>1038</a></p>
-<p id='n1039' class='pln'><a href='#n1039'>1039</a></p>
-<p id='n1040' class='pln'><a href='#n1040'>1040</a></p>
-<p id='n1041' class='pln'><a href='#n1041'>1041</a></p>
-<p id='n1042' class='pln'><a href='#n1042'>1042</a></p>
-<p id='n1043' class='pln'><a href='#n1043'>1043</a></p>
-<p id='n1044' class='pln'><a href='#n1044'>1044</a></p>
-<p id='n1045' class='stm mis'><a href='#n1045'>1045</a></p>
-<p id='n1046' class='stm mis'><a href='#n1046'>1046</a></p>
-<p id='n1047' class='stm mis'><a href='#n1047'>1047</a></p>
-<p id='n1048' class='stm mis'><a href='#n1048'>1048</a></p>
-<p id='n1049' class='pln'><a href='#n1049'>1049</a></p>
-<p id='n1050' class='stm run hide_run'><a href='#n1050'>1050</a></p>
-<p id='n1051' class='stm mis'><a href='#n1051'>1051</a></p>
-<p id='n1052' class='pln'><a href='#n1052'>1052</a></p>
-<p id='n1053' class='pln'><a href='#n1053'>1053</a></p>
-<p id='n1054' class='pln'><a href='#n1054'>1054</a></p>
-<p id='n1055' class='pln'><a href='#n1055'>1055</a></p>
-<p id='n1056' class='pln'><a href='#n1056'>1056</a></p>
-<p id='n1057' class='pln'><a href='#n1057'>1057</a></p>
-<p id='n1058' class='pln'><a href='#n1058'>1058</a></p>
-<p id='n1059' class='pln'><a href='#n1059'>1059</a></p>
-<p id='n1060' class='pln'><a href='#n1060'>1060</a></p>
-<p id='n1061' class='pln'><a href='#n1061'>1061</a></p>
-<p id='n1062' class='pln'><a href='#n1062'>1062</a></p>
-<p id='n1063' class='pln'><a href='#n1063'>1063</a></p>
-<p id='n1064' class='pln'><a href='#n1064'>1064</a></p>
-<p id='n1065' class='pln'><a href='#n1065'>1065</a></p>
-<p id='n1066' class='pln'><a href='#n1066'>1066</a></p>
-<p id='n1067' class='stm mis'><a href='#n1067'>1067</a></p>
-<p id='n1068' class='stm mis'><a href='#n1068'>1068</a></p>
-<p id='n1069' class='pln'><a href='#n1069'>1069</a></p>
-<p id='n1070' class='stm run hide_run'><a href='#n1070'>1070</a></p>
-<p id='n1071' class='stm mis'><a href='#n1071'>1071</a></p>
-<p id='n1072' class='pln'><a href='#n1072'>1072</a></p>
-<p id='n1073' class='pln'><a href='#n1073'>1073</a></p>
-<p id='n1074' class='pln'><a href='#n1074'>1074</a></p>
-<p id='n1075' class='pln'><a href='#n1075'>1075</a></p>
-<p id='n1076' class='pln'><a href='#n1076'>1076</a></p>
-<p id='n1077' class='pln'><a href='#n1077'>1077</a></p>
-<p id='n1078' class='pln'><a href='#n1078'>1078</a></p>
-<p id='n1079' class='pln'><a href='#n1079'>1079</a></p>
-<p id='n1080' class='pln'><a href='#n1080'>1080</a></p>
-<p id='n1081' class='pln'><a href='#n1081'>1081</a></p>
-<p id='n1082' class='pln'><a href='#n1082'>1082</a></p>
-<p id='n1083' class='pln'><a href='#n1083'>1083</a></p>
-<p id='n1084' class='pln'><a href='#n1084'>1084</a></p>
-<p id='n1085' class='pln'><a href='#n1085'>1085</a></p>
-<p id='n1086' class='pln'><a href='#n1086'>1086</a></p>
-<p id='n1087' class='pln'><a href='#n1087'>1087</a></p>
-<p id='n1088' class='pln'><a href='#n1088'>1088</a></p>
-<p id='n1089' class='pln'><a href='#n1089'>1089</a></p>
-<p id='n1090' class='pln'><a href='#n1090'>1090</a></p>
-<p id='n1091' class='pln'><a href='#n1091'>1091</a></p>
-<p id='n1092' class='pln'><a href='#n1092'>1092</a></p>
-<p id='n1093' class='pln'><a href='#n1093'>1093</a></p>
-<p id='n1094' class='pln'><a href='#n1094'>1094</a></p>
-<p id='n1095' class='pln'><a href='#n1095'>1095</a></p>
-<p id='n1096' class='pln'><a href='#n1096'>1096</a></p>
-<p id='n1097' class='pln'><a href='#n1097'>1097</a></p>
-<p id='n1098' class='pln'><a href='#n1098'>1098</a></p>
-<p id='n1099' class='pln'><a href='#n1099'>1099</a></p>
-<p id='n1100' class='pln'><a href='#n1100'>1100</a></p>
-<p id='n1101' class='pln'><a href='#n1101'>1101</a></p>
-<p id='n1102' class='pln'><a href='#n1102'>1102</a></p>
-<p id='n1103' class='pln'><a href='#n1103'>1103</a></p>
-<p id='n1104' class='pln'><a href='#n1104'>1104</a></p>
-<p id='n1105' class='pln'><a href='#n1105'>1105</a></p>
-<p id='n1106' class='pln'><a href='#n1106'>1106</a></p>
-<p id='n1107' class='pln'><a href='#n1107'>1107</a></p>
-<p id='n1108' class='pln'><a href='#n1108'>1108</a></p>
-<p id='n1109' class='stm mis'><a href='#n1109'>1109</a></p>
-<p id='n1110' class='stm mis'><a href='#n1110'>1110</a></p>
-<p id='n1111' class='stm mis'><a href='#n1111'>1111</a></p>
-<p id='n1112' class='stm mis'><a href='#n1112'>1112</a></p>
-<p id='n1113' class='stm mis'><a href='#n1113'>1113</a></p>
-<p id='n1114' class='pln'><a href='#n1114'>1114</a></p>
-<p id='n1115' class='pln'><a href='#n1115'>1115</a></p>
-<p id='n1116' class='stm run hide_run'><a href='#n1116'>1116</a></p>
-<p id='n1117' class='pln'><a href='#n1117'>1117</a></p>
-<p id='n1118' class='pln'><a href='#n1118'>1118</a></p>
-<p id='n1119' class='stm run hide_run'><a href='#n1119'>1119</a></p>
-<p id='n1120' class='pln'><a href='#n1120'>1120</a></p>
-<p id='n1121' class='pln'><a href='#n1121'>1121</a></p>
-<p id='n1122' class='pln'><a href='#n1122'>1122</a></p>
-<p id='n1123' class='pln'><a href='#n1123'>1123</a></p>
-<p id='n1124' class='pln'><a href='#n1124'>1124</a></p>
-<p id='n1125' class='pln'><a href='#n1125'>1125</a></p>
-<p id='n1126' class='pln'><a href='#n1126'>1126</a></p>
-<p id='n1127' class='pln'><a href='#n1127'>1127</a></p>
-<p id='n1128' class='stm run hide_run'><a href='#n1128'>1128</a></p>
-<p id='n1129' class='pln'><a href='#n1129'>1129</a></p>
-<p id='n1130' class='pln'><a href='#n1130'>1130</a></p>
-<p id='n1131' class='pln'><a href='#n1131'>1131</a></p>
-<p id='n1132' class='pln'><a href='#n1132'>1132</a></p>
-<p id='n1133' class='pln'><a href='#n1133'>1133</a></p>
-<p id='n1134' class='pln'><a href='#n1134'>1134</a></p>
-<p id='n1135' class='pln'><a href='#n1135'>1135</a></p>
-<p id='n1136' class='pln'><a href='#n1136'>1136</a></p>
-<p id='n1137' class='stm run hide_run'><a href='#n1137'>1137</a></p>
-<p id='n1138' class='stm mis'><a href='#n1138'>1138</a></p>
-<p id='n1139' class='stm mis'><a href='#n1139'>1139</a></p>
-<p id='n1140' class='stm mis'><a href='#n1140'>1140</a></p>
-<p id='n1141' class='pln'><a href='#n1141'>1141</a></p>
-<p id='n1142' class='stm run hide_run'><a href='#n1142'>1142</a></p>
-<p id='n1143' class='stm mis'><a href='#n1143'>1143</a></p>
-<p id='n1144' class='stm mis'><a href='#n1144'>1144</a></p>
-<p id='n1145' class='stm mis'><a href='#n1145'>1145</a></p>
-<p id='n1146' class='pln'><a href='#n1146'>1146</a></p>
-<p id='n1147' class='stm run hide_run'><a href='#n1147'>1147</a></p>
-<p id='n1148' class='stm mis'><a href='#n1148'>1148</a></p>
-<p id='n1149' class='stm mis'><a href='#n1149'>1149</a></p>
-<p id='n1150' class='stm mis'><a href='#n1150'>1150</a></p>
-<p id='n1151' class='pln'><a href='#n1151'>1151</a></p>
-<p id='n1152' class='stm run hide_run'><a href='#n1152'>1152</a></p>
-<p id='n1153' class='stm mis'><a href='#n1153'>1153</a></p>
-<p id='n1154' class='stm mis'><a href='#n1154'>1154</a></p>
-<p id='n1155' class='stm mis'><a href='#n1155'>1155</a></p>
-<p id='n1156' class='pln'><a href='#n1156'>1156</a></p>
-<p id='n1157' class='pln'><a href='#n1157'>1157</a></p>
-<p id='n1158' class='stm run hide_run'><a href='#n1158'>1158</a></p>
-<p id='n1159' class='pln'><a href='#n1159'>1159</a></p>
-<p id='n1160' class='stm run hide_run'><a href='#n1160'>1160</a></p>
-<p id='n1161' class='stm mis'><a href='#n1161'>1161</a></p>
-<p id='n1162' class='pln'><a href='#n1162'>1162</a></p>
-<p id='n1163' class='pln'><a href='#n1163'>1163</a></p>
-<p id='n1164' class='pln'><a href='#n1164'>1164</a></p>
-<p id='n1165' class='pln'><a href='#n1165'>1165</a></p>
-<p id='n1166' class='pln'><a href='#n1166'>1166</a></p>
-<p id='n1167' class='pln'><a href='#n1167'>1167</a></p>
-<p id='n1168' class='pln'><a href='#n1168'>1168</a></p>
-<p id='n1169' class='pln'><a href='#n1169'>1169</a></p>
-<p id='n1170' class='pln'><a href='#n1170'>1170</a></p>
-<p id='n1171' class='pln'><a href='#n1171'>1171</a></p>
-<p id='n1172' class='pln'><a href='#n1172'>1172</a></p>
-<p id='n1173' class='pln'><a href='#n1173'>1173</a></p>
-<p id='n1174' class='pln'><a href='#n1174'>1174</a></p>
-<p id='n1175' class='pln'><a href='#n1175'>1175</a></p>
-<p id='n1176' class='pln'><a href='#n1176'>1176</a></p>
-<p id='n1177' class='pln'><a href='#n1177'>1177</a></p>
-<p id='n1178' class='pln'><a href='#n1178'>1178</a></p>
-<p id='n1179' class='pln'><a href='#n1179'>1179</a></p>
-<p id='n1180' class='stm mis'><a href='#n1180'>1180</a></p>
-<p id='n1181' class='stm mis'><a href='#n1181'>1181</a></p>
-<p id='n1182' class='stm mis'><a href='#n1182'>1182</a></p>
-<p id='n1183' class='stm mis'><a href='#n1183'>1183</a></p>
-<p id='n1184' class='stm mis'><a href='#n1184'>1184</a></p>
-<p id='n1185' class='pln'><a href='#n1185'>1185</a></p>
-<p id='n1186' class='pln'><a href='#n1186'>1186</a></p>
-<p id='n1187' class='stm run hide_run'><a href='#n1187'>1187</a></p>
-<p id='n1188' class='pln'><a href='#n1188'>1188</a></p>
-<p id='n1189' class='pln'><a href='#n1189'>1189</a></p>
-<p id='n1190' class='pln'><a href='#n1190'>1190</a></p>
-<p id='n1191' class='pln'><a href='#n1191'>1191</a></p>
-<p id='n1192' class='pln'><a href='#n1192'>1192</a></p>
-<p id='n1193' class='stm run hide_run'><a href='#n1193'>1193</a></p>
-<p id='n1194' class='stm mis'><a href='#n1194'>1194</a></p>
-<p id='n1195' class='stm mis'><a href='#n1195'>1195</a></p>
-<p id='n1196' class='pln'><a href='#n1196'>1196</a></p>
-<p id='n1197' class='stm run hide_run'><a href='#n1197'>1197</a></p>
-<p id='n1198' class='stm mis'><a href='#n1198'>1198</a></p>
-<p id='n1199' class='pln'><a href='#n1199'>1199</a></p>
-<p id='n1200' class='pln'><a href='#n1200'>1200</a></p>
-<p id='n1201' class='pln'><a href='#n1201'>1201</a></p>
-<p id='n1202' class='pln'><a href='#n1202'>1202</a></p>
-<p id='n1203' class='stm mis'><a href='#n1203'>1203</a></p>
-<p id='n1204' class='stm mis'><a href='#n1204'>1204</a></p>
-<p id='n1205' class='stm mis'><a href='#n1205'>1205</a></p>
-<p id='n1206' class='pln'><a href='#n1206'>1206</a></p>
-<p id='n1207' class='pln'><a href='#n1207'>1207</a></p>
-<p id='n1208' class='stm run hide_run'><a href='#n1208'>1208</a></p>
-<p id='n1209' class='stm run hide_run'><a href='#n1209'>1209</a></p>
-<p id='n1210' class='pln'><a href='#n1210'>1210</a></p>
-<p id='n1211' class='pln'><a href='#n1211'>1211</a></p>
-<p id='n1212' class='pln'><a href='#n1212'>1212</a></p>
-<p id='n1213' class='pln'><a href='#n1213'>1213</a></p>
-<p id='n1214' class='pln'><a href='#n1214'>1214</a></p>
-<p id='n1215' class='pln'><a href='#n1215'>1215</a></p>
-<p id='n1216' class='pln'><a href='#n1216'>1216</a></p>
-<p id='n1217' class='pln'><a href='#n1217'>1217</a></p>
-<p id='n1218' class='pln'><a href='#n1218'>1218</a></p>
-<p id='n1219' class='pln'><a href='#n1219'>1219</a></p>
-<p id='n1220' class='pln'><a href='#n1220'>1220</a></p>
-<p id='n1221' class='pln'><a href='#n1221'>1221</a></p>
-<p id='n1222' class='pln'><a href='#n1222'>1222</a></p>
-<p id='n1223' class='pln'><a href='#n1223'>1223</a></p>
-<p id='n1224' class='pln'><a href='#n1224'>1224</a></p>
-<p id='n1225' class='pln'><a href='#n1225'>1225</a></p>
-<p id='n1226' class='pln'><a href='#n1226'>1226</a></p>
-<p id='n1227' class='pln'><a href='#n1227'>1227</a></p>
-<p id='n1228' class='pln'><a href='#n1228'>1228</a></p>
-<p id='n1229' class='pln'><a href='#n1229'>1229</a></p>
-<p id='n1230' class='pln'><a href='#n1230'>1230</a></p>
-<p id='n1231' class='pln'><a href='#n1231'>1231</a></p>
-<p id='n1232' class='pln'><a href='#n1232'>1232</a></p>
-<p id='n1233' class='pln'><a href='#n1233'>1233</a></p>
-<p id='n1234' class='pln'><a href='#n1234'>1234</a></p>
-<p id='n1235' class='pln'><a href='#n1235'>1235</a></p>
-<p id='n1236' class='pln'><a href='#n1236'>1236</a></p>
-<p id='n1237' class='pln'><a href='#n1237'>1237</a></p>
-<p id='n1238' class='pln'><a href='#n1238'>1238</a></p>
-<p id='n1239' class='pln'><a href='#n1239'>1239</a></p>
-<p id='n1240' class='pln'><a href='#n1240'>1240</a></p>
-<p id='n1241' class='pln'><a href='#n1241'>1241</a></p>
-<p id='n1242' class='pln'><a href='#n1242'>1242</a></p>
-<p id='n1243' class='pln'><a href='#n1243'>1243</a></p>
-<p id='n1244' class='pln'><a href='#n1244'>1244</a></p>
-<p id='n1245' class='pln'><a href='#n1245'>1245</a></p>
-<p id='n1246' class='pln'><a href='#n1246'>1246</a></p>
-<p id='n1247' class='pln'><a href='#n1247'>1247</a></p>
-<p id='n1248' class='pln'><a href='#n1248'>1248</a></p>
-<p id='n1249' class='pln'><a href='#n1249'>1249</a></p>
-<p id='n1250' class='pln'><a href='#n1250'>1250</a></p>
-<p id='n1251' class='pln'><a href='#n1251'>1251</a></p>
-<p id='n1252' class='pln'><a href='#n1252'>1252</a></p>
-<p id='n1253' class='pln'><a href='#n1253'>1253</a></p>
-<p id='n1254' class='pln'><a href='#n1254'>1254</a></p>
-<p id='n1255' class='stm run hide_run'><a href='#n1255'>1255</a></p>
-<p id='n1256' class='pln'><a href='#n1256'>1256</a></p>
-<p id='n1257' class='stm mis'><a href='#n1257'>1257</a></p>
-<p id='n1258' class='stm mis'><a href='#n1258'>1258</a></p>
-<p id='n1259' class='pln'><a href='#n1259'>1259</a></p>
-<p id='n1260' class='stm run hide_run'><a href='#n1260'>1260</a></p>
-<p id='n1261' class='pln'><a href='#n1261'>1261</a></p>
-<p id='n1262' class='stm mis'><a href='#n1262'>1262</a></p>
-<p id='n1263' class='stm mis'><a href='#n1263'>1263</a></p>
-<p id='n1264' class='stm mis'><a href='#n1264'>1264</a></p>
-<p id='n1265' class='pln'><a href='#n1265'>1265</a></p>
-<p id='n1266' class='stm run hide_run'><a href='#n1266'>1266</a></p>
-<p id='n1267' class='pln'><a href='#n1267'>1267</a></p>
-<p id='n1268' class='stm mis'><a href='#n1268'>1268</a></p>
-<p id='n1269' class='stm mis'><a href='#n1269'>1269</a></p>
-<p id='n1270' class='stm mis'><a href='#n1270'>1270</a></p>
-<p id='n1271' class='pln'><a href='#n1271'>1271</a></p>
-<p id='n1272' class='stm run hide_run'><a href='#n1272'>1272</a></p>
-<p id='n1273' class='pln'><a href='#n1273'>1273</a></p>
-<p id='n1274' class='stm mis'><a href='#n1274'>1274</a></p>
-<p id='n1275' class='stm mis'><a href='#n1275'>1275</a></p>
-<p id='n1276' class='stm mis'><a href='#n1276'>1276</a></p>
-<p id='n1277' class='pln'><a href='#n1277'>1277</a></p>
-<p id='n1278' class='stm run hide_run'><a href='#n1278'>1278</a></p>
-<p id='n1279' class='pln'><a href='#n1279'>1279</a></p>
-<p id='n1280' class='stm mis'><a href='#n1280'>1280</a></p>
-<p id='n1281' class='stm mis'><a href='#n1281'>1281</a></p>
-<p id='n1282' class='stm mis'><a href='#n1282'>1282</a></p>
-<p id='n1283' class='pln'><a href='#n1283'>1283</a></p>
-<p id='n1284' class='stm run hide_run'><a href='#n1284'>1284</a></p>
-<p id='n1285' class='stm mis'><a href='#n1285'>1285</a></p>
-<p id='n1286' class='pln'><a href='#n1286'>1286</a></p>
-<p id='n1287' class='pln'><a href='#n1287'>1287</a></p>
-<p id='n1288' class='pln'><a href='#n1288'>1288</a></p>
-<p id='n1289' class='pln'><a href='#n1289'>1289</a></p>
-<p id='n1290' class='pln'><a href='#n1290'>1290</a></p>
-<p id='n1291' class='pln'><a href='#n1291'>1291</a></p>
-<p id='n1292' class='pln'><a href='#n1292'>1292</a></p>
-<p id='n1293' class='pln'><a href='#n1293'>1293</a></p>
-<p id='n1294' class='pln'><a href='#n1294'>1294</a></p>
-<p id='n1295' class='pln'><a href='#n1295'>1295</a></p>
-<p id='n1296' class='stm mis'><a href='#n1296'>1296</a></p>
-<p id='n1297' class='pln'><a href='#n1297'>1297</a></p>
-<p id='n1298' class='stm mis'><a href='#n1298'>1298</a></p>
-<p id='n1299' class='stm mis'><a href='#n1299'>1299</a></p>
-<p id='n1300' class='stm mis'><a href='#n1300'>1300</a></p>
-<p id='n1301' class='pln'><a href='#n1301'>1301</a></p>
-<p id='n1302' class='stm mis'><a href='#n1302'>1302</a></p>
-<p id='n1303' class='stm mis'><a href='#n1303'>1303</a></p>
-<p id='n1304' class='stm mis'><a href='#n1304'>1304</a></p>
-<p id='n1305' class='pln'><a href='#n1305'>1305</a></p>
-<p id='n1306' class='stm mis'><a href='#n1306'>1306</a></p>
-<p id='n1307' class='stm mis'><a href='#n1307'>1307</a></p>
-<p id='n1308' class='stm mis'><a href='#n1308'>1308</a></p>
-<p id='n1309' class='pln'><a href='#n1309'>1309</a></p>
-<p id='n1310' class='stm mis'><a href='#n1310'>1310</a></p>
-<p id='n1311' class='stm mis'><a href='#n1311'>1311</a></p>
-<p id='n1312' class='stm mis'><a href='#n1312'>1312</a></p>
-<p id='n1313' class='pln'><a href='#n1313'>1313</a></p>
-<p id='n1314' class='stm mis'><a href='#n1314'>1314</a></p>
-<p id='n1315' class='stm mis'><a href='#n1315'>1315</a></p>
-<p id='n1316' class='stm mis'><a href='#n1316'>1316</a></p>
-<p id='n1317' class='pln'><a href='#n1317'>1317</a></p>
-<p id='n1318' class='stm mis'><a href='#n1318'>1318</a></p>
-<p id='n1319' class='stm mis'><a href='#n1319'>1319</a></p>
-<p id='n1320' class='stm mis'><a href='#n1320'>1320</a></p>
-<p id='n1321' class='pln'><a href='#n1321'>1321</a></p>
-<p id='n1322' class='stm mis'><a href='#n1322'>1322</a></p>
-<p id='n1323' class='stm mis'><a href='#n1323'>1323</a></p>
-<p id='n1324' class='stm mis'><a href='#n1324'>1324</a></p>
-<p id='n1325' class='pln'><a href='#n1325'>1325</a></p>
-<p id='n1326' class='stm run hide_run'><a href='#n1326'>1326</a></p>
-<p id='n1327' class='pln'><a href='#n1327'>1327</a></p>
-<p id='n1328' class='pln'><a href='#n1328'>1328</a></p>
-<p id='n1329' class='stm mis'><a href='#n1329'>1329</a></p>
-<p id='n1330' class='pln'><a href='#n1330'>1330</a></p>
-<p id='n1331' class='pln'><a href='#n1331'>1331</a></p>
-<p id='n1332' class='pln'><a href='#n1332'>1332</a></p>
-<p id='n1333' class='pln'><a href='#n1333'>1333</a></p>
-<p id='n1334' class='pln'><a href='#n1334'>1334</a></p>
-<p id='n1335' class='pln'><a href='#n1335'>1335</a></p>
-<p id='n1336' class='pln'><a href='#n1336'>1336</a></p>
-<p id='n1337' class='pln'><a href='#n1337'>1337</a></p>
-<p id='n1338' class='pln'><a href='#n1338'>1338</a></p>
-<p id='n1339' class='pln'><a href='#n1339'>1339</a></p>
-<p id='n1340' class='pln'><a href='#n1340'>1340</a></p>
-<p id='n1341' class='pln'><a href='#n1341'>1341</a></p>
-<p id='n1342' class='pln'><a href='#n1342'>1342</a></p>
-<p id='n1343' class='pln'><a href='#n1343'>1343</a></p>
-<p id='n1344' class='pln'><a href='#n1344'>1344</a></p>
-<p id='n1345' class='pln'><a href='#n1345'>1345</a></p>
-<p id='n1346' class='pln'><a href='#n1346'>1346</a></p>
-<p id='n1347' class='pln'><a href='#n1347'>1347</a></p>
-<p id='n1348' class='pln'><a href='#n1348'>1348</a></p>
-<p id='n1349' class='pln'><a href='#n1349'>1349</a></p>
-<p id='n1350' class='pln'><a href='#n1350'>1350</a></p>
-<p id='n1351' class='pln'><a href='#n1351'>1351</a></p>
-<p id='n1352' class='pln'><a href='#n1352'>1352</a></p>
-<p id='n1353' class='stm mis'><a href='#n1353'>1353</a></p>
-<p id='n1354' class='pln'><a href='#n1354'>1354</a></p>
-<p id='n1355' class='pln'><a href='#n1355'>1355</a></p>
-<p id='n1356' class='stm mis'><a href='#n1356'>1356</a></p>
-<p id='n1357' class='stm mis'><a href='#n1357'>1357</a></p>
-<p id='n1358' class='pln'><a href='#n1358'>1358</a></p>
-<p id='n1359' class='pln'><a href='#n1359'>1359</a></p>
-<p id='n1360' class='stm run hide_run'><a href='#n1360'>1360</a></p>
-<p id='n1361' class='pln'><a href='#n1361'>1361</a></p>
-<p id='n1362' class='stm run hide_run'><a href='#n1362'>1362</a></p>
-<p id='n1363' class='pln'><a href='#n1363'>1363</a></p>
-<p id='n1364' class='stm mis'><a href='#n1364'>1364</a></p>
-<p id='n1365' class='pln'><a href='#n1365'>1365</a></p>
-<p id='n1366' class='pln'><a href='#n1366'>1366</a></p>
-<p id='n1367' class='pln'><a href='#n1367'>1367</a></p>
-<p id='n1368' class='pln'><a href='#n1368'>1368</a></p>
-<p id='n1369' class='pln'><a href='#n1369'>1369</a></p>
-<p id='n1370' class='pln'><a href='#n1370'>1370</a></p>
-<p id='n1371' class='pln'><a href='#n1371'>1371</a></p>
-<p id='n1372' class='pln'><a href='#n1372'>1372</a></p>
-<p id='n1373' class='pln'><a href='#n1373'>1373</a></p>
-<p id='n1374' class='pln'><a href='#n1374'>1374</a></p>
-<p id='n1375' class='pln'><a href='#n1375'>1375</a></p>
-<p id='n1376' class='pln'><a href='#n1376'>1376</a></p>
-<p id='n1377' class='pln'><a href='#n1377'>1377</a></p>
-<p id='n1378' class='pln'><a href='#n1378'>1378</a></p>
-<p id='n1379' class='stm mis'><a href='#n1379'>1379</a></p>
-<p id='n1380' class='stm mis'><a href='#n1380'>1380</a></p>
-<p id='n1381' class='stm mis'><a href='#n1381'>1381</a></p>
-<p id='n1382' class='stm mis'><a href='#n1382'>1382</a></p>
-<p id='n1383' class='stm mis'><a href='#n1383'>1383</a></p>
-<p id='n1384' class='stm mis'><a href='#n1384'>1384</a></p>
-<p id='n1385' class='stm mis'><a href='#n1385'>1385</a></p>
-<p id='n1386' class='stm mis'><a href='#n1386'>1386</a></p>
-<p id='n1387' class='stm mis'><a href='#n1387'>1387</a></p>
-<p id='n1388' class='stm mis'><a href='#n1388'>1388</a></p>
-<p id='n1389' class='stm mis'><a href='#n1389'>1389</a></p>
-<p id='n1390' class='stm mis'><a href='#n1390'>1390</a></p>
-<p id='n1391' class='pln'><a href='#n1391'>1391</a></p>
-<p id='n1392' class='stm run hide_run'><a href='#n1392'>1392</a></p>
-<p id='n1393' class='stm mis'><a href='#n1393'>1393</a></p>
-<p id='n1394' class='pln'><a href='#n1394'>1394</a></p>
-<p id='n1395' class='pln'><a href='#n1395'>1395</a></p>
-<p id='n1396' class='pln'><a href='#n1396'>1396</a></p>
-<p id='n1397' class='pln'><a href='#n1397'>1397</a></p>
-<p id='n1398' class='pln'><a href='#n1398'>1398</a></p>
-<p id='n1399' class='pln'><a href='#n1399'>1399</a></p>
-<p id='n1400' class='pln'><a href='#n1400'>1400</a></p>
-<p id='n1401' class='pln'><a href='#n1401'>1401</a></p>
-<p id='n1402' class='pln'><a href='#n1402'>1402</a></p>
-<p id='n1403' class='pln'><a href='#n1403'>1403</a></p>
-<p id='n1404' class='pln'><a href='#n1404'>1404</a></p>
-<p id='n1405' class='pln'><a href='#n1405'>1405</a></p>
-<p id='n1406' class='pln'><a href='#n1406'>1406</a></p>
-<p id='n1407' class='pln'><a href='#n1407'>1407</a></p>
-<p id='n1408' class='pln'><a href='#n1408'>1408</a></p>
-<p id='n1409' class='pln'><a href='#n1409'>1409</a></p>
-<p id='n1410' class='pln'><a href='#n1410'>1410</a></p>
-<p id='n1411' class='pln'><a href='#n1411'>1411</a></p>
-<p id='n1412' class='pln'><a href='#n1412'>1412</a></p>
-<p id='n1413' class='pln'><a href='#n1413'>1413</a></p>
-<p id='n1414' class='pln'><a href='#n1414'>1414</a></p>
-<p id='n1415' class='pln'><a href='#n1415'>1415</a></p>
-<p id='n1416' class='pln'><a href='#n1416'>1416</a></p>
-<p id='n1417' class='pln'><a href='#n1417'>1417</a></p>
-<p id='n1418' class='pln'><a href='#n1418'>1418</a></p>
-<p id='n1419' class='stm mis'><a href='#n1419'>1419</a></p>
-<p id='n1420' class='stm mis'><a href='#n1420'>1420</a></p>
-<p id='n1421' class='stm mis'><a href='#n1421'>1421</a></p>
-<p id='n1422' class='stm mis'><a href='#n1422'>1422</a></p>
-<p id='n1423' class='stm mis'><a href='#n1423'>1423</a></p>
-<p id='n1424' class='stm mis'><a href='#n1424'>1424</a></p>
-<p id='n1425' class='pln'><a href='#n1425'>1425</a></p>
-<p id='n1426' class='stm run hide_run'><a href='#n1426'>1426</a></p>
-<p id='n1427' class='pln'><a href='#n1427'>1427</a></p>
-<p id='n1428' class='stm mis'><a href='#n1428'>1428</a></p>
-<p id='n1429' class='pln'><a href='#n1429'>1429</a></p>
-<p id='n1430' class='pln'><a href='#n1430'>1430</a></p>
-<p id='n1431' class='pln'><a href='#n1431'>1431</a></p>
-<p id='n1432' class='pln'><a href='#n1432'>1432</a></p>
-<p id='n1433' class='pln'><a href='#n1433'>1433</a></p>
-<p id='n1434' class='pln'><a href='#n1434'>1434</a></p>
-<p id='n1435' class='pln'><a href='#n1435'>1435</a></p>
-<p id='n1436' class='pln'><a href='#n1436'>1436</a></p>
-<p id='n1437' class='pln'><a href='#n1437'>1437</a></p>
-<p id='n1438' class='pln'><a href='#n1438'>1438</a></p>
-<p id='n1439' class='pln'><a href='#n1439'>1439</a></p>
-<p id='n1440' class='pln'><a href='#n1440'>1440</a></p>
-<p id='n1441' class='pln'><a href='#n1441'>1441</a></p>
-<p id='n1442' class='pln'><a href='#n1442'>1442</a></p>
-<p id='n1443' class='pln'><a href='#n1443'>1443</a></p>
-<p id='n1444' class='pln'><a href='#n1444'>1444</a></p>
-<p id='n1445' class='pln'><a href='#n1445'>1445</a></p>
-<p id='n1446' class='pln'><a href='#n1446'>1446</a></p>
-<p id='n1447' class='pln'><a href='#n1447'>1447</a></p>
-<p id='n1448' class='pln'><a href='#n1448'>1448</a></p>
-<p id='n1449' class='pln'><a href='#n1449'>1449</a></p>
-<p id='n1450' class='pln'><a href='#n1450'>1450</a></p>
-<p id='n1451' class='pln'><a href='#n1451'>1451</a></p>
-<p id='n1452' class='pln'><a href='#n1452'>1452</a></p>
-<p id='n1453' class='pln'><a href='#n1453'>1453</a></p>
-<p id='n1454' class='pln'><a href='#n1454'>1454</a></p>
-<p id='n1455' class='pln'><a href='#n1455'>1455</a></p>
-<p id='n1456' class='pln'><a href='#n1456'>1456</a></p>
-<p id='n1457' class='pln'><a href='#n1457'>1457</a></p>
-<p id='n1458' class='pln'><a href='#n1458'>1458</a></p>
-<p id='n1459' class='pln'><a href='#n1459'>1459</a></p>
-<p id='n1460' class='pln'><a href='#n1460'>1460</a></p>
-<p id='n1461' class='pln'><a href='#n1461'>1461</a></p>
-<p id='n1462' class='pln'><a href='#n1462'>1462</a></p>
-<p id='n1463' class='pln'><a href='#n1463'>1463</a></p>
-<p id='n1464' class='pln'><a href='#n1464'>1464</a></p>
-<p id='n1465' class='pln'><a href='#n1465'>1465</a></p>
-<p id='n1466' class='pln'><a href='#n1466'>1466</a></p>
-<p id='n1467' class='pln'><a href='#n1467'>1467</a></p>
-<p id='n1468' class='pln'><a href='#n1468'>1468</a></p>
-<p id='n1469' class='pln'><a href='#n1469'>1469</a></p>
-<p id='n1470' class='pln'><a href='#n1470'>1470</a></p>
-<p id='n1471' class='pln'><a href='#n1471'>1471</a></p>
-<p id='n1472' class='pln'><a href='#n1472'>1472</a></p>
-<p id='n1473' class='stm mis'><a href='#n1473'>1473</a></p>
-<p id='n1474' class='stm mis'><a href='#n1474'>1474</a></p>
-<p id='n1475' class='stm mis'><a href='#n1475'>1475</a></p>
-<p id='n1476' class='stm mis'><a href='#n1476'>1476</a></p>
-<p id='n1477' class='stm mis'><a href='#n1477'>1477</a></p>
-<p id='n1478' class='stm mis'><a href='#n1478'>1478</a></p>
-<p id='n1479' class='pln'><a href='#n1479'>1479</a></p>
-<p id='n1480' class='stm run hide_run'><a href='#n1480'>1480</a></p>
-<p id='n1481' class='stm mis'><a href='#n1481'>1481</a></p>
-<p id='n1482' class='pln'><a href='#n1482'>1482</a></p>
-<p id='n1483' class='pln'><a href='#n1483'>1483</a></p>
-<p id='n1484' class='pln'><a href='#n1484'>1484</a></p>
-<p id='n1485' class='pln'><a href='#n1485'>1485</a></p>
-<p id='n1486' class='pln'><a href='#n1486'>1486</a></p>
-<p id='n1487' class='pln'><a href='#n1487'>1487</a></p>
-<p id='n1488' class='pln'><a href='#n1488'>1488</a></p>
-<p id='n1489' class='pln'><a href='#n1489'>1489</a></p>
-<p id='n1490' class='pln'><a href='#n1490'>1490</a></p>
-<p id='n1491' class='pln'><a href='#n1491'>1491</a></p>
-<p id='n1492' class='pln'><a href='#n1492'>1492</a></p>
-<p id='n1493' class='pln'><a href='#n1493'>1493</a></p>
-<p id='n1494' class='pln'><a href='#n1494'>1494</a></p>
-<p id='n1495' class='pln'><a href='#n1495'>1495</a></p>
-<p id='n1496' class='pln'><a href='#n1496'>1496</a></p>
-<p id='n1497' class='pln'><a href='#n1497'>1497</a></p>
-<p id='n1498' class='pln'><a href='#n1498'>1498</a></p>
-<p id='n1499' class='pln'><a href='#n1499'>1499</a></p>
-<p id='n1500' class='pln'><a href='#n1500'>1500</a></p>
-<p id='n1501' class='pln'><a href='#n1501'>1501</a></p>
-<p id='n1502' class='pln'><a href='#n1502'>1502</a></p>
-<p id='n1503' class='pln'><a href='#n1503'>1503</a></p>
-<p id='n1504' class='pln'><a href='#n1504'>1504</a></p>
-<p id='n1505' class='pln'><a href='#n1505'>1505</a></p>
-<p id='n1506' class='pln'><a href='#n1506'>1506</a></p>
-<p id='n1507' class='pln'><a href='#n1507'>1507</a></p>
-<p id='n1508' class='pln'><a href='#n1508'>1508</a></p>
-<p id='n1509' class='stm mis'><a href='#n1509'>1509</a></p>
-<p id='n1510' class='pln'><a href='#n1510'>1510</a></p>
-<p id='n1511' class='stm mis'><a href='#n1511'>1511</a></p>
-<p id='n1512' class='stm mis'><a href='#n1512'>1512</a></p>
-<p id='n1513' class='stm mis'><a href='#n1513'>1513</a></p>
-<p id='n1514' class='pln'><a href='#n1514'>1514</a></p>
-<p id='n1515' class='stm mis'><a href='#n1515'>1515</a></p>
-<p id='n1516' class='stm mis'><a href='#n1516'>1516</a></p>
-<p id='n1517' class='stm mis'><a href='#n1517'>1517</a></p>
-<p id='n1518' class='pln'><a href='#n1518'>1518</a></p>
-<p id='n1519' class='stm mis'><a href='#n1519'>1519</a></p>
-<p id='n1520' class='stm mis'><a href='#n1520'>1520</a></p>
-<p id='n1521' class='pln'><a href='#n1521'>1521</a></p>
-<p id='n1522' class='stm run hide_run'><a href='#n1522'>1522</a></p>
-<p id='n1523' class='stm mis'><a href='#n1523'>1523</a></p>
-<p id='n1524' class='pln'><a href='#n1524'>1524</a></p>
-<p id='n1525' class='pln'><a href='#n1525'>1525</a></p>
-<p id='n1526' class='pln'><a href='#n1526'>1526</a></p>
-<p id='n1527' class='pln'><a href='#n1527'>1527</a></p>
-<p id='n1528' class='pln'><a href='#n1528'>1528</a></p>
-<p id='n1529' class='stm mis'><a href='#n1529'>1529</a></p>
-<p id='n1530' class='stm mis'><a href='#n1530'>1530</a></p>
-<p id='n1531' class='stm mis'><a href='#n1531'>1531</a></p>
-<p id='n1532' class='stm mis'><a href='#n1532'>1532</a></p>
-<p id='n1533' class='pln'><a href='#n1533'>1533</a></p>
-<p id='n1534' class='stm run hide_run'><a href='#n1534'>1534</a></p>
-<p id='n1535' class='pln'><a href='#n1535'>1535</a></p>
-<p id='n1536' class='pln'><a href='#n1536'>1536</a></p>
-<p id='n1537' class='stm mis'><a href='#n1537'>1537</a></p>
-<p id='n1538' class='pln'><a href='#n1538'>1538</a></p>
-<p id='n1539' class='pln'><a href='#n1539'>1539</a></p>
-<p id='n1540' class='pln'><a href='#n1540'>1540</a></p>
-<p id='n1541' class='pln'><a href='#n1541'>1541</a></p>
-<p id='n1542' class='pln'><a href='#n1542'>1542</a></p>
-<p id='n1543' class='pln'><a href='#n1543'>1543</a></p>
-<p id='n1544' class='pln'><a href='#n1544'>1544</a></p>
-<p id='n1545' class='pln'><a href='#n1545'>1545</a></p>
-<p id='n1546' class='pln'><a href='#n1546'>1546</a></p>
-<p id='n1547' class='pln'><a href='#n1547'>1547</a></p>
-<p id='n1548' class='pln'><a href='#n1548'>1548</a></p>
-<p id='n1549' class='pln'><a href='#n1549'>1549</a></p>
-<p id='n1550' class='pln'><a href='#n1550'>1550</a></p>
-<p id='n1551' class='stm mis'><a href='#n1551'>1551</a></p>
-<p id='n1552' class='stm mis'><a href='#n1552'>1552</a></p>
-<p id='n1553' class='stm mis'><a href='#n1553'>1553</a></p>
-<p id='n1554' class='stm mis'><a href='#n1554'>1554</a></p>
-<p id='n1555' class='stm mis'><a href='#n1555'>1555</a></p>
-<p id='n1556' class='stm mis'><a href='#n1556'>1556</a></p>
-<p id='n1557' class='stm mis'><a href='#n1557'>1557</a></p>
-<p id='n1558' class='pln'><a href='#n1558'>1558</a></p>
-<p id='n1559' class='stm run hide_run'><a href='#n1559'>1559</a></p>
-<p id='n1560' class='stm mis'><a href='#n1560'>1560</a></p>
-<p id='n1561' class='pln'><a href='#n1561'>1561</a></p>
-<p id='n1562' class='pln'><a href='#n1562'>1562</a></p>
-<p id='n1563' class='pln'><a href='#n1563'>1563</a></p>
-<p id='n1564' class='pln'><a href='#n1564'>1564</a></p>
-<p id='n1565' class='pln'><a href='#n1565'>1565</a></p>
-<p id='n1566' class='pln'><a href='#n1566'>1566</a></p>
-<p id='n1567' class='pln'><a href='#n1567'>1567</a></p>
-<p id='n1568' class='pln'><a href='#n1568'>1568</a></p>
-<p id='n1569' class='pln'><a href='#n1569'>1569</a></p>
-<p id='n1570' class='pln'><a href='#n1570'>1570</a></p>
-<p id='n1571' class='pln'><a href='#n1571'>1571</a></p>
-<p id='n1572' class='pln'><a href='#n1572'>1572</a></p>
-<p id='n1573' class='pln'><a href='#n1573'>1573</a></p>
-<p id='n1574' class='pln'><a href='#n1574'>1574</a></p>
-<p id='n1575' class='pln'><a href='#n1575'>1575</a></p>
-<p id='n1576' class='pln'><a href='#n1576'>1576</a></p>
-<p id='n1577' class='pln'><a href='#n1577'>1577</a></p>
-<p id='n1578' class='pln'><a href='#n1578'>1578</a></p>
-<p id='n1579' class='stm mis'><a href='#n1579'>1579</a></p>
-<p id='n1580' class='stm mis'><a href='#n1580'>1580</a></p>
-<p id='n1581' class='stm mis'><a href='#n1581'>1581</a></p>
-<p id='n1582' class='stm mis'><a href='#n1582'>1582</a></p>
-<p id='n1583' class='stm mis'><a href='#n1583'>1583</a></p>
-<p id='n1584' class='stm mis'><a href='#n1584'>1584</a></p>
-<p id='n1585' class='stm mis'><a href='#n1585'>1585</a></p>
-<p id='n1586' class='stm mis'><a href='#n1586'>1586</a></p>
-<p id='n1587' class='stm mis'><a href='#n1587'>1587</a></p>
-<p id='n1588' class='stm mis'><a href='#n1588'>1588</a></p>
-<p id='n1589' class='stm mis'><a href='#n1589'>1589</a></p>
-<p id='n1590' class='stm mis'><a href='#n1590'>1590</a></p>
-<p id='n1591' class='stm mis'><a href='#n1591'>1591</a></p>
-<p id='n1592' class='stm mis'><a href='#n1592'>1592</a></p>
-<p id='n1593' class='stm mis'><a href='#n1593'>1593</a></p>
-<p id='n1594' class='stm mis'><a href='#n1594'>1594</a></p>
-<p id='n1595' class='stm mis'><a href='#n1595'>1595</a></p>
-<p id='n1596' class='stm mis'><a href='#n1596'>1596</a></p>
-<p id='n1597' class='pln'><a href='#n1597'>1597</a></p>
-<p id='n1598' class='stm run hide_run'><a href='#n1598'>1598</a></p>
-<p id='n1599' class='stm mis'><a href='#n1599'>1599</a></p>
-<p id='n1600' class='pln'><a href='#n1600'>1600</a></p>
-<p id='n1601' class='pln'><a href='#n1601'>1601</a></p>
-<p id='n1602' class='pln'><a href='#n1602'>1602</a></p>
-<p id='n1603' class='pln'><a href='#n1603'>1603</a></p>
-<p id='n1604' class='pln'><a href='#n1604'>1604</a></p>
-<p id='n1605' class='pln'><a href='#n1605'>1605</a></p>
-<p id='n1606' class='stm mis'><a href='#n1606'>1606</a></p>
-<p id='n1607' class='stm mis'><a href='#n1607'>1607</a></p>
-<p id='n1608' class='stm mis'><a href='#n1608'>1608</a></p>
-<p id='n1609' class='stm mis'><a href='#n1609'>1609</a></p>
-<p id='n1610' class='stm mis'><a href='#n1610'>1610</a></p>
-<p id='n1611' class='stm mis'><a href='#n1611'>1611</a></p>
-<p id='n1612' class='stm mis'><a href='#n1612'>1612</a></p>
-<p id='n1613' class='stm mis'><a href='#n1613'>1613</a></p>
-<p id='n1614' class='pln'><a href='#n1614'>1614</a></p>
-<p id='n1615' class='stm run hide_run'><a href='#n1615'>1615</a></p>
-<p id='n1616' class='stm mis'><a href='#n1616'>1616</a></p>
-<p id='n1617' class='pln'><a href='#n1617'>1617</a></p>
-<p id='n1618' class='pln'><a href='#n1618'>1618</a></p>
-<p id='n1619' class='pln'><a href='#n1619'>1619</a></p>
-<p id='n1620' class='pln'><a href='#n1620'>1620</a></p>
-<p id='n1621' class='pln'><a href='#n1621'>1621</a></p>
-<p id='n1622' class='pln'><a href='#n1622'>1622</a></p>
-<p id='n1623' class='pln'><a href='#n1623'>1623</a></p>
-<p id='n1624' class='pln'><a href='#n1624'>1624</a></p>
-<p id='n1625' class='pln'><a href='#n1625'>1625</a></p>
-<p id='n1626' class='pln'><a href='#n1626'>1626</a></p>
-<p id='n1627' class='pln'><a href='#n1627'>1627</a></p>
-<p id='n1628' class='pln'><a href='#n1628'>1628</a></p>
-<p id='n1629' class='pln'><a href='#n1629'>1629</a></p>
-<p id='n1630' class='pln'><a href='#n1630'>1630</a></p>
-<p id='n1631' class='pln'><a href='#n1631'>1631</a></p>
-<p id='n1632' class='pln'><a href='#n1632'>1632</a></p>
-<p id='n1633' class='pln'><a href='#n1633'>1633</a></p>
-<p id='n1634' class='pln'><a href='#n1634'>1634</a></p>
-<p id='n1635' class='pln'><a href='#n1635'>1635</a></p>
-<p id='n1636' class='stm mis'><a href='#n1636'>1636</a></p>
-<p id='n1637' class='stm mis'><a href='#n1637'>1637</a></p>
-<p id='n1638' class='stm mis'><a href='#n1638'>1638</a></p>
-<p id='n1639' class='pln'><a href='#n1639'>1639</a></p>
-<p id='n1640' class='stm run hide_run'><a href='#n1640'>1640</a></p>
-<p id='n1641' class='stm mis'><a href='#n1641'>1641</a></p>
-<p id='n1642' class='pln'><a href='#n1642'>1642</a></p>
-<p id='n1643' class='pln'><a href='#n1643'>1643</a></p>
-<p id='n1644' class='pln'><a href='#n1644'>1644</a></p>
-<p id='n1645' class='pln'><a href='#n1645'>1645</a></p>
-<p id='n1646' class='pln'><a href='#n1646'>1646</a></p>
-<p id='n1647' class='pln'><a href='#n1647'>1647</a></p>
-<p id='n1648' class='pln'><a href='#n1648'>1648</a></p>
-<p id='n1649' class='pln'><a href='#n1649'>1649</a></p>
-<p id='n1650' class='pln'><a href='#n1650'>1650</a></p>
-<p id='n1651' class='pln'><a href='#n1651'>1651</a></p>
-<p id='n1652' class='pln'><a href='#n1652'>1652</a></p>
-<p id='n1653' class='pln'><a href='#n1653'>1653</a></p>
-<p id='n1654' class='pln'><a href='#n1654'>1654</a></p>
-<p id='n1655' class='pln'><a href='#n1655'>1655</a></p>
-<p id='n1656' class='stm mis'><a href='#n1656'>1656</a></p>
-<p id='n1657' class='stm mis'><a href='#n1657'>1657</a></p>
-<p id='n1658' class='stm mis'><a href='#n1658'>1658</a></p>
-<p id='n1659' class='pln'><a href='#n1659'>1659</a></p>
-<p id='n1660' class='stm run hide_run'><a href='#n1660'>1660</a></p>
-<p id='n1661' class='stm mis'><a href='#n1661'>1661</a></p>
-<p id='n1662' class='pln'><a href='#n1662'>1662</a></p>
-<p id='n1663' class='pln'><a href='#n1663'>1663</a></p>
-<p id='n1664' class='pln'><a href='#n1664'>1664</a></p>
-<p id='n1665' class='pln'><a href='#n1665'>1665</a></p>
-<p id='n1666' class='pln'><a href='#n1666'>1666</a></p>
-<p id='n1667' class='pln'><a href='#n1667'>1667</a></p>
-<p id='n1668' class='pln'><a href='#n1668'>1668</a></p>
-<p id='n1669' class='pln'><a href='#n1669'>1669</a></p>
-<p id='n1670' class='pln'><a href='#n1670'>1670</a></p>
-<p id='n1671' class='pln'><a href='#n1671'>1671</a></p>
-<p id='n1672' class='pln'><a href='#n1672'>1672</a></p>
-<p id='n1673' class='pln'><a href='#n1673'>1673</a></p>
-<p id='n1674' class='stm mis'><a href='#n1674'>1674</a></p>
-<p id='n1675' class='stm mis'><a href='#n1675'>1675</a></p>
-<p id='n1676' class='stm mis'><a href='#n1676'>1676</a></p>
-<p id='n1677' class='pln'><a href='#n1677'>1677</a></p>
-<p id='n1678' class='stm run hide_run'><a href='#n1678'>1678</a></p>
-<p id='n1679' class='pln'><a href='#n1679'>1679</a></p>
-<p id='n1680' class='stm run hide_run'><a href='#n1680'>1680</a></p>
-<p id='n1681' class='pln'><a href='#n1681'>1681</a></p>
-<p id='n1682' class='pln'><a href='#n1682'>1682</a></p>
-<p id='n1683' class='pln'><a href='#n1683'>1683</a></p>
-<p id='n1684' class='pln'><a href='#n1684'>1684</a></p>
-<p id='n1685' class='pln'><a href='#n1685'>1685</a></p>
-<p id='n1686' class='pln'><a href='#n1686'>1686</a></p>
-<p id='n1687' class='pln'><a href='#n1687'>1687</a></p>
-<p id='n1688' class='pln'><a href='#n1688'>1688</a></p>
-<p id='n1689' class='pln'><a href='#n1689'>1689</a></p>
-<p id='n1690' class='pln'><a href='#n1690'>1690</a></p>
-<p id='n1691' class='pln'><a href='#n1691'>1691</a></p>
-<p id='n1692' class='pln'><a href='#n1692'>1692</a></p>
-<p id='n1693' class='pln'><a href='#n1693'>1693</a></p>
-<p id='n1694' class='pln'><a href='#n1694'>1694</a></p>
-<p id='n1695' class='pln'><a href='#n1695'>1695</a></p>
-<p id='n1696' class='pln'><a href='#n1696'>1696</a></p>
-<p id='n1697' class='pln'><a href='#n1697'>1697</a></p>
-<p id='n1698' class='pln'><a href='#n1698'>1698</a></p>
-<p id='n1699' class='pln'><a href='#n1699'>1699</a></p>
-<p id='n1700' class='pln'><a href='#n1700'>1700</a></p>
-<p id='n1701' class='exc'><a href='#n1701'>1701</a></p>
-<p id='n1702' class='pln'><a href='#n1702'>1702</a></p>
-<p id='n1703' class='exc'><a href='#n1703'>1703</a></p>
-<p id='n1704' class='exc'><a href='#n1704'>1704</a></p>
-<p id='n1705' class='exc'><a href='#n1705'>1705</a></p>
-<p id='n1706' class='pln'><a href='#n1706'>1706</a></p>
-<p id='n1707' class='exc'><a href='#n1707'>1707</a></p>
-<p id='n1708' class='exc'><a href='#n1708'>1708</a></p>
-<p id='n1709' class='pln'><a href='#n1709'>1709</a></p>
-<p id='n1710' class='stm run hide_run'><a href='#n1710'>1710</a></p>
-<p id='n1711' class='stm mis'><a href='#n1711'>1711</a></p>
-<p id='n1712' class='stm mis'><a href='#n1712'>1712</a></p>
-<p id='n1713' class='stm mis'><a href='#n1713'>1713</a></p>
-<p id='n1714' class='stm mis'><a href='#n1714'>1714</a></p>
-<p id='n1715' class='stm mis'><a href='#n1715'>1715</a></p>
-<p id='n1716' class='pln'><a href='#n1716'>1716</a></p>
-<p id='n1717' class='stm run hide_run'><a href='#n1717'>1717</a></p>
-<p id='n1718' class='stm mis'><a href='#n1718'>1718</a></p>
-<p id='n1719' class='stm mis'><a href='#n1719'>1719</a></p>
-<p id='n1720' class='pln'><a href='#n1720'>1720</a></p>
-<p id='n1721' class='stm run hide_run'><a href='#n1721'>1721</a></p>
-<p id='n1722' class='stm mis'><a href='#n1722'>1722</a></p>
-<p id='n1723' class='pln'><a href='#n1723'>1723</a></p>
-<p id='n1724' class='pln'><a href='#n1724'>1724</a></p>
-<p id='n1725' class='stm mis'><a href='#n1725'>1725</a></p>
-<p id='n1726' class='pln'><a href='#n1726'>1726</a></p>
-<p id='n1727' class='stm run hide_run'><a href='#n1727'>1727</a></p>
-<p id='n1728' class='stm mis'><a href='#n1728'>1728</a></p>
-<p id='n1729' class='stm mis'><a href='#n1729'>1729</a></p>
-<p id='n1730' class='stm mis'><a href='#n1730'>1730</a></p>
-<p id='n1731' class='pln'><a href='#n1731'>1731</a></p>
-<p id='n1732' class='stm run hide_run'><a href='#n1732'>1732</a></p>
-<p id='n1733' class='stm mis'><a href='#n1733'>1733</a></p>
-<p id='n1734' class='stm mis'><a href='#n1734'>1734</a></p>
-<p id='n1735' class='stm mis'><a href='#n1735'>1735</a></p>
-<p id='n1736' class='pln'><a href='#n1736'>1736</a></p>
-<p id='n1737' class='stm run hide_run'><a href='#n1737'>1737</a></p>
-<p id='n1738' class='stm mis'><a href='#n1738'>1738</a></p>
-<p id='n1739' class='pln'><a href='#n1739'>1739</a></p>
-<p id='n1740' class='pln'><a href='#n1740'>1740</a></p>
-<p id='n1741' class='stm mis'><a href='#n1741'>1741</a></p>
-<p id='n1742' class='pln'><a href='#n1742'>1742</a></p>
-<p id='n1743' class='stm run hide_run'><a href='#n1743'>1743</a></p>
-<p id='n1744' class='pln'><a href='#n1744'>1744</a></p>
-<p id='n1745' class='stm run hide_run'><a href='#n1745'>1745</a></p>
-<p id='n1746' class='stm mis'><a href='#n1746'>1746</a></p>
-<p id='n1747' class='pln'><a href='#n1747'>1747</a></p>
-<p id='n1748' class='pln'><a href='#n1748'>1748</a></p>
-<p id='n1749' class='pln'><a href='#n1749'>1749</a></p>
-<p id='n1750' class='pln'><a href='#n1750'>1750</a></p>
-<p id='n1751' class='pln'><a href='#n1751'>1751</a></p>
-<p id='n1752' class='pln'><a href='#n1752'>1752</a></p>
-<p id='n1753' class='pln'><a href='#n1753'>1753</a></p>
-<p id='n1754' class='pln'><a href='#n1754'>1754</a></p>
-<p id='n1755' class='pln'><a href='#n1755'>1755</a></p>
-<p id='n1756' class='pln'><a href='#n1756'>1756</a></p>
-<p id='n1757' class='pln'><a href='#n1757'>1757</a></p>
-<p id='n1758' class='pln'><a href='#n1758'>1758</a></p>
-<p id='n1759' class='pln'><a href='#n1759'>1759</a></p>
-<p id='n1760' class='pln'><a href='#n1760'>1760</a></p>
-<p id='n1761' class='pln'><a href='#n1761'>1761</a></p>
-<p id='n1762' class='pln'><a href='#n1762'>1762</a></p>
-<p id='n1763' class='pln'><a href='#n1763'>1763</a></p>
-<p id='n1764' class='pln'><a href='#n1764'>1764</a></p>
-<p id='n1765' class='pln'><a href='#n1765'>1765</a></p>
-<p id='n1766' class='stm mis'><a href='#n1766'>1766</a></p>
-<p id='n1767' class='stm mis'><a href='#n1767'>1767</a></p>
-<p id='n1768' class='stm mis'><a href='#n1768'>1768</a></p>
-<p id='n1769' class='pln'><a href='#n1769'>1769</a></p>
-<p id='n1770' class='stm run hide_run'><a href='#n1770'>1770</a></p>
-<p id='n1771' class='stm mis'><a href='#n1771'>1771</a></p>
-<p id='n1772' class='pln'><a href='#n1772'>1772</a></p>
-<p id='n1773' class='pln'><a href='#n1773'>1773</a></p>
-<p id='n1774' class='pln'><a href='#n1774'>1774</a></p>
-<p id='n1775' class='pln'><a href='#n1775'>1775</a></p>
-<p id='n1776' class='pln'><a href='#n1776'>1776</a></p>
-<p id='n1777' class='pln'><a href='#n1777'>1777</a></p>
-<p id='n1778' class='pln'><a href='#n1778'>1778</a></p>
-<p id='n1779' class='pln'><a href='#n1779'>1779</a></p>
-<p id='n1780' class='pln'><a href='#n1780'>1780</a></p>
-<p id='n1781' class='pln'><a href='#n1781'>1781</a></p>
-<p id='n1782' class='pln'><a href='#n1782'>1782</a></p>
-<p id='n1783' class='pln'><a href='#n1783'>1783</a></p>
-<p id='n1784' class='pln'><a href='#n1784'>1784</a></p>
-<p id='n1785' class='pln'><a href='#n1785'>1785</a></p>
-<p id='n1786' class='pln'><a href='#n1786'>1786</a></p>
-<p id='n1787' class='pln'><a href='#n1787'>1787</a></p>
-<p id='n1788' class='pln'><a href='#n1788'>1788</a></p>
-<p id='n1789' class='pln'><a href='#n1789'>1789</a></p>
-<p id='n1790' class='pln'><a href='#n1790'>1790</a></p>
-<p id='n1791' class='pln'><a href='#n1791'>1791</a></p>
-<p id='n1792' class='pln'><a href='#n1792'>1792</a></p>
-<p id='n1793' class='pln'><a href='#n1793'>1793</a></p>
-<p id='n1794' class='pln'><a href='#n1794'>1794</a></p>
-<p id='n1795' class='stm mis'><a href='#n1795'>1795</a></p>
-<p id='n1796' class='stm mis'><a href='#n1796'>1796</a></p>
-<p id='n1797' class='stm mis'><a href='#n1797'>1797</a></p>
-<p id='n1798' class='pln'><a href='#n1798'>1798</a></p>
-<p id='n1799' class='stm run hide_run'><a href='#n1799'>1799</a></p>
-<p id='n1800' class='stm mis'><a href='#n1800'>1800</a></p>
-<p id='n1801' class='pln'><a href='#n1801'>1801</a></p>
-<p id='n1802' class='pln'><a href='#n1802'>1802</a></p>
-<p id='n1803' class='pln'><a href='#n1803'>1803</a></p>
-<p id='n1804' class='pln'><a href='#n1804'>1804</a></p>
-<p id='n1805' class='pln'><a href='#n1805'>1805</a></p>
-<p id='n1806' class='pln'><a href='#n1806'>1806</a></p>
-<p id='n1807' class='pln'><a href='#n1807'>1807</a></p>
-<p id='n1808' class='pln'><a href='#n1808'>1808</a></p>
-<p id='n1809' class='pln'><a href='#n1809'>1809</a></p>
-<p id='n1810' class='pln'><a href='#n1810'>1810</a></p>
-<p id='n1811' class='pln'><a href='#n1811'>1811</a></p>
-<p id='n1812' class='pln'><a href='#n1812'>1812</a></p>
-<p id='n1813' class='pln'><a href='#n1813'>1813</a></p>
-<p id='n1814' class='pln'><a href='#n1814'>1814</a></p>
-<p id='n1815' class='pln'><a href='#n1815'>1815</a></p>
-<p id='n1816' class='pln'><a href='#n1816'>1816</a></p>
-<p id='n1817' class='pln'><a href='#n1817'>1817</a></p>
-<p id='n1818' class='pln'><a href='#n1818'>1818</a></p>
-<p id='n1819' class='pln'><a href='#n1819'>1819</a></p>
-<p id='n1820' class='pln'><a href='#n1820'>1820</a></p>
-<p id='n1821' class='pln'><a href='#n1821'>1821</a></p>
-<p id='n1822' class='pln'><a href='#n1822'>1822</a></p>
-<p id='n1823' class='pln'><a href='#n1823'>1823</a></p>
-<p id='n1824' class='stm mis'><a href='#n1824'>1824</a></p>
-<p id='n1825' class='stm mis'><a href='#n1825'>1825</a></p>
-<p id='n1826' class='stm mis'><a href='#n1826'>1826</a></p>
-<p id='n1827' class='pln'><a href='#n1827'>1827</a></p>
-<p id='n1828' class='stm run hide_run'><a href='#n1828'>1828</a></p>
-<p id='n1829' class='stm mis'><a href='#n1829'>1829</a></p>
-<p id='n1830' class='pln'><a href='#n1830'>1830</a></p>
-<p id='n1831' class='pln'><a href='#n1831'>1831</a></p>
-<p id='n1832' class='pln'><a href='#n1832'>1832</a></p>
-<p id='n1833' class='pln'><a href='#n1833'>1833</a></p>
-<p id='n1834' class='pln'><a href='#n1834'>1834</a></p>
-<p id='n1835' class='pln'><a href='#n1835'>1835</a></p>
-<p id='n1836' class='pln'><a href='#n1836'>1836</a></p>
-<p id='n1837' class='pln'><a href='#n1837'>1837</a></p>
-<p id='n1838' class='pln'><a href='#n1838'>1838</a></p>
-<p id='n1839' class='pln'><a href='#n1839'>1839</a></p>
-<p id='n1840' class='pln'><a href='#n1840'>1840</a></p>
-<p id='n1841' class='pln'><a href='#n1841'>1841</a></p>
-<p id='n1842' class='pln'><a href='#n1842'>1842</a></p>
-<p id='n1843' class='pln'><a href='#n1843'>1843</a></p>
-<p id='n1844' class='pln'><a href='#n1844'>1844</a></p>
-<p id='n1845' class='pln'><a href='#n1845'>1845</a></p>
-<p id='n1846' class='pln'><a href='#n1846'>1846</a></p>
-<p id='n1847' class='pln'><a href='#n1847'>1847</a></p>
-<p id='n1848' class='pln'><a href='#n1848'>1848</a></p>
-<p id='n1849' class='pln'><a href='#n1849'>1849</a></p>
-<p id='n1850' class='pln'><a href='#n1850'>1850</a></p>
-<p id='n1851' class='pln'><a href='#n1851'>1851</a></p>
-<p id='n1852' class='pln'><a href='#n1852'>1852</a></p>
-<p id='n1853' class='pln'><a href='#n1853'>1853</a></p>
-<p id='n1854' class='pln'><a href='#n1854'>1854</a></p>
-<p id='n1855' class='pln'><a href='#n1855'>1855</a></p>
-<p id='n1856' class='pln'><a href='#n1856'>1856</a></p>
-<p id='n1857' class='pln'><a href='#n1857'>1857</a></p>
-<p id='n1858' class='pln'><a href='#n1858'>1858</a></p>
-<p id='n1859' class='pln'><a href='#n1859'>1859</a></p>
-<p id='n1860' class='pln'><a href='#n1860'>1860</a></p>
-<p id='n1861' class='pln'><a href='#n1861'>1861</a></p>
-<p id='n1862' class='pln'><a href='#n1862'>1862</a></p>
-<p id='n1863' class='pln'><a href='#n1863'>1863</a></p>
-<p id='n1864' class='pln'><a href='#n1864'>1864</a></p>
-<p id='n1865' class='pln'><a href='#n1865'>1865</a></p>
-<p id='n1866' class='pln'><a href='#n1866'>1866</a></p>
-<p id='n1867' class='pln'><a href='#n1867'>1867</a></p>
-<p id='n1868' class='pln'><a href='#n1868'>1868</a></p>
-<p id='n1869' class='pln'><a href='#n1869'>1869</a></p>
-<p id='n1870' class='pln'><a href='#n1870'>1870</a></p>
-<p id='n1871' class='pln'><a href='#n1871'>1871</a></p>
-<p id='n1872' class='pln'><a href='#n1872'>1872</a></p>
-<p id='n1873' class='pln'><a href='#n1873'>1873</a></p>
-<p id='n1874' class='pln'><a href='#n1874'>1874</a></p>
-<p id='n1875' class='pln'><a href='#n1875'>1875</a></p>
-<p id='n1876' class='pln'><a href='#n1876'>1876</a></p>
-<p id='n1877' class='pln'><a href='#n1877'>1877</a></p>
-<p id='n1878' class='pln'><a href='#n1878'>1878</a></p>
-<p id='n1879' class='pln'><a href='#n1879'>1879</a></p>
-<p id='n1880' class='pln'><a href='#n1880'>1880</a></p>
-<p id='n1881' class='pln'><a href='#n1881'>1881</a></p>
-<p id='n1882' class='pln'><a href='#n1882'>1882</a></p>
-<p id='n1883' class='pln'><a href='#n1883'>1883</a></p>
-<p id='n1884' class='pln'><a href='#n1884'>1884</a></p>
-<p id='n1885' class='pln'><a href='#n1885'>1885</a></p>
-<p id='n1886' class='pln'><a href='#n1886'>1886</a></p>
-<p id='n1887' class='pln'><a href='#n1887'>1887</a></p>
-<p id='n1888' class='pln'><a href='#n1888'>1888</a></p>
-<p id='n1889' class='pln'><a href='#n1889'>1889</a></p>
-<p id='n1890' class='pln'><a href='#n1890'>1890</a></p>
-<p id='n1891' class='pln'><a href='#n1891'>1891</a></p>
-<p id='n1892' class='pln'><a href='#n1892'>1892</a></p>
-<p id='n1893' class='pln'><a href='#n1893'>1893</a></p>
-<p id='n1894' class='pln'><a href='#n1894'>1894</a></p>
-<p id='n1895' class='pln'><a href='#n1895'>1895</a></p>
-<p id='n1896' class='pln'><a href='#n1896'>1896</a></p>
-<p id='n1897' class='pln'><a href='#n1897'>1897</a></p>
-<p id='n1898' class='pln'><a href='#n1898'>1898</a></p>
-<p id='n1899' class='pln'><a href='#n1899'>1899</a></p>
-<p id='n1900' class='pln'><a href='#n1900'>1900</a></p>
-<p id='n1901' class='pln'><a href='#n1901'>1901</a></p>
-<p id='n1902' class='stm mis'><a href='#n1902'>1902</a></p>
-<p id='n1903' class='stm mis'><a href='#n1903'>1903</a></p>
-<p id='n1904' class='pln'><a href='#n1904'>1904</a></p>
-<p id='n1905' class='pln'><a href='#n1905'>1905</a></p>
-<p id='n1906' class='stm mis'><a href='#n1906'>1906</a></p>
-<p id='n1907' class='pln'><a href='#n1907'>1907</a></p>
-<p id='n1908' class='pln'><a href='#n1908'>1908</a></p>
-<p id='n1909' class='stm mis'><a href='#n1909'>1909</a></p>
-<p id='n1910' class='pln'><a href='#n1910'>1910</a></p>
-<p id='n1911' class='pln'><a href='#n1911'>1911</a></p>
-<p id='n1912' class='stm mis'><a href='#n1912'>1912</a></p>
-<p id='n1913' class='pln'><a href='#n1913'>1913</a></p>
-<p id='n1914' class='pln'><a href='#n1914'>1914</a></p>
-<p id='n1915' class='stm mis'><a href='#n1915'>1915</a></p>
-<p id='n1916' class='pln'><a href='#n1916'>1916</a></p>
-<p id='n1917' class='pln'><a href='#n1917'>1917</a></p>
-<p id='n1918' class='stm mis'><a href='#n1918'>1918</a></p>
-<p id='n1919' class='pln'><a href='#n1919'>1919</a></p>
-<p id='n1920' class='pln'><a href='#n1920'>1920</a></p>
-<p id='n1921' class='pln'><a href='#n1921'>1921</a></p>
-<p id='n1922' class='stm run hide_run'><a href='#n1922'>1922</a></p>
-<p id='n1923' class='stm mis'><a href='#n1923'>1923</a></p>
-<p id='n1924' class='stm mis'><a href='#n1924'>1924</a></p>
-<p id='n1925' class='stm mis'><a href='#n1925'>1925</a></p>
-<p id='n1926' class='stm mis'><a href='#n1926'>1926</a></p>
-<p id='n1927' class='pln'><a href='#n1927'>1927</a></p>
-<p id='n1928' class='stm run hide_run'><a href='#n1928'>1928</a></p>
-<p id='n1929' class='pln'><a href='#n1929'>1929</a></p>
-<p id='n1930' class='pln'><a href='#n1930'>1930</a></p>
-<p id='n1931' class='stm run hide_run'><a href='#n1931'>1931</a></p>
-<p id='n1932' class='pln'><a href='#n1932'>1932</a></p>
-<p id='n1933' class='stm mis'><a href='#n1933'>1933</a></p>
-<p id='n1934' class='pln'><a href='#n1934'>1934</a></p>
-<p id='n1935' class='pln'><a href='#n1935'>1935</a></p>
-<p id='n1936' class='pln'><a href='#n1936'>1936</a></p>
-<p id='n1937' class='pln'><a href='#n1937'>1937</a></p>
-<p id='n1938' class='pln'><a href='#n1938'>1938</a></p>
-<p id='n1939' class='pln'><a href='#n1939'>1939</a></p>
-<p id='n1940' class='pln'><a href='#n1940'>1940</a></p>
-<p id='n1941' class='pln'><a href='#n1941'>1941</a></p>
-<p id='n1942' class='pln'><a href='#n1942'>1942</a></p>
-<p id='n1943' class='pln'><a href='#n1943'>1943</a></p>
-<p id='n1944' class='pln'><a href='#n1944'>1944</a></p>
-<p id='n1945' class='pln'><a href='#n1945'>1945</a></p>
-<p id='n1946' class='pln'><a href='#n1946'>1946</a></p>
-<p id='n1947' class='pln'><a href='#n1947'>1947</a></p>
-<p id='n1948' class='pln'><a href='#n1948'>1948</a></p>
-<p id='n1949' class='pln'><a href='#n1949'>1949</a></p>
-<p id='n1950' class='pln'><a href='#n1950'>1950</a></p>
-<p id='n1951' class='pln'><a href='#n1951'>1951</a></p>
-<p id='n1952' class='pln'><a href='#n1952'>1952</a></p>
-<p id='n1953' class='pln'><a href='#n1953'>1953</a></p>
-<p id='n1954' class='pln'><a href='#n1954'>1954</a></p>
-<p id='n1955' class='stm mis'><a href='#n1955'>1955</a></p>
-<p id='n1956' class='stm mis'><a href='#n1956'>1956</a></p>
-<p id='n1957' class='stm mis'><a href='#n1957'>1957</a></p>
-<p id='n1958' class='pln'><a href='#n1958'>1958</a></p>
-<p id='n1959' class='stm run hide_run'><a href='#n1959'>1959</a></p>
-<p id='n1960' class='stm mis'><a href='#n1960'>1960</a></p>
-<p id='n1961' class='pln'><a href='#n1961'>1961</a></p>
-<p id='n1962' class='pln'><a href='#n1962'>1962</a></p>
-<p id='n1963' class='pln'><a href='#n1963'>1963</a></p>
-<p id='n1964' class='pln'><a href='#n1964'>1964</a></p>
-<p id='n1965' class='pln'><a href='#n1965'>1965</a></p>
-<p id='n1966' class='stm mis'><a href='#n1966'>1966</a></p>
-<p id='n1967' class='stm mis'><a href='#n1967'>1967</a></p>
-<p id='n1968' class='pln'><a href='#n1968'>1968</a></p>
-<p id='n1969' class='stm run hide_run'><a href='#n1969'>1969</a></p>
-<p id='n1970' class='pln'><a href='#n1970'>1970</a></p>
-<p id='n1971' class='pln'><a href='#n1971'>1971</a></p>
-<p id='n1972' class='stm mis'><a href='#n1972'>1972</a></p>
-<p id='n1973' class='pln'><a href='#n1973'>1973</a></p>
-<p id='n1974' class='pln'><a href='#n1974'>1974</a></p>
-<p id='n1975' class='pln'><a href='#n1975'>1975</a></p>
-<p id='n1976' class='pln'><a href='#n1976'>1976</a></p>
-<p id='n1977' class='pln'><a href='#n1977'>1977</a></p>
-<p id='n1978' class='pln'><a href='#n1978'>1978</a></p>
-<p id='n1979' class='pln'><a href='#n1979'>1979</a></p>
-<p id='n1980' class='pln'><a href='#n1980'>1980</a></p>
-<p id='n1981' class='pln'><a href='#n1981'>1981</a></p>
-<p id='n1982' class='pln'><a href='#n1982'>1982</a></p>
-<p id='n1983' class='pln'><a href='#n1983'>1983</a></p>
-<p id='n1984' class='pln'><a href='#n1984'>1984</a></p>
-<p id='n1985' class='pln'><a href='#n1985'>1985</a></p>
-<p id='n1986' class='pln'><a href='#n1986'>1986</a></p>
-<p id='n1987' class='pln'><a href='#n1987'>1987</a></p>
-<p id='n1988' class='pln'><a href='#n1988'>1988</a></p>
-<p id='n1989' class='pln'><a href='#n1989'>1989</a></p>
-<p id='n1990' class='stm mis'><a href='#n1990'>1990</a></p>
-<p id='n1991' class='stm mis'><a href='#n1991'>1991</a></p>
-<p id='n1992' class='stm mis'><a href='#n1992'>1992</a></p>
-<p id='n1993' class='stm mis'><a href='#n1993'>1993</a></p>
-<p id='n1994' class='stm mis'><a href='#n1994'>1994</a></p>
-<p id='n1995' class='stm mis'><a href='#n1995'>1995</a></p>
-<p id='n1996' class='pln'><a href='#n1996'>1996</a></p>
-<p id='n1997' class='stm run hide_run'><a href='#n1997'>1997</a></p>
-<p id='n1998' class='pln'><a href='#n1998'>1998</a></p>
-<p id='n1999' class='stm run hide_run'><a href='#n1999'>1999</a></p>
-<p id='n2000' class='pln'><a href='#n2000'>2000</a></p>
-<p id='n2001' class='stm mis'><a href='#n2001'>2001</a></p>
-<p id='n2002' class='pln'><a href='#n2002'>2002</a></p>
-<p id='n2003' class='pln'><a href='#n2003'>2003</a></p>
-<p id='n2004' class='pln'><a href='#n2004'>2004</a></p>
-<p id='n2005' class='pln'><a href='#n2005'>2005</a></p>
-<p id='n2006' class='pln'><a href='#n2006'>2006</a></p>
-<p id='n2007' class='pln'><a href='#n2007'>2007</a></p>
-<p id='n2008' class='pln'><a href='#n2008'>2008</a></p>
-<p id='n2009' class='pln'><a href='#n2009'>2009</a></p>
-<p id='n2010' class='stm mis'><a href='#n2010'>2010</a></p>
-<p id='n2011' class='stm mis'><a href='#n2011'>2011</a></p>
-<p id='n2012' class='stm mis'><a href='#n2012'>2012</a></p>
-<p id='n2013' class='stm mis'><a href='#n2013'>2013</a></p>
-<p id='n2014' class='pln'><a href='#n2014'>2014</a></p>
-<p id='n2015' class='stm run hide_run'><a href='#n2015'>2015</a></p>
-<p id='n2016' class='pln'><a href='#n2016'>2016</a></p>
-<p id='n2017' class='stm mis'><a href='#n2017'>2017</a></p>
-<p id='n2018' class='pln'><a href='#n2018'>2018</a></p>
-<p id='n2019' class='pln'><a href='#n2019'>2019</a></p>
-<p id='n2020' class='pln'><a href='#n2020'>2020</a></p>
-<p id='n2021' class='pln'><a href='#n2021'>2021</a></p>
-<p id='n2022' class='pln'><a href='#n2022'>2022</a></p>
-<p id='n2023' class='pln'><a href='#n2023'>2023</a></p>
-<p id='n2024' class='pln'><a href='#n2024'>2024</a></p>
-<p id='n2025' class='pln'><a href='#n2025'>2025</a></p>
-<p id='n2026' class='stm mis'><a href='#n2026'>2026</a></p>
-<p id='n2027' class='stm mis'><a href='#n2027'>2027</a></p>
-<p id='n2028' class='stm mis'><a href='#n2028'>2028</a></p>
-<p id='n2029' class='stm mis'><a href='#n2029'>2029</a></p>
-<p id='n2030' class='stm mis'><a href='#n2030'>2030</a></p>
-<p id='n2031' class='stm mis'><a href='#n2031'>2031</a></p>
-<p id='n2032' class='pln'><a href='#n2032'>2032</a></p>
-<p id='n2033' class='pln'><a href='#n2033'>2033</a></p>
-<p id='n2034' class='exc'><a href='#n2034'>2034</a></p>
-<p id='n2035' class='exc'><a href='#n2035'>2035</a></p>
-<p id='n2036' class='pln'><a href='#n2036'>2036</a></p>
-<p id='n2037' class='pln'><a href='#n2037'>2037</a></p>
-<p id='n2038' class='pln'><a href='#n2038'>2038</a></p>
-
- </td>
- <td class='text' valign='top'>
-<p id='t1' class='pln'><span class='str'>&quot;&quot;&quot; Test cogapp.</span><span class='strut'>&nbsp;</span></p>
-<p id='t2' class='pln'><span class='str'>&nbsp; &nbsp; http://nedbatchelder.com/code/cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t3' class='pln'><span class='str'>&nbsp; &nbsp; </span><span class='strut'>&nbsp;</span></p>
-<p id='t4' class='pln'><span class='str'>&nbsp; &nbsp; Copyright 2004-2012, Ned Batchelder.</span><span class='strut'>&nbsp;</span></p>
-<p id='t5' class='pln'><span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t6' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t7' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>__future__</span> <span class='key'>import</span> <span class='nam'>absolute_import</span><span class='strut'>&nbsp;</span></p>
-<p id='t8' class='stm run hide_run'><span class='key'>import</span> <span class='nam'>unittest</span><span class='strut'>&nbsp;</span></p>
-<p id='t9' class='stm run hide_run'><span class='key'>import</span> <span class='nam'>os</span><span class='op'>,</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>,</span> <span class='nam'>random</span><span class='op'>,</span> <span class='nam'>re</span><span class='op'>,</span> <span class='nam'>shutil</span><span class='op'>,</span> <span class='nam'>stat</span><span class='op'>,</span> <span class='nam'>sys</span><span class='op'>,</span> <span class='nam'>tempfile</span><span class='strut'>&nbsp;</span></p>
-<p id='t10' class='stm run hide_run'><span class='key'>from</span> <span class='op'>.</span><span class='nam'>backward</span> <span class='key'>import</span> <span class='nam'>StringIO</span><span class='op'>,</span> <span class='nam'>to_bytes</span><span class='op'>,</span> <span class='nam'>b</span><span class='op'>,</span> <span class='nam'>u</span><span class='strut'>&nbsp;</span></p>
-<p id='t11' class='stm run hide_run'><span class='key'>from</span> <span class='op'>.</span><span class='nam'>cogapp</span> <span class='key'>import</span> <span class='nam'>Cog</span><span class='op'>,</span> <span class='nam'>CogOptions</span><span class='op'>,</span> <span class='nam'>CogGenerator</span><span class='strut'>&nbsp;</span></p>
-<p id='t12' class='stm run hide_run'><span class='key'>from</span> <span class='op'>.</span><span class='nam'>cogapp</span> <span class='key'>import</span> <span class='nam'>CogError</span><span class='op'>,</span> <span class='nam'>CogUsageError</span><span class='op'>,</span> <span class='nam'>CogGeneratedError</span><span class='strut'>&nbsp;</span></p>
-<p id='t13' class='stm run hide_run'><span class='key'>from</span> <span class='op'>.</span><span class='nam'>cogapp</span> <span class='key'>import</span> <span class='nam'>usage</span><span class='op'>,</span> <span class='nam'>__version__</span><span class='strut'>&nbsp;</span></p>
-<p id='t14' class='stm run hide_run'><span class='key'>from</span> <span class='op'>.</span><span class='nam'>whiteutils</span> <span class='key'>import</span> <span class='nam'>reindentBlock</span><span class='strut'>&nbsp;</span></p>
-<p id='t15' class='stm run hide_run'><span class='key'>from</span> <span class='op'>.</span><span class='nam'>makefiles</span> <span class='key'>import</span> <span class='op'>*</span><span class='strut'>&nbsp;</span></p>
-<p id='t16' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t17' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>TestCase</span><span class='op'>(</span><span class='nam'>unittest</span><span class='op'>.</span><span class='nam'>TestCase</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t18' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Base class for all Cog test cases.&nbsp; Adds utility methods I like.</span><span class='strut'>&nbsp;</span></p>
-<p id='t19' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t20' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>assertRaisesMsg</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>excClass</span><span class='op'>,</span> <span class='nam'>msg</span><span class='op'>,</span> <span class='nam'>callableObj</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t21' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Just like unittest.TestCase.assertRaises,</span><span class='strut'>&nbsp;</span></p>
-<p id='t22' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; but checks that the message is right too.</span><span class='strut'>&nbsp;</span></p>
-<p id='t23' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t24' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t25' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>callableObj</span><span class='op'>(</span><span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t26' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>excClass</span> <span class='key'>as</span> <span class='nam'>exc</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t27' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>excMsg</span> <span class='op'>=</span> <span class='nam'>str</span><span class='op'>(</span><span class='nam'>exc</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t28' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>msg</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t29' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># No message provided: it passes.</span><span class='strut'>&nbsp;</span></p>
-<p id='t30' class='exc'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span>&nbsp; <span class='com'>#pragma: no cover</span><span class='strut'>&nbsp;</span></p>
-<p id='t31' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>elif</span> <span class='nam'>excMsg</span> <span class='op'>==</span> <span class='nam'>msg</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t32' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Message provided, and we got the right message: it passes.</span><span class='strut'>&nbsp;</span></p>
-<p id='t33' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span><span class='strut'>&nbsp;</span></p>
-<p id='t34' class='exc'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span>&nbsp;&nbsp; <span class='com'>#pragma: no cover</span><span class='strut'>&nbsp;</span></p>
-<p id='t35' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Message provided, and it didn&#39;t match: fail!</span><span class='strut'>&nbsp;</span></p>
-<p id='t36' class='exc'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>failureException</span><span class='op'>(</span><span class='str'>&quot;Right exception, wrong message: got &#39;%s&#39; expected &#39;%s&#39;&quot;</span> <span class='op'>%</span> <span class='op'>(</span><span class='nam'>excMsg</span><span class='op'>,</span> <span class='nam'>msg</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t37' class='exc'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span>&nbsp;&nbsp; <span class='com'>#pragma: no cover</span><span class='strut'>&nbsp;</span></p>
-<p id='t38' class='exc'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>hasattr</span><span class='op'>(</span><span class='nam'>excClass</span><span class='op'>,</span><span class='str'>&#39;__name__&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t39' class='exc'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>excName</span> <span class='op'>=</span> <span class='nam'>excClass</span><span class='op'>.</span><span class='nam'>__name__</span><span class='strut'>&nbsp;</span></p>
-<p id='t40' class='exc'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t41' class='exc'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>excName</span> <span class='op'>=</span> <span class='nam'>str</span><span class='op'>(</span><span class='nam'>excClass</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t42' class='exc'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>failureException</span><span class='op'>(</span><span class='str'>&quot;Expected to raise %s, didn&#39;t get an exception at all&quot;</span> <span class='op'>%</span> <span class='nam'>excName</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t43' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t44' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>CogTestsInMemory</span><span class='op'>(</span><span class='nam'>TestCase</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t45' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Test cases for cogapp.Cog()</span><span class='strut'>&nbsp;</span></p>
-<p id='t46' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t47' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t48' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testNoCog</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t49' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>strings</span> <span class='op'>=</span> <span class='op'>[</span><span class='strut'>&nbsp;</span></p>
-<p id='t50' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t51' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39; &#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t52' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39; \t \t \tx&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t53' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;hello&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t54' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;the cat\nin the\nhat.&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t55' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;Horton\n\tHears A\n\t\tWho&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t56' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t57' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>s</span> <span class='key'>in</span> <span class='nam'>strings</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t58' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>Cog</span><span class='op'>(</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>processString</span><span class='op'>(</span><span class='nam'>s</span><span class='op'>)</span><span class='op'>,</span> <span class='nam'>s</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t59' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t60' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testSimple</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t61' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>infile</span> <span class='op'>=</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t62' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Some text.</span><span class='strut'>&nbsp;</span></p>
-<p id='t63' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t64' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; import cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t65' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;This is line one\\n&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t66' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;This is line two&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t67' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t68' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; gobbledegook.</span><span class='strut'>&nbsp;</span></p>
-<p id='t69' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t70' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; epilogue.</span><span class='strut'>&nbsp;</span></p>
-<p id='t71' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t72' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t73' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>outfile</span> <span class='op'>=</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t74' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Some text.</span><span class='strut'>&nbsp;</span></p>
-<p id='t75' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t76' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; import cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t77' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;This is line one\\n&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t78' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;This is line two&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t79' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t80' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This is line one</span><span class='strut'>&nbsp;</span></p>
-<p id='t81' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t82' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This is line two</span><span class='strut'>&nbsp;</span></p>
-<p id='t83' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t84' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; epilogue.</span><span class='strut'>&nbsp;</span></p>
-<p id='t85' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t86' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t87' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>Cog</span><span class='op'>(</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>processString</span><span class='op'>(</span><span class='nam'>infile</span><span class='op'>)</span><span class='op'>,</span> <span class='nam'>outfile</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t88' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t89' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testEmptyCog</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t90' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># The cog clause can be totally empty.&nbsp; Not sure why you&#39;d want it,</span><span class='strut'>&nbsp;</span></p>
-<p id='t91' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># but it works.</span><span class='strut'>&nbsp;</span></p>
-<p id='t92' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>infile</span> <span class='op'>=</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t93' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; hello</span><span class='strut'>&nbsp;</span></p>
-<p id='t94' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t95' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t96' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t97' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; goodbye</span><span class='strut'>&nbsp;</span></p>
-<p id='t98' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t99' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t100' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>infile</span> <span class='op'>=</span> <span class='nam'>reindentBlock</span><span class='op'>(</span><span class='nam'>infile</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t101' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>Cog</span><span class='op'>(</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>processString</span><span class='op'>(</span><span class='nam'>infile</span><span class='op'>)</span><span class='op'>,</span> <span class='nam'>infile</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t102' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t103' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testMultipleCogs</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t104' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># One file can have many cog chunks, even abutting each other.</span><span class='strut'>&nbsp;</span></p>
-<p id='t105' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>infile</span> <span class='op'>=</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t106' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t107' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.out(&quot;chunk1&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t108' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t109' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; chunk1</span><span class='strut'>&nbsp;</span></p>
-<p id='t110' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t111' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t112' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.out(&quot;chunk2&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t113' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t114' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; chunk2</span><span class='strut'>&nbsp;</span></p>
-<p id='t115' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t116' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; between chunks</span><span class='strut'>&nbsp;</span></p>
-<p id='t117' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t118' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.out(&quot;chunk3&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t119' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t120' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; chunk3</span><span class='strut'>&nbsp;</span></p>
-<p id='t121' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t122' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t123' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t124' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>infile</span> <span class='op'>=</span> <span class='nam'>reindentBlock</span><span class='op'>(</span><span class='nam'>infile</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t125' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>Cog</span><span class='op'>(</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>processString</span><span class='op'>(</span><span class='nam'>infile</span><span class='op'>)</span><span class='op'>,</span> <span class='nam'>infile</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t126' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t127' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testTrimBlankLines</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t128' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>infile</span> <span class='op'>=</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t129' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t130' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.out(&quot;This is line one\\n&quot;, trimblanklines=True)</span><span class='strut'>&nbsp;</span></p>
-<p id='t131' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.out(&#39;&#39;&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t132' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This is line two</span><span class='strut'>&nbsp;</span></p>
-<p id='t133' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#39;&#39;&#39;, dedent=True, trimblanklines=True)</span><span class='strut'>&nbsp;</span></p>
-<p id='t134' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;This is line three&quot;, trimblanklines=True)</span><span class='strut'>&nbsp;</span></p>
-<p id='t135' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t136' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This is line one</span><span class='strut'>&nbsp;</span></p>
-<p id='t137' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This is line two</span><span class='strut'>&nbsp;</span></p>
-<p id='t138' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This is line three</span><span class='strut'>&nbsp;</span></p>
-<p id='t139' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t140' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t141' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t142' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>infile</span> <span class='op'>=</span> <span class='nam'>reindentBlock</span><span class='op'>(</span><span class='nam'>infile</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t143' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>Cog</span><span class='op'>(</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>processString</span><span class='op'>(</span><span class='nam'>infile</span><span class='op'>)</span><span class='op'>,</span> <span class='nam'>infile</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t144' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t145' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testTrimEmptyBlankLines</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t146' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>infile</span> <span class='op'>=</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t147' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t148' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.out(&quot;This is line one\\n&quot;, trimblanklines=True)</span><span class='strut'>&nbsp;</span></p>
-<p id='t149' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.out(&#39;&#39;&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t150' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This is line two</span><span class='strut'>&nbsp;</span></p>
-<p id='t151' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#39;&#39;&#39;, dedent=True, trimblanklines=True)</span><span class='strut'>&nbsp;</span></p>
-<p id='t152' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.out(&#39;&#39;, dedent=True, trimblanklines=True)</span><span class='strut'>&nbsp;</span></p>
-<p id='t153' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;This is line three&quot;, trimblanklines=True)</span><span class='strut'>&nbsp;</span></p>
-<p id='t154' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t155' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This is line one</span><span class='strut'>&nbsp;</span></p>
-<p id='t156' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This is line two</span><span class='strut'>&nbsp;</span></p>
-<p id='t157' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This is line three</span><span class='strut'>&nbsp;</span></p>
-<p id='t158' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t159' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t160' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t161' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>infile</span> <span class='op'>=</span> <span class='nam'>reindentBlock</span><span class='op'>(</span><span class='nam'>infile</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t162' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>Cog</span><span class='op'>(</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>processString</span><span class='op'>(</span><span class='nam'>infile</span><span class='op'>)</span><span class='op'>,</span> <span class='nam'>infile</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t163' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t164' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>test22EndOfLine</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t165' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># In Python 2.2, this cog file was not parsing because the</span><span class='strut'>&nbsp;</span></p>
-<p id='t166' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># last line is indented but didn&#39;t end with a newline.</span><span class='strut'>&nbsp;</span></p>
-<p id='t167' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>infile</span> <span class='op'>=</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t168' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t169' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; import cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t170' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for i in range(3):</span><span class='strut'>&nbsp;</span></p>
-<p id='t171' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.out(&quot;%d\\n&quot; % i)</span><span class='strut'>&nbsp;</span></p>
-<p id='t172' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t173' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0</span><span class='strut'>&nbsp;</span></p>
-<p id='t174' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 1</span><span class='strut'>&nbsp;</span></p>
-<p id='t175' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2</span><span class='strut'>&nbsp;</span></p>
-<p id='t176' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t177' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t178' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t179' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>infile</span> <span class='op'>=</span> <span class='nam'>reindentBlock</span><span class='op'>(</span><span class='nam'>infile</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t180' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>Cog</span><span class='op'>(</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>processString</span><span class='op'>(</span><span class='nam'>infile</span><span class='op'>)</span><span class='op'>,</span> <span class='nam'>infile</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t181' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t182' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testIndentedCode</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t183' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>infile</span> <span class='op'>=</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t184' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; first line</span><span class='strut'>&nbsp;</span></p>
-<p id='t185' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t186' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; import cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t187' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for i in range(3):</span><span class='strut'>&nbsp;</span></p>
-<p id='t188' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.out(&quot;xx%d\\n&quot; % i)</span><span class='strut'>&nbsp;</span></p>
-<p id='t189' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t190' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; xx0</span><span class='strut'>&nbsp;</span></p>
-<p id='t191' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; xx1</span><span class='strut'>&nbsp;</span></p>
-<p id='t192' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; xx2</span><span class='strut'>&nbsp;</span></p>
-<p id='t193' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t194' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; last line</span><span class='strut'>&nbsp;</span></p>
-<p id='t195' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t196' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t197' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>infile</span> <span class='op'>=</span> <span class='nam'>reindentBlock</span><span class='op'>(</span><span class='nam'>infile</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t198' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>Cog</span><span class='op'>(</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>processString</span><span class='op'>(</span><span class='nam'>infile</span><span class='op'>)</span><span class='op'>,</span> <span class='nam'>infile</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t199' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t200' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testPrefixedCode</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t201' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>infile</span> <span class='op'>=</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t202' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t203' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --import cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t204' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --for i in range(3):</span><span class='strut'>&nbsp;</span></p>
-<p id='t205' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --&nbsp; &nbsp; cog.out(&quot;xx%d\\n&quot; % i)</span><span class='strut'>&nbsp;</span></p>
-<p id='t206' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t207' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; xx0</span><span class='strut'>&nbsp;</span></p>
-<p id='t208' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; xx1</span><span class='strut'>&nbsp;</span></p>
-<p id='t209' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; xx2</span><span class='strut'>&nbsp;</span></p>
-<p id='t210' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t211' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t212' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t213' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>infile</span> <span class='op'>=</span> <span class='nam'>reindentBlock</span><span class='op'>(</span><span class='nam'>infile</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t214' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>Cog</span><span class='op'>(</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>processString</span><span class='op'>(</span><span class='nam'>infile</span><span class='op'>)</span><span class='op'>,</span> <span class='nam'>infile</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t215' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t216' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testPrefixedIndentedCode</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t217' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>infile</span> <span class='op'>=</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t218' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; prologue</span><span class='strut'>&nbsp;</span></p>
-<p id='t219' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t220' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --&nbsp;&nbsp; import cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t221' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --&nbsp;&nbsp; for i in range(3):</span><span class='strut'>&nbsp;</span></p>
-<p id='t222' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --&nbsp; &nbsp; &nbsp;&nbsp; cog.out(&quot;xy%d\\n&quot; % i)</span><span class='strut'>&nbsp;</span></p>
-<p id='t223' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t224' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; xy0</span><span class='strut'>&nbsp;</span></p>
-<p id='t225' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; xy1</span><span class='strut'>&nbsp;</span></p>
-<p id='t226' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; xy2</span><span class='strut'>&nbsp;</span></p>
-<p id='t227' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t228' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t229' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t230' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>infile</span> <span class='op'>=</span> <span class='nam'>reindentBlock</span><span class='op'>(</span><span class='nam'>infile</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t231' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>Cog</span><span class='op'>(</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>processString</span><span class='op'>(</span><span class='nam'>infile</span><span class='op'>)</span><span class='op'>,</span> <span class='nam'>infile</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t232' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t233' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testBogusPrefixMatch</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t234' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>infile</span> <span class='op'>=</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t235' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; prologue</span><span class='strut'>&nbsp;</span></p>
-<p id='t236' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t237' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; import cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t238' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # This comment should not be clobbered by removing the pound sign.</span><span class='strut'>&nbsp;</span></p>
-<p id='t239' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for i in range(3):</span><span class='strut'>&nbsp;</span></p>
-<p id='t240' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.out(&quot;xy%d\\n&quot; % i)</span><span class='strut'>&nbsp;</span></p>
-<p id='t241' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t242' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; xy0</span><span class='strut'>&nbsp;</span></p>
-<p id='t243' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; xy1</span><span class='strut'>&nbsp;</span></p>
-<p id='t244' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; xy2</span><span class='strut'>&nbsp;</span></p>
-<p id='t245' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t246' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t247' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t248' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>infile</span> <span class='op'>=</span> <span class='nam'>reindentBlock</span><span class='op'>(</span><span class='nam'>infile</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t249' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>Cog</span><span class='op'>(</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>processString</span><span class='op'>(</span><span class='nam'>infile</span><span class='op'>)</span><span class='op'>,</span> <span class='nam'>infile</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t250' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t251' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testNoFinalNewline</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t252' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># If the cog&#39;ed output has no final newline,</span><span class='strut'>&nbsp;</span></p>
-<p id='t253' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># it shouldn&#39;t eat up the cog terminator.</span><span class='strut'>&nbsp;</span></p>
-<p id='t254' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>infile</span> <span class='op'>=</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t255' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; prologue</span><span class='strut'>&nbsp;</span></p>
-<p id='t256' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t257' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; import cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t258' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for i in range(3):</span><span class='strut'>&nbsp;</span></p>
-<p id='t259' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.out(&quot;%d&quot; % i)</span><span class='strut'>&nbsp;</span></p>
-<p id='t260' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t261' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 012</span><span class='strut'>&nbsp;</span></p>
-<p id='t262' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t263' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; epilogue</span><span class='strut'>&nbsp;</span></p>
-<p id='t264' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t265' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t266' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>infile</span> <span class='op'>=</span> <span class='nam'>reindentBlock</span><span class='op'>(</span><span class='nam'>infile</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t267' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>Cog</span><span class='op'>(</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>processString</span><span class='op'>(</span><span class='nam'>infile</span><span class='op'>)</span><span class='op'>,</span> <span class='nam'>infile</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t268' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t269' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testNoOutputAtAll</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t270' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># If there is absolutely no cog output, that&#39;s ok.</span><span class='strut'>&nbsp;</span></p>
-<p id='t271' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>infile</span> <span class='op'>=</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t272' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; prologue</span><span class='strut'>&nbsp;</span></p>
-<p id='t273' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t274' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; i = 1</span><span class='strut'>&nbsp;</span></p>
-<p id='t275' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t276' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t277' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; epilogue</span><span class='strut'>&nbsp;</span></p>
-<p id='t278' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t279' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t280' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>infile</span> <span class='op'>=</span> <span class='nam'>reindentBlock</span><span class='op'>(</span><span class='nam'>infile</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t281' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>Cog</span><span class='op'>(</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>processString</span><span class='op'>(</span><span class='nam'>infile</span><span class='op'>)</span><span class='op'>,</span> <span class='nam'>infile</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t282' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t283' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testPurelyBlankLine</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t284' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># If there is a blank line in the cog code with no whitespace</span><span class='strut'>&nbsp;</span></p>
-<p id='t285' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># prefix, that should be OK.</span><span class='strut'>&nbsp;</span></p>
-<p id='t286' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t287' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>infile</span> <span class='op'>=</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t288' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; prologue</span><span class='strut'>&nbsp;</span></p>
-<p id='t289' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t290' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; import sys</span><span class='strut'>&nbsp;</span></p>
-<p id='t291' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.out(&quot;Hello&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t292' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $</span><span class='strut'>&nbsp;</span></p>
-<p id='t293' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.out(&quot;There&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t294' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t295' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; HelloThere</span><span class='strut'>&nbsp;</span></p>
-<p id='t296' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t297' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; epilogue</span><span class='strut'>&nbsp;</span></p>
-<p id='t298' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t299' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t300' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>infile</span> <span class='op'>=</span> <span class='nam'>reindentBlock</span><span class='op'>(</span><span class='nam'>infile</span><span class='op'>.</span><span class='nam'>replace</span><span class='op'>(</span><span class='str'>&#39;$&#39;</span><span class='op'>,</span> <span class='str'>&#39;&#39;</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t301' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>Cog</span><span class='op'>(</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>processString</span><span class='op'>(</span><span class='nam'>infile</span><span class='op'>)</span><span class='op'>,</span> <span class='nam'>infile</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t302' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t303' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testEmptyOutl</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t304' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Alexander Belchenko suggested the string argument to outl should</span><span class='strut'>&nbsp;</span></p>
-<p id='t305' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># be optional.&nbsp; Does it work?</span><span class='strut'>&nbsp;</span></p>
-<p id='t306' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t307' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>infile</span> <span class='op'>=</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t308' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; prologue</span><span class='strut'>&nbsp;</span></p>
-<p id='t309' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t310' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;x&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t311' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl()</span><span class='strut'>&nbsp;</span></p>
-<p id='t312' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;y&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t313' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(trimblanklines=True)</span><span class='strut'>&nbsp;</span></p>
-<p id='t314' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;z&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t315' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t316' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; x</span><span class='strut'>&nbsp;</span></p>
-<p id='t317' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t318' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; y</span><span class='strut'>&nbsp;</span></p>
-<p id='t319' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span class='strut'>&nbsp;</span></p>
-<p id='t320' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; z</span><span class='strut'>&nbsp;</span></p>
-<p id='t321' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t322' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; epilogue</span><span class='strut'>&nbsp;</span></p>
-<p id='t323' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t324' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t325' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>infile</span> <span class='op'>=</span> <span class='nam'>reindentBlock</span><span class='op'>(</span><span class='nam'>infile</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t326' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>Cog</span><span class='op'>(</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>processString</span><span class='op'>(</span><span class='nam'>infile</span><span class='op'>)</span><span class='op'>,</span> <span class='nam'>infile</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t327' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t328' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testFirstLineNum</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t329' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>infile</span> <span class='op'>=</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t330' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fooey</span><span class='strut'>&nbsp;</span></p>
-<p id='t331' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t332' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;started at line number %d&quot; % cog.firstLineNum)</span><span class='strut'>&nbsp;</span></p>
-<p id='t333' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t334' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; started at line number 2</span><span class='strut'>&nbsp;</span></p>
-<p id='t335' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t336' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; blah blah</span><span class='strut'>&nbsp;</span></p>
-<p id='t337' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t338' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;and again at line %d&quot; % cog.firstLineNum)</span><span class='strut'>&nbsp;</span></p>
-<p id='t339' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t340' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; and again at line 8</span><span class='strut'>&nbsp;</span></p>
-<p id='t341' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t342' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t343' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t344' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>infile</span> <span class='op'>=</span> <span class='nam'>reindentBlock</span><span class='op'>(</span><span class='nam'>infile</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t345' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>Cog</span><span class='op'>(</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>processString</span><span class='op'>(</span><span class='nam'>infile</span><span class='op'>)</span><span class='op'>,</span> <span class='nam'>infile</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t346' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t347' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testCompactOneLineCode</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t348' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>infile</span> <span class='op'>=</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t349' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; first line</span><span class='strut'>&nbsp;</span></p>
-<p id='t350' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; hey: [[[cog cog.outl(&quot;hello %d&quot; % (3*3*3*3)) ]]] looky!</span><span class='strut'>&nbsp;</span></p>
-<p id='t351' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; get rid of this!</span><span class='strut'>&nbsp;</span></p>
-<p id='t352' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t353' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; last line</span><span class='strut'>&nbsp;</span></p>
-<p id='t354' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t355' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t356' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>outfile</span> <span class='op'>=</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t357' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; first line</span><span class='strut'>&nbsp;</span></p>
-<p id='t358' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; hey: [[[cog cog.outl(&quot;hello %d&quot; % (3*3*3*3)) ]]] looky!</span><span class='strut'>&nbsp;</span></p>
-<p id='t359' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; hello 81</span><span class='strut'>&nbsp;</span></p>
-<p id='t360' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t361' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; last line</span><span class='strut'>&nbsp;</span></p>
-<p id='t362' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t363' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t364' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>infile</span> <span class='op'>=</span> <span class='nam'>reindentBlock</span><span class='op'>(</span><span class='nam'>infile</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t365' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>Cog</span><span class='op'>(</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>processString</span><span class='op'>(</span><span class='nam'>infile</span><span class='op'>)</span><span class='op'>,</span> <span class='nam'>reindentBlock</span><span class='op'>(</span><span class='nam'>outfile</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t366' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t367' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testInsideOutCompact</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t368' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>infile</span> <span class='op'>=</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t369' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; first line</span><span class='strut'>&nbsp;</span></p>
-<p id='t370' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; hey?: ]]] what is this? [[[cog strange!</span><span class='strut'>&nbsp;</span></p>
-<p id='t371' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; get rid of this!</span><span class='strut'>&nbsp;</span></p>
-<p id='t372' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t373' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; last line</span><span class='strut'>&nbsp;</span></p>
-<p id='t374' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t375' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertRaisesMsg</span><span class='op'>(</span><span class='nam'>CogError</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t376' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class='str'>&quot;infile.txt(2): Cog code markers inverted&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t377' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class='nam'>Cog</span><span class='op'>(</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>processString</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t378' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class='nam'>reindentBlock</span><span class='op'>(</span><span class='nam'>infile</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&quot;infile.txt&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t379' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t380' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testSharingGlobals</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t381' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>infile</span> <span class='op'>=</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t382' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; first line</span><span class='strut'>&nbsp;</span></p>
-<p id='t383' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; hey: [[[cog s=&quot;hey there&quot; ]]] looky!</span><span class='strut'>&nbsp;</span></p>
-<p id='t384' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t385' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; more literal junk.</span><span class='strut'>&nbsp;</span></p>
-<p id='t386' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[cog cog.outl(s) ]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t387' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t388' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; last line</span><span class='strut'>&nbsp;</span></p>
-<p id='t389' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t390' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t391' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>outfile</span> <span class='op'>=</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t392' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; first line</span><span class='strut'>&nbsp;</span></p>
-<p id='t393' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; hey: [[[cog s=&quot;hey there&quot; ]]] looky!</span><span class='strut'>&nbsp;</span></p>
-<p id='t394' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t395' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; more literal junk.</span><span class='strut'>&nbsp;</span></p>
-<p id='t396' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[cog cog.outl(s) ]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t397' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; hey there</span><span class='strut'>&nbsp;</span></p>
-<p id='t398' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t399' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; last line</span><span class='strut'>&nbsp;</span></p>
-<p id='t400' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t401' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t402' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>infile</span> <span class='op'>=</span> <span class='nam'>reindentBlock</span><span class='op'>(</span><span class='nam'>infile</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t403' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>Cog</span><span class='op'>(</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>processString</span><span class='op'>(</span><span class='nam'>infile</span><span class='op'>)</span><span class='op'>,</span> <span class='nam'>reindentBlock</span><span class='op'>(</span><span class='nam'>outfile</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t404' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t405' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testAssertInCogCode</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t406' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Check that we can test assertions in cog code in the test framework.</span><span class='strut'>&nbsp;</span></p>
-<p id='t407' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>infile</span> <span class='op'>=</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t408' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t409' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; assert 1 == 2, &quot;Oops&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t410' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t411' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t412' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t413' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>infile</span> <span class='op'>=</span> <span class='nam'>reindentBlock</span><span class='op'>(</span><span class='nam'>infile</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t414' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertRaisesMsg</span><span class='op'>(</span><span class='nam'>AssertionError</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t415' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;Oops&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t416' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>Cog</span><span class='op'>(</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>processString</span><span class='op'>,</span> <span class='op'>(</span><span class='nam'>infile</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t417' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t418' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t419' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testCogPrevious</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t420' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Check that we can access the previous run&#39;s output.</span><span class='strut'>&nbsp;</span></p>
-<p id='t421' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>infile</span> <span class='op'>=</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t422' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t423' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; assert cog.previous == &quot;Hello there!\\n&quot;, &quot;WTF??&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t424' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.out(cog.previous)</span><span class='strut'>&nbsp;</span></p>
-<p id='t425' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;Ran again!&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t426' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t427' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Hello there!</span><span class='strut'>&nbsp;</span></p>
-<p id='t428' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t429' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t430' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t431' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>outfile</span> <span class='op'>=</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t432' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t433' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; assert cog.previous == &quot;Hello there!\\n&quot;, &quot;WTF??&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t434' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.out(cog.previous)</span><span class='strut'>&nbsp;</span></p>
-<p id='t435' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;Ran again!&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t436' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t437' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Hello there!</span><span class='strut'>&nbsp;</span></p>
-<p id='t438' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Ran again!</span><span class='strut'>&nbsp;</span></p>
-<p id='t439' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t440' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t441' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t442' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>infile</span> <span class='op'>=</span> <span class='nam'>reindentBlock</span><span class='op'>(</span><span class='nam'>infile</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t443' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>Cog</span><span class='op'>(</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>processString</span><span class='op'>(</span><span class='nam'>infile</span><span class='op'>)</span><span class='op'>,</span> <span class='nam'>reindentBlock</span><span class='op'>(</span><span class='nam'>outfile</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t444' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t445' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>CogOptionsTests</span><span class='op'>(</span><span class='nam'>TestCase</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t446' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Test the CogOptions class.</span><span class='strut'>&nbsp;</span></p>
-<p id='t447' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t448' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t449' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testEquality</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t450' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>o</span> <span class='op'>=</span> <span class='nam'>CogOptions</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t451' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>p</span> <span class='op'>=</span> <span class='nam'>CogOptions</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t452' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>o</span><span class='op'>,</span> <span class='nam'>p</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t453' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>o</span><span class='op'>.</span><span class='nam'>parseArgs</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;-r&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t454' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertNotEqual</span><span class='op'>(</span><span class='nam'>o</span><span class='op'>,</span> <span class='nam'>p</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t455' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>p</span><span class='op'>.</span><span class='nam'>parseArgs</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;-r&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t456' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>o</span><span class='op'>,</span> <span class='nam'>p</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t457' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t458' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testCloning</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t459' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>o</span> <span class='op'>=</span> <span class='nam'>CogOptions</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t460' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>o</span><span class='op'>.</span><span class='nam'>parseArgs</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;-I&#39;</span><span class='op'>,</span> <span class='str'>&#39;fooey&#39;</span><span class='op'>,</span> <span class='str'>&#39;-I&#39;</span><span class='op'>,</span> <span class='str'>&#39;booey&#39;</span><span class='op'>,</span> <span class='str'>&#39;-s&#39;</span><span class='op'>,</span> <span class='str'>&#39; /*x*/&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t461' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>p</span> <span class='op'>=</span> <span class='nam'>o</span><span class='op'>.</span><span class='nam'>clone</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t462' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>o</span><span class='op'>,</span> <span class='nam'>p</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t463' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>p</span><span class='op'>.</span><span class='nam'>parseArgs</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;-I&#39;</span><span class='op'>,</span> <span class='str'>&#39;huey&#39;</span><span class='op'>,</span> <span class='str'>&#39;-D&#39;</span><span class='op'>,</span> <span class='str'>&#39;foo=quux&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t464' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertNotEqual</span><span class='op'>(</span><span class='nam'>o</span><span class='op'>,</span> <span class='nam'>p</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t465' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>q</span> <span class='op'>=</span> <span class='nam'>CogOptions</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t466' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>q</span><span class='op'>.</span><span class='nam'>parseArgs</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;-I&#39;</span><span class='op'>,</span> <span class='str'>&#39;fooey&#39;</span><span class='op'>,</span> <span class='str'>&#39;-I&#39;</span><span class='op'>,</span> <span class='str'>&#39;booey&#39;</span><span class='op'>,</span> <span class='str'>&#39;-s&#39;</span><span class='op'>,</span> <span class='str'>&#39; /*x*/&#39;</span><span class='op'>,</span> <span class='str'>&#39;-I&#39;</span><span class='op'>,</span> <span class='str'>&#39;huey&#39;</span><span class='op'>,</span> <span class='str'>&#39;-D&#39;</span><span class='op'>,</span> <span class='str'>&#39;foo=quux&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t467' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>p</span><span class='op'>,</span> <span class='nam'>q</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t468' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t469' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testCombiningFlags</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t470' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Single-character flags can be combined.</span><span class='strut'>&nbsp;</span></p>
-<p id='t471' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>o</span> <span class='op'>=</span> <span class='nam'>CogOptions</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t472' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>o</span><span class='op'>.</span><span class='nam'>parseArgs</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;-e&#39;</span><span class='op'>,</span> <span class='str'>&#39;-r&#39;</span><span class='op'>,</span> <span class='str'>&#39;-z&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t473' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>p</span> <span class='op'>=</span> <span class='nam'>CogOptions</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t474' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>p</span><span class='op'>.</span><span class='nam'>parseArgs</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;-erz&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t475' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>o</span><span class='op'>,</span> <span class='nam'>p</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t476' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t477' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>FileStructureTests</span><span class='op'>(</span><span class='nam'>TestCase</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t478' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Test cases to check that we&#39;re properly strict about the structure</span><span class='strut'>&nbsp;</span></p>
-<p id='t479' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; of files.</span><span class='strut'>&nbsp;</span></p>
-<p id='t480' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t481' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t482' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>isBad</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>infile</span><span class='op'>,</span> <span class='nam'>msg</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t483' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>infile</span> <span class='op'>=</span> <span class='nam'>reindentBlock</span><span class='op'>(</span><span class='nam'>infile</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t484' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertRaisesMsg</span><span class='op'>(</span><span class='nam'>CogError</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t485' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>msg</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t486' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>Cog</span><span class='op'>(</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>processString</span><span class='op'>,</span> <span class='op'>(</span><span class='nam'>infile</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&#39;infile.txt&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t487' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t488' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testBeginNoEnd</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t489' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>infile</span> <span class='op'>=</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t490' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Fooey</span><span class='strut'>&nbsp;</span></p>
-<p id='t491' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t492' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&#39;hello&#39;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t493' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t494' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>isBad</span><span class='op'>(</span><span class='nam'>infile</span><span class='op'>,</span> <span class='str'>&quot;infile.txt(2): Cog block begun but never ended.&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t495' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t496' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testNoEoo</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t497' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>infile</span> <span class='op'>=</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t498' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Fooey</span><span class='strut'>&nbsp;</span></p>
-<p id='t499' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t500' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&#39;hello&#39;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t501' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t502' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t503' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>isBad</span><span class='op'>(</span><span class='nam'>infile</span><span class='op'>,</span> <span class='str'>&quot;infile.txt(4): Missing &#39;[[[end]]]&#39; before end of file.&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t504' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t505' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>infile2</span> <span class='op'>=</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t506' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Fooey</span><span class='strut'>&nbsp;</span></p>
-<p id='t507' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t508' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&#39;hello&#39;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t509' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t510' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t511' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&#39;goodbye&#39;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t512' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t513' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t514' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>isBad</span><span class='op'>(</span><span class='nam'>infile2</span><span class='op'>,</span> <span class='str'>&quot;infile.txt(5): Unexpected &#39;[[[cog&#39;&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t515' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t516' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testStartWithEnd</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t517' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>infile</span> <span class='op'>=</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t518' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t519' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t520' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>isBad</span><span class='op'>(</span><span class='nam'>infile</span><span class='op'>,</span> <span class='str'>&quot;infile.txt(1): Unexpected &#39;]]]&#39;&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t521' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t522' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>infile2</span> <span class='op'>=</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t523' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t524' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&#39;hello&#39;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t525' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t526' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[end]]]&nbsp; &nbsp; </span><span class='strut'>&nbsp;</span></p>
-<p id='t527' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t528' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t529' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>isBad</span><span class='op'>(</span><span class='nam'>infile2</span><span class='op'>,</span> <span class='str'>&quot;infile.txt(5): Unexpected &#39;]]]&#39;&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t530' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t531' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testStartWithEoo</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t532' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>infile</span> <span class='op'>=</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t533' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t534' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t535' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>isBad</span><span class='op'>(</span><span class='nam'>infile</span><span class='op'>,</span> <span class='str'>&quot;infile.txt(1): Unexpected &#39;[[[end]]]&#39;&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t536' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t537' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>infile2</span> <span class='op'>=</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t538' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t539' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&#39;hello&#39;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t540' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t541' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t542' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t543' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t544' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>isBad</span><span class='op'>(</span><span class='nam'>infile2</span><span class='op'>,</span> <span class='str'>&quot;infile.txt(5): Unexpected &#39;[[[end]]]&#39;&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t545' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t546' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testNoEnd</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t547' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>infile</span> <span class='op'>=</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t548' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t549' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;hello&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t550' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t551' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t552' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>isBad</span><span class='op'>(</span><span class='nam'>infile</span><span class='op'>,</span> <span class='str'>&quot;infile.txt(3): Unexpected &#39;[[[end]]]&#39;&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t553' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t554' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>infile2</span> <span class='op'>=</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t555' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t556' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&#39;hello&#39;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t557' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t558' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t559' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t560' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;hello&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t561' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t562' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t563' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>isBad</span><span class='op'>(</span><span class='nam'>infile2</span><span class='op'>,</span> <span class='str'>&quot;infile.txt(7): Unexpected &#39;[[[end]]]&#39;&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t564' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t565' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testTwoBegins</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t566' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>infile</span> <span class='op'>=</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t567' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t568' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t569' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;hello&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t570' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t571' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t572' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t573' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>isBad</span><span class='op'>(</span><span class='nam'>infile</span><span class='op'>,</span> <span class='str'>&quot;infile.txt(2): Unexpected &#39;[[[cog&#39;&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t574' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t575' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>infile2</span> <span class='op'>=</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t576' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t577' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;hello&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t578' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t579' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t580' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t581' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t582' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;hello&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t583' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t584' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t585' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t586' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>isBad</span><span class='op'>(</span><span class='nam'>infile2</span><span class='op'>,</span> <span class='str'>&quot;infile.txt(6): Unexpected &#39;[[[cog&#39;&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t587' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t588' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testTwoEnds</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t589' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>infile</span> <span class='op'>=</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t590' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t591' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;hello&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t592' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t593' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t594' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t595' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t596' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>isBad</span><span class='op'>(</span><span class='nam'>infile</span><span class='op'>,</span> <span class='str'>&quot;infile.txt(4): Unexpected &#39;]]]&#39;&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t597' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t598' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>infile2</span> <span class='op'>=</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t599' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t600' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;hello&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t601' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t602' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t603' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t604' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;hello&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t605' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t606' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t607' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t608' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t609' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>isBad</span><span class='op'>(</span><span class='nam'>infile2</span><span class='op'>,</span> <span class='str'>&quot;infile.txt(8): Unexpected &#39;]]]&#39;&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t610' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t611' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>CogErrorTests</span><span class='op'>(</span><span class='nam'>TestCase</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t612' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Test cases for cog.error().</span><span class='strut'>&nbsp;</span></p>
-<p id='t613' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t614' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t615' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testErrorMsg</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t616' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>infile</span> <span class='op'>=</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t617' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[cog cog.error(&quot;This ain&#39;t right!&quot;)]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t618' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t619' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t620' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t621' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>infile</span> <span class='op'>=</span> <span class='nam'>reindentBlock</span><span class='op'>(</span><span class='nam'>infile</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t622' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertRaisesMsg</span><span class='op'>(</span><span class='nam'>CogGeneratedError</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t623' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;This ain&#39;t right!&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t624' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>Cog</span><span class='op'>(</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>processString</span><span class='op'>,</span> <span class='op'>(</span><span class='nam'>infile</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t625' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t626' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testErrorNoMsg</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t627' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>infile</span> <span class='op'>=</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t628' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[cog cog.error()]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t629' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t630' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t631' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t632' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>infile</span> <span class='op'>=</span> <span class='nam'>reindentBlock</span><span class='op'>(</span><span class='nam'>infile</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t633' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertRaisesMsg</span><span class='op'>(</span><span class='nam'>CogGeneratedError</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t634' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;Error raised by cog generator.&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t635' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>Cog</span><span class='op'>(</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>processString</span><span class='op'>,</span> <span class='op'>(</span><span class='nam'>infile</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t636' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t637' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testNoErrorIfErrorNotCalled</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t638' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>infile</span> <span class='op'>=</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t639' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t640' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --import cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t641' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --for i in range(3):</span><span class='strut'>&nbsp;</span></p>
-<p id='t642' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --&nbsp; &nbsp; if i &gt; 10:</span><span class='strut'>&nbsp;</span></p>
-<p id='t643' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --&nbsp; &nbsp; &nbsp; &nbsp; cog.error(&quot;Something is amiss!&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t644' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --&nbsp; &nbsp; cog.out(&quot;xx%d\\n&quot; % i)</span><span class='strut'>&nbsp;</span></p>
-<p id='t645' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t646' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; xx0</span><span class='strut'>&nbsp;</span></p>
-<p id='t647' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; xx1</span><span class='strut'>&nbsp;</span></p>
-<p id='t648' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; xx2</span><span class='strut'>&nbsp;</span></p>
-<p id='t649' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t650' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t651' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t652' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>infile</span> <span class='op'>=</span> <span class='nam'>reindentBlock</span><span class='op'>(</span><span class='nam'>infile</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t653' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>Cog</span><span class='op'>(</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>processString</span><span class='op'>(</span><span class='nam'>infile</span><span class='op'>)</span><span class='op'>,</span> <span class='nam'>infile</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t654' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t655' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>CogGeneratorGetCodeTests</span><span class='op'>(</span><span class='nam'>TestCase</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t656' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Unit tests against CogGenerator to see if its getCode() method works</span><span class='strut'>&nbsp;</span></p>
-<p id='t657' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; properly.</span><span class='strut'>&nbsp;</span></p>
-<p id='t658' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t659' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t660' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>setUp</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t661' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; All tests get a generator to use, and short same-length names for</span><span class='strut'>&nbsp;</span></p>
-<p id='t662' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; the functions we&#39;re going to use.</span><span class='strut'>&nbsp;</span></p>
-<p id='t663' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t664' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>gen</span> <span class='op'>=</span> <span class='nam'>CogGenerator</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t665' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>m</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>gen</span><span class='op'>.</span><span class='nam'>parseMarker</span><span class='strut'>&nbsp;</span></p>
-<p id='t666' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>l</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>gen</span><span class='op'>.</span><span class='nam'>parseLine</span><span class='strut'>&nbsp;</span></p>
-<p id='t667' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t668' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testEmpty</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t669' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>m</span><span class='op'>(</span><span class='str'>&#39;// [[[cog&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t670' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>m</span><span class='op'>(</span><span class='str'>&#39;// ]]]&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t671' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>gen</span><span class='op'>.</span><span class='nam'>getCode</span><span class='op'>(</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&#39;&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t672' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t673' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testSimple</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t674' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>m</span><span class='op'>(</span><span class='str'>&#39;// [[[cog&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t675' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>l</span><span class='op'>(</span><span class='str'>&#39;&nbsp; print &quot;hello&quot;&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t676' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>l</span><span class='op'>(</span><span class='str'>&#39;&nbsp; print &quot;bye&quot;&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t677' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>m</span><span class='op'>(</span><span class='str'>&#39;// ]]]&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t678' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>gen</span><span class='op'>.</span><span class='nam'>getCode</span><span class='op'>(</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&#39;print &quot;hello&quot;\nprint &quot;bye&quot;&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t679' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t680' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testCompressed1</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t681' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># For a while, I supported compressed code blocks, but no longer.</span><span class='strut'>&nbsp;</span></p>
-<p id='t682' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>m</span><span class='op'>(</span><span class='str'>&#39;// [[[cog: print &quot;&quot;&quot;&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t683' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>l</span><span class='op'>(</span><span class='str'>&#39;// hello&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t684' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>l</span><span class='op'>(</span><span class='str'>&#39;// bye&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t685' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>m</span><span class='op'>(</span><span class='str'>&#39;// &quot;&quot;&quot;)]]]&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t686' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>gen</span><span class='op'>.</span><span class='nam'>getCode</span><span class='op'>(</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&#39;hello\nbye&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t687' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t688' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testCompressed2</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t689' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># For a while, I supported compressed code blocks, but no longer.</span><span class='strut'>&nbsp;</span></p>
-<p id='t690' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>m</span><span class='op'>(</span><span class='str'>&#39;// [[[cog: print &quot;&quot;&quot;&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t691' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>l</span><span class='op'>(</span><span class='str'>&#39;hello&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t692' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>l</span><span class='op'>(</span><span class='str'>&#39;bye&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t693' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>m</span><span class='op'>(</span><span class='str'>&#39;// &quot;&quot;&quot;)]]]&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t694' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>gen</span><span class='op'>.</span><span class='nam'>getCode</span><span class='op'>(</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&#39;hello\nbye&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t695' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t696' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testCompressed3</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t697' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># For a while, I supported compressed code blocks, but no longer.</span><span class='strut'>&nbsp;</span></p>
-<p id='t698' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>m</span><span class='op'>(</span><span class='str'>&#39;// [[[cog&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t699' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>l</span><span class='op'>(</span><span class='str'>&#39;print &quot;&quot;&quot;hello&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t700' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>l</span><span class='op'>(</span><span class='str'>&#39;bye&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t701' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>m</span><span class='op'>(</span><span class='str'>&#39;// &quot;&quot;&quot;)]]]&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t702' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>gen</span><span class='op'>.</span><span class='nam'>getCode</span><span class='op'>(</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&#39;print &quot;&quot;&quot;hello\nbye&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t703' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t704' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testCompressed4</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t705' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># For a while, I supported compressed code blocks, but no longer.</span><span class='strut'>&nbsp;</span></p>
-<p id='t706' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>m</span><span class='op'>(</span><span class='str'>&#39;// [[[cog: print &quot;&quot;&quot;&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t707' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>l</span><span class='op'>(</span><span class='str'>&#39;hello&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t708' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>l</span><span class='op'>(</span><span class='str'>&#39;bye&quot;&quot;&quot;)&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t709' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>m</span><span class='op'>(</span><span class='str'>&#39;// ]]]&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t710' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>gen</span><span class='op'>.</span><span class='nam'>getCode</span><span class='op'>(</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&#39;hello\nbye&quot;&quot;&quot;)&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t711' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t712' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testNoCommonPrefixForMarkers</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t713' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># It&#39;s important to be able to use #if 0 to hide lines from a</span><span class='strut'>&nbsp;</span></p>
-<p id='t714' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># C++ compiler.</span><span class='strut'>&nbsp;</span></p>
-<p id='t715' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>m</span><span class='op'>(</span><span class='str'>&#39;#if 0 //[[[cog&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t716' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>l</span><span class='op'>(</span><span class='str'>&#39;\timport cog, sys&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t717' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>l</span><span class='op'>(</span><span class='str'>&#39;&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t718' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>l</span><span class='op'>(</span><span class='str'>&#39;\tprint sys.argv&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t719' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>m</span><span class='op'>(</span><span class='str'>&#39;#endif //]]]&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t720' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>gen</span><span class='op'>.</span><span class='nam'>getCode</span><span class='op'>(</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&#39;import cog, sys\n\nprint sys.argv&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t721' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t722' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>TestCaseWithTempDir</span><span class='op'>(</span><span class='nam'>TestCase</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t723' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t724' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>newCog</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t725' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Initialize the cog members for another run.</span><span class='strut'>&nbsp;</span></p>
-<p id='t726' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t727' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Create a cog engine, and catch its output.</span><span class='strut'>&nbsp;</span></p>
-<p id='t728' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span> <span class='op'>=</span> <span class='nam'>Cog</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t729' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>output</span> <span class='op'>=</span> <span class='nam'>StringIO</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t730' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>setOutput</span><span class='op'>(</span><span class='nam'>stdout</span><span class='op'>=</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>output</span><span class='op'>,</span> <span class='nam'>stderr</span><span class='op'>=</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>output</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t731' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t732' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>setUp</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t733' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Create a temporary directory.</span><span class='strut'>&nbsp;</span></p>
-<p id='t734' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>tempdir</span> <span class='op'>=</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>join</span><span class='op'>(</span><span class='nam'>tempfile</span><span class='op'>.</span><span class='nam'>gettempdir</span><span class='op'>(</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&#39;testcog_tempdir_&#39;</span> <span class='op'>+</span> <span class='nam'>str</span><span class='op'>(</span><span class='nam'>random</span><span class='op'>.</span><span class='nam'>random</span><span class='op'>(</span><span class='op'>)</span><span class='op'>)</span><span class='op'>[</span><span class='num'>2</span><span class='op'>:</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t735' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>os</span><span class='op'>.</span><span class='nam'>mkdir</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>tempdir</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t736' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>olddir</span> <span class='op'>=</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>getcwd</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t737' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>os</span><span class='op'>.</span><span class='nam'>chdir</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>tempdir</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t738' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>newCog</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t739' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t740' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>tearDown</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t741' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>os</span><span class='op'>.</span><span class='nam'>chdir</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>olddir</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t742' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Get rid of the temporary directory.</span><span class='strut'>&nbsp;</span></p>
-<p id='t743' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>shutil</span><span class='op'>.</span><span class='nam'>rmtree</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>tempdir</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t744' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t745' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>assertFilesSame</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>sFName1</span><span class='op'>,</span> <span class='nam'>sFName2</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t746' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>text1</span> <span class='op'>=</span> <span class='nam'>open</span><span class='op'>(</span><span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>join</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>tempdir</span><span class='op'>,</span> <span class='nam'>sFName1</span><span class='op'>)</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>read</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t747' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>text2</span> <span class='op'>=</span> <span class='nam'>open</span><span class='op'>(</span><span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>join</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>tempdir</span><span class='op'>,</span> <span class='nam'>sFName2</span><span class='op'>)</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>read</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t748' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>text1</span><span class='op'>,</span> <span class='nam'>text2</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t749' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t750' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>assertFileContent</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>sFName</span><span class='op'>,</span> <span class='nam'>sContent</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t751' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>sAbsName</span> <span class='op'>=</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>join</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>tempdir</span><span class='op'>,</span> <span class='nam'>sFName</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t752' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>f</span> <span class='op'>=</span> <span class='nam'>open</span><span class='op'>(</span><span class='nam'>sAbsName</span><span class='op'>,</span> <span class='str'>&#39;rb&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t753' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t754' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>sFileContent</span> <span class='op'>=</span> <span class='nam'>f</span><span class='op'>.</span><span class='nam'>read</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t755' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>finally</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t756' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>f</span><span class='op'>.</span><span class='nam'>close</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t757' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>sFileContent</span><span class='op'>,</span> <span class='nam'>to_bytes</span><span class='op'>(</span><span class='nam'>sContent</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t758' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t759' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t760' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>ArgumentHandlingTests</span><span class='op'>(</span><span class='nam'>TestCaseWithTempDir</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t761' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t762' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testArgumentFailure</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t763' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Return value 2 means usage problem.</span><span class='strut'>&nbsp;</span></p>
-<p id='t764' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>assert</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>main</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-j&#39;</span><span class='op'>]</span><span class='op'>)</span> <span class='op'>==</span> <span class='num'>2</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t765' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>output</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>output</span><span class='op'>.</span><span class='nam'>getvalue</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t766' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>assert</span><span class='op'>(</span><span class='nam'>output</span><span class='op'>.</span><span class='nam'>find</span><span class='op'>(</span><span class='str'>&quot;option -j not recognized&quot;</span><span class='op'>)</span> <span class='op'>&gt;=</span> <span class='num'>0</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t767' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertRaises</span><span class='op'>(</span><span class='nam'>CogUsageError</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>,</span> <span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t768' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertRaises</span><span class='op'>(</span><span class='nam'>CogUsageError</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>,</span> <span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-j&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t769' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t770' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testNoDashOAndAtFile</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t771' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>d</span> <span class='op'>=</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t772' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;cogfiles.txt&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t773' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # Please run cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t774' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t775' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t776' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t777' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>makeFiles</span><span class='op'>(</span><span class='nam'>d</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t778' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertRaises</span><span class='op'>(</span><span class='nam'>CogUsageError</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>,</span> <span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-o&#39;</span><span class='op'>,</span> <span class='str'>&#39;foo&#39;</span><span class='op'>,</span> <span class='str'>&#39;@cogfiles.txt&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t779' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t780' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testDashV</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t781' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>assert</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>main</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-v&#39;</span><span class='op'>]</span><span class='op'>)</span> <span class='op'>==</span> <span class='num'>0</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t782' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>output</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>output</span><span class='op'>.</span><span class='nam'>getvalue</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t783' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='str'>&#39;Cog version %s\n&#39;</span> <span class='op'>%</span> <span class='nam'>__version__</span><span class='op'>,</span> <span class='nam'>output</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t784' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t785' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>producesHelp</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>args</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t786' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>newCog</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t787' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>argv</span> <span class='op'>=</span> <span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>]</span> <span class='op'>+</span> <span class='nam'>args</span><span class='op'>.</span><span class='nam'>split</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t788' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>assert</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>main</span><span class='op'>(</span><span class='nam'>argv</span><span class='op'>)</span> <span class='op'>==</span> <span class='num'>0</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t789' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEquals</span><span class='op'>(</span><span class='nam'>usage</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>output</span><span class='op'>.</span><span class='nam'>getvalue</span><span class='op'>(</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t790' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t791' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testDashH</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t792' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># -h or -? anywhere on the command line should just print help.</span><span class='strut'>&nbsp;</span></p>
-<p id='t793' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>producesHelp</span><span class='op'>(</span><span class='str'>&quot;-h&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t794' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>producesHelp</span><span class='op'>(</span><span class='str'>&quot;-?&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t795' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>producesHelp</span><span class='op'>(</span><span class='str'>&quot;fooey.txt -h&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t796' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>producesHelp</span><span class='op'>(</span><span class='str'>&quot;-o -r @fooey.txt -? @booey.txt&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t797' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t798' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testDashOAndDashR</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t799' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>d</span> <span class='op'>=</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t800' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;cogfile.txt&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t801' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # Please run cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t802' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t803' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t804' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t805' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>makeFiles</span><span class='op'>(</span><span class='nam'>d</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t806' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertRaises</span><span class='op'>(</span><span class='nam'>CogUsageError</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>,</span> <span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-o&#39;</span><span class='op'>,</span> <span class='str'>&#39;foo&#39;</span><span class='op'>,</span> <span class='str'>&#39;-r&#39;</span><span class='op'>,</span> <span class='str'>&#39;cogfile.txt&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t807' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t808' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testDashZ</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t809' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>d</span> <span class='op'>=</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t810' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;test.cog&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t811' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // This is my C++ file.</span><span class='strut'>&nbsp;</span></p>
-<p id='t812' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t813' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fnames = [&#39;DoSomething&#39;, &#39;DoAnotherThing&#39;, &#39;DoLastThing&#39;]</span><span class='strut'>&nbsp;</span></p>
-<p id='t814' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for fn in fnames:</span><span class='strut'>&nbsp;</span></p>
-<p id='t815' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;void %s();&quot; % fn)</span><span class='strut'>&nbsp;</span></p>
-<p id='t816' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t817' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t818' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t819' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;test.out&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t820' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // This is my C++ file.</span><span class='strut'>&nbsp;</span></p>
-<p id='t821' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t822' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fnames = [&#39;DoSomething&#39;, &#39;DoAnotherThing&#39;, &#39;DoLastThing&#39;]</span><span class='strut'>&nbsp;</span></p>
-<p id='t823' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for fn in fnames:</span><span class='strut'>&nbsp;</span></p>
-<p id='t824' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;void %s();&quot; % fn)</span><span class='strut'>&nbsp;</span></p>
-<p id='t825' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t826' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; void DoSomething();</span><span class='strut'>&nbsp;</span></p>
-<p id='t827' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; void DoAnotherThing();</span><span class='strut'>&nbsp;</span></p>
-<p id='t828' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; void DoLastThing();</span><span class='strut'>&nbsp;</span></p>
-<p id='t829' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t830' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t831' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t832' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>makeFiles</span><span class='op'>(</span><span class='nam'>d</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t833' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertRaisesMsg</span><span class='op'>(</span><span class='strut'>&nbsp;</span></p>
-<p id='t834' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>CogError</span><span class='op'>,</span> <span class='str'>&quot;test.cog(6): Missing &#39;[[[end]]]&#39; before end of file.&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t835' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>,</span> <span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-r&#39;</span><span class='op'>,</span> <span class='str'>&#39;test.cog&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t836' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>newCog</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t837' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-r&#39;</span><span class='op'>,</span> <span class='str'>&#39;-z&#39;</span><span class='op'>,</span> <span class='str'>&#39;test.cog&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t838' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertFilesSame</span><span class='op'>(</span><span class='str'>&#39;test.cog&#39;</span><span class='op'>,</span> <span class='str'>&#39;test.out&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t839' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t840' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testBadDashD</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t841' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertRaises</span><span class='op'>(</span><span class='nam'>CogUsageError</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>,</span> <span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-Dfooey&#39;</span><span class='op'>,</span> <span class='str'>&#39;cog.txt&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t842' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertRaises</span><span class='op'>(</span><span class='nam'>CogUsageError</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>,</span> <span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-D&#39;</span><span class='op'>,</span> <span class='str'>&#39;fooey&#39;</span><span class='op'>,</span> <span class='str'>&#39;cog.txt&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t843' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t844' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t845' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>TestFileHandling</span><span class='op'>(</span><span class='nam'>TestCaseWithTempDir</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t846' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t847' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testSimple</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t848' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>d</span> <span class='op'>=</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t849' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;test.cog&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t850' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // This is my C++ file.</span><span class='strut'>&nbsp;</span></p>
-<p id='t851' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t852' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fnames = [&#39;DoSomething&#39;, &#39;DoAnotherThing&#39;, &#39;DoLastThing&#39;]</span><span class='strut'>&nbsp;</span></p>
-<p id='t853' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for fn in fnames:</span><span class='strut'>&nbsp;</span></p>
-<p id='t854' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;void %s();&quot; % fn)</span><span class='strut'>&nbsp;</span></p>
-<p id='t855' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t856' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t857' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t858' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t859' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;test.out&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t860' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // This is my C++ file.</span><span class='strut'>&nbsp;</span></p>
-<p id='t861' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t862' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fnames = [&#39;DoSomething&#39;, &#39;DoAnotherThing&#39;, &#39;DoLastThing&#39;]</span><span class='strut'>&nbsp;</span></p>
-<p id='t863' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for fn in fnames:</span><span class='strut'>&nbsp;</span></p>
-<p id='t864' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;void %s();&quot; % fn)</span><span class='strut'>&nbsp;</span></p>
-<p id='t865' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t866' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; void DoSomething();</span><span class='strut'>&nbsp;</span></p>
-<p id='t867' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; void DoAnotherThing();</span><span class='strut'>&nbsp;</span></p>
-<p id='t868' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; void DoLastThing();</span><span class='strut'>&nbsp;</span></p>
-<p id='t869' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t870' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t871' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t872' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t873' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>makeFiles</span><span class='op'>(</span><span class='nam'>d</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t874' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-r&#39;</span><span class='op'>,</span> <span class='str'>&#39;test.cog&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t875' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertFilesSame</span><span class='op'>(</span><span class='str'>&#39;test.cog&#39;</span><span class='op'>,</span> <span class='str'>&#39;test.out&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t876' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>output</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>output</span><span class='op'>.</span><span class='nam'>getvalue</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t877' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>assert</span><span class='op'>(</span><span class='nam'>output</span><span class='op'>.</span><span class='nam'>find</span><span class='op'>(</span><span class='str'>&quot;(changed)&quot;</span><span class='op'>)</span> <span class='op'>&gt;=</span> <span class='num'>0</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t878' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t879' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testOutputFile</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t880' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># -o sets the output file.</span><span class='strut'>&nbsp;</span></p>
-<p id='t881' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>d</span> <span class='op'>=</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t882' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;test.cog&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t883' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // This is my C++ file.</span><span class='strut'>&nbsp;</span></p>
-<p id='t884' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t885' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fnames = [&#39;DoSomething&#39;, &#39;DoAnotherThing&#39;, &#39;DoLastThing&#39;]</span><span class='strut'>&nbsp;</span></p>
-<p id='t886' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for fn in fnames:</span><span class='strut'>&nbsp;</span></p>
-<p id='t887' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;void %s();&quot; % fn)</span><span class='strut'>&nbsp;</span></p>
-<p id='t888' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t889' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t890' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t891' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t892' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;test.out&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t893' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // This is my C++ file.</span><span class='strut'>&nbsp;</span></p>
-<p id='t894' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t895' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fnames = [&#39;DoSomething&#39;, &#39;DoAnotherThing&#39;, &#39;DoLastThing&#39;]</span><span class='strut'>&nbsp;</span></p>
-<p id='t896' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for fn in fnames:</span><span class='strut'>&nbsp;</span></p>
-<p id='t897' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;void %s();&quot; % fn)</span><span class='strut'>&nbsp;</span></p>
-<p id='t898' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t899' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; void DoSomething();</span><span class='strut'>&nbsp;</span></p>
-<p id='t900' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; void DoAnotherThing();</span><span class='strut'>&nbsp;</span></p>
-<p id='t901' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; void DoLastThing();</span><span class='strut'>&nbsp;</span></p>
-<p id='t902' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t903' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t904' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t905' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t906' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>makeFiles</span><span class='op'>(</span><span class='nam'>d</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t907' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-o&#39;</span><span class='op'>,</span> <span class='str'>&#39;test.cogged&#39;</span><span class='op'>,</span> <span class='str'>&#39;test.cog&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t908' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertFilesSame</span><span class='op'>(</span><span class='str'>&#39;test.cogged&#39;</span><span class='op'>,</span> <span class='str'>&#39;test.out&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t909' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t910' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testAtFile</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t911' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>d</span> <span class='op'>=</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t912' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;one.cog&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t913' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t914' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;hello world&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t915' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t916' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t917' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t918' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t919' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;one.out&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t920' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t921' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;hello world&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t922' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t923' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; hello world</span><span class='strut'>&nbsp;</span></p>
-<p id='t924' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t925' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t926' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t927' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;two.cog&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t928' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t929' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;goodbye cruel world&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t930' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t931' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t932' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t933' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t934' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;two.out&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t935' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t936' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;goodbye cruel world&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t937' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t938' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; goodbye cruel world</span><span class='strut'>&nbsp;</span></p>
-<p id='t939' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t940' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t941' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t942' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;cogfiles.txt&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t943' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # Please run cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t944' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; one.cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t945' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span class='strut'>&nbsp;</span></p>
-<p id='t946' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; two.cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t947' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t948' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t949' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t950' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>makeFiles</span><span class='op'>(</span><span class='nam'>d</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t951' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-r&#39;</span><span class='op'>,</span> <span class='str'>&#39;@cogfiles.txt&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t952' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertFilesSame</span><span class='op'>(</span><span class='str'>&#39;one.cog&#39;</span><span class='op'>,</span> <span class='str'>&#39;one.out&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t953' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertFilesSame</span><span class='op'>(</span><span class='str'>&#39;two.cog&#39;</span><span class='op'>,</span> <span class='str'>&#39;two.out&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t954' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>output</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>output</span><span class='op'>.</span><span class='nam'>getvalue</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t955' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>assert</span><span class='op'>(</span><span class='nam'>output</span><span class='op'>.</span><span class='nam'>find</span><span class='op'>(</span><span class='str'>&quot;(changed)&quot;</span><span class='op'>)</span> <span class='op'>&gt;=</span> <span class='num'>0</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t956' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t957' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testNestedAtFile</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t958' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>d</span> <span class='op'>=</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t959' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;one.cog&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t960' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t961' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;hello world&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t962' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t963' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t964' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t965' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t966' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;one.out&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t967' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t968' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;hello world&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t969' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t970' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; hello world</span><span class='strut'>&nbsp;</span></p>
-<p id='t971' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t972' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t973' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t974' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;two.cog&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t975' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t976' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;goodbye cruel world&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t977' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t978' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t979' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t980' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t981' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;two.out&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t982' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t983' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;goodbye cruel world&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t984' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t985' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; goodbye cruel world</span><span class='strut'>&nbsp;</span></p>
-<p id='t986' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t987' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t988' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t989' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;cogfiles.txt&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t990' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # Please run cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t991' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; one.cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t992' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; @cogfiles2.txt</span><span class='strut'>&nbsp;</span></p>
-<p id='t993' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t994' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t995' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;cogfiles2.txt&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t996' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # This one too, please.</span><span class='strut'>&nbsp;</span></p>
-<p id='t997' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; two.cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t998' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t999' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t1000' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1001' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>makeFiles</span><span class='op'>(</span><span class='nam'>d</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1002' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-r&#39;</span><span class='op'>,</span> <span class='str'>&#39;@cogfiles.txt&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1003' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertFilesSame</span><span class='op'>(</span><span class='str'>&#39;one.cog&#39;</span><span class='op'>,</span> <span class='str'>&#39;one.out&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1004' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertFilesSame</span><span class='op'>(</span><span class='str'>&#39;two.cog&#39;</span><span class='op'>,</span> <span class='str'>&#39;two.out&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1005' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>output</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>output</span><span class='op'>.</span><span class='nam'>getvalue</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1006' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>assert</span><span class='op'>(</span><span class='nam'>output</span><span class='op'>.</span><span class='nam'>find</span><span class='op'>(</span><span class='str'>&quot;(changed)&quot;</span><span class='op'>)</span> <span class='op'>&gt;=</span> <span class='num'>0</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1007' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1008' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testAtFileWithArgs</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t1009' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>d</span> <span class='op'>=</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t1010' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;both.cog&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1011' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t1012' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;one: %s&quot; % (&#39;one&#39; in globals()))</span><span class='strut'>&nbsp;</span></p>
-<p id='t1013' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;two: %s&quot; % (&#39;two&#39; in globals()))</span><span class='strut'>&nbsp;</span></p>
-<p id='t1014' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1015' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1016' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1017' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1018' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;one.out&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1019' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t1020' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;one: %s&quot; % (&#39;one&#39; in globals()))</span><span class='strut'>&nbsp;</span></p>
-<p id='t1021' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;two: %s&quot; % (&#39;two&#39; in globals()))</span><span class='strut'>&nbsp;</span></p>
-<p id='t1022' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1023' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; one: True // ONE</span><span class='strut'>&nbsp;</span></p>
-<p id='t1024' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; two: False // ONE</span><span class='strut'>&nbsp;</span></p>
-<p id='t1025' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1026' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1027' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1028' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;two.out&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1029' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t1030' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;one: %s&quot; % (&#39;one&#39; in globals()))</span><span class='strut'>&nbsp;</span></p>
-<p id='t1031' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;two: %s&quot; % (&#39;two&#39; in globals()))</span><span class='strut'>&nbsp;</span></p>
-<p id='t1032' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1033' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; one: False // TWO</span><span class='strut'>&nbsp;</span></p>
-<p id='t1034' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; two: True // TWO</span><span class='strut'>&nbsp;</span></p>
-<p id='t1035' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1036' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1037' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1038' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;cogfiles.txt&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1039' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # Please run cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t1040' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; both.cog -o both.one -s &#39; // ONE&#39; -D one=x</span><span class='strut'>&nbsp;</span></p>
-<p id='t1041' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; both.cog -o both.two -s &#39; // TWO&#39; -D two=x</span><span class='strut'>&nbsp;</span></p>
-<p id='t1042' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t1043' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t1044' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1045' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>makeFiles</span><span class='op'>(</span><span class='nam'>d</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1046' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;@cogfiles.txt&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1047' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertFilesSame</span><span class='op'>(</span><span class='str'>&#39;both.one&#39;</span><span class='op'>,</span> <span class='str'>&#39;one.out&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1048' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertFilesSame</span><span class='op'>(</span><span class='str'>&#39;both.two&#39;</span><span class='op'>,</span> <span class='str'>&#39;two.out&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1049' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1050' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testAtFileWithBadArgCombo</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t1051' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>d</span> <span class='op'>=</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t1052' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;both.cog&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1053' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t1054' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;one: %s&quot; % (&#39;one&#39; in globals()))</span><span class='strut'>&nbsp;</span></p>
-<p id='t1055' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;two: %s&quot; % (&#39;two&#39; in globals()))</span><span class='strut'>&nbsp;</span></p>
-<p id='t1056' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1057' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1058' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1059' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1060' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;cogfiles.txt&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1061' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # Please run cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t1062' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; both.cog </span><span class='strut'>&nbsp;</span></p>
-<p id='t1063' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; both.cog -d # This is bad: -r and -d</span><span class='strut'>&nbsp;</span></p>
-<p id='t1064' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t1065' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t1066' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1067' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>makeFiles</span><span class='op'>(</span><span class='nam'>d</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1068' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertRaises</span><span class='op'>(</span><span class='nam'>CogUsageError</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>,</span> <span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-r&#39;</span><span class='op'>,</span> <span class='str'>&#39;@cogfiles.txt&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1069' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1070' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testAtFileWithTrickyFilenames</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t1071' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>d</span> <span class='op'>=</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t1072' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;one 1.cog&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1073' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog cog.outl(&quot;hello world&quot;) ]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1074' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1075' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1076' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;one.out&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1077' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog cog.outl(&quot;hello world&quot;) ]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1078' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; hello world //xxx</span><span class='strut'>&nbsp;</span></p>
-<p id='t1079' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1080' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1081' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;subdir&#39;</span><span class='op'>:</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t1082' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;subback.cog&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1083' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog cog.outl(&quot;down deep with backslashes&quot;) ]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1084' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1085' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1086' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;subfwd.cog&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1087' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog cog.outl(&quot;down deep with slashes&quot;) ]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1088' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1089' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>}</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1090' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1091' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;subback.out&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1092' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog cog.outl(&quot;down deep with backslashes&quot;) ]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1093' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; down deep with backslashes //yyy</span><span class='strut'>&nbsp;</span></p>
-<p id='t1094' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1095' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1096' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;subfwd.out&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1097' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog cog.outl(&quot;down deep with slashes&quot;) ]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1098' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; down deep with slashes //zzz</span><span class='strut'>&nbsp;</span></p>
-<p id='t1099' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1100' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1101' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;cogfiles.txt&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1102' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # Please run cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t1103' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#39;one 1.cog&#39; -s &#39; //xxx&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t1104' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; subdir\subback.cog -s &#39; //yyy&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t1105' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; subdir/subfwd.cog -s &#39; //zzz&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t1106' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t1107' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t1108' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1109' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>makeFiles</span><span class='op'>(</span><span class='nam'>d</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1110' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-z&#39;</span><span class='op'>,</span> <span class='str'>&#39;-r&#39;</span><span class='op'>,</span> <span class='str'>&#39;@cogfiles.txt&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1111' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertFilesSame</span><span class='op'>(</span><span class='str'>&#39;one 1.cog&#39;</span><span class='op'>,</span> <span class='str'>&#39;one.out&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1112' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertFilesSame</span><span class='op'>(</span><span class='str'>&#39;subdir/subback.cog&#39;</span><span class='op'>,</span> <span class='str'>&#39;subback.out&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1113' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertFilesSame</span><span class='op'>(</span><span class='str'>&#39;subdir/subfwd.cog&#39;</span><span class='op'>,</span> <span class='str'>&#39;subfwd.out&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1114' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1115' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1116' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>CogTestLineEndings</span><span class='op'>(</span><span class='nam'>TestCaseWithTempDir</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t1117' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;Tests for -U option (force LF line-endings in output).&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t1118' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1119' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>lines_in</span> <span class='op'>=</span> <span class='op'>[</span><span class='str'>&#39;Some text.&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1120' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;//[[[cog&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1121' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;cog.outl(&quot;Cog text&quot;)&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1122' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;//]]]&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1123' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;gobbledegook.&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1124' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;//[[[end]]]&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1125' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;epilogue.&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1126' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;&#39;</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1127' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1128' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>lines_out</span> <span class='op'>=</span> <span class='op'>[</span><span class='str'>&#39;Some text.&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1129' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class='str'>&#39;//[[[cog&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1130' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class='str'>&#39;cog.outl(&quot;Cog text&quot;)&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1131' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class='str'>&#39;//]]]&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1132' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class='str'>&#39;Cog text&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1133' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class='str'>&#39;//[[[end]]]&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1134' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class='str'>&#39;epilogue.&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1135' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class='str'>&#39;&#39;</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1136' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1137' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testOutputNativeEol</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t1138' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>makeFiles</span><span class='op'>(</span><span class='op'>{</span><span class='str'>&#39;infile&#39;</span><span class='op'>:</span> <span class='str'>&#39;\n&#39;</span><span class='op'>.</span><span class='nam'>join</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>lines_in</span><span class='op'>)</span><span class='op'>}</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1139' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-o&#39;</span><span class='op'>,</span> <span class='str'>&#39;outfile&#39;</span><span class='op'>,</span> <span class='str'>&#39;infile&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1140' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertFileContent</span><span class='op'>(</span><span class='str'>&#39;outfile&#39;</span><span class='op'>,</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>linesep</span><span class='op'>.</span><span class='nam'>join</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>lines_out</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1141' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1142' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testOutputLfEol</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t1143' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>makeFiles</span><span class='op'>(</span><span class='op'>{</span><span class='str'>&#39;infile&#39;</span><span class='op'>:</span> <span class='str'>&#39;\n&#39;</span><span class='op'>.</span><span class='nam'>join</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>lines_in</span><span class='op'>)</span><span class='op'>}</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1144' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-U&#39;</span><span class='op'>,</span> <span class='str'>&#39;-o&#39;</span><span class='op'>,</span> <span class='str'>&#39;outfile&#39;</span><span class='op'>,</span> <span class='str'>&#39;infile&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1145' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertFileContent</span><span class='op'>(</span><span class='str'>&#39;outfile&#39;</span><span class='op'>,</span> <span class='str'>&#39;\n&#39;</span><span class='op'>.</span><span class='nam'>join</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>lines_out</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1146' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1147' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testReplaceNativeEol</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t1148' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>makeFiles</span><span class='op'>(</span><span class='op'>{</span><span class='str'>&#39;test.cog&#39;</span><span class='op'>:</span> <span class='str'>&#39;\n&#39;</span><span class='op'>.</span><span class='nam'>join</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>lines_in</span><span class='op'>)</span><span class='op'>}</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1149' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-r&#39;</span><span class='op'>,</span> <span class='str'>&#39;test.cog&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1150' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertFileContent</span><span class='op'>(</span><span class='str'>&#39;test.cog&#39;</span><span class='op'>,</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>linesep</span><span class='op'>.</span><span class='nam'>join</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>lines_out</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1151' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1152' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testReplaceLfEol</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t1153' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>makeFiles</span><span class='op'>(</span><span class='op'>{</span><span class='str'>&#39;test.cog&#39;</span><span class='op'>:</span> <span class='str'>&#39;\n&#39;</span><span class='op'>.</span><span class='nam'>join</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>lines_in</span><span class='op'>)</span><span class='op'>}</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1154' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-U&#39;</span><span class='op'>,</span> <span class='str'>&#39;-r&#39;</span><span class='op'>,</span> <span class='str'>&#39;test.cog&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1155' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertFileContent</span><span class='op'>(</span><span class='str'>&#39;test.cog&#39;</span><span class='op'>,</span> <span class='str'>&#39;\n&#39;</span><span class='op'>.</span><span class='nam'>join</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>lines_out</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1156' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1157' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1158' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>CogTestCharacterEncoding</span><span class='op'>(</span><span class='nam'>TestCaseWithTempDir</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t1159' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1160' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testSimple</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t1161' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>d</span> <span class='op'>=</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t1162' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;test.cog&#39;</span><span class='op'>:</span> <span class='nam'>b</span><span class='op'>(</span><span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1163' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // This is my C++ file.</span><span class='strut'>&nbsp;</span></p>
-<p id='t1164' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t1165' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;// Unicode: \xe1\x88\xb4 (U+1234)&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1166' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1167' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1168' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>)</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1169' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1170' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;test.out&#39;</span><span class='op'>:</span> <span class='nam'>b</span><span class='op'>(</span><span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1171' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // This is my C++ file.</span><span class='strut'>&nbsp;</span></p>
-<p id='t1172' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t1173' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;// Unicode: \xe1\x88\xb4 (U+1234)&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1174' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1175' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // Unicode: \xe1\x88\xb4 (U+1234)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1176' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1177' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>)</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1178' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t1179' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1180' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>makeFiles</span><span class='op'>(</span><span class='nam'>d</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1181' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-r&#39;</span><span class='op'>,</span> <span class='str'>&#39;test.cog&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1182' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertFilesSame</span><span class='op'>(</span><span class='str'>&#39;test.cog&#39;</span><span class='op'>,</span> <span class='str'>&#39;test.out&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1183' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>output</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>output</span><span class='op'>.</span><span class='nam'>getvalue</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1184' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>assert</span><span class='op'>(</span><span class='nam'>output</span><span class='op'>.</span><span class='nam'>find</span><span class='op'>(</span><span class='str'>&quot;(changed)&quot;</span><span class='op'>)</span> <span class='op'>&gt;=</span> <span class='num'>0</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1185' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1186' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1187' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>TestCaseWithImports</span><span class='op'>(</span><span class='nam'>TestCaseWithTempDir</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t1188' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; When running tests which import modules, the sys.modules list</span><span class='strut'>&nbsp;</span></p>
-<p id='t1189' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; leaks from one test to the next.&nbsp; This test case class scrubs</span><span class='strut'>&nbsp;</span></p>
-<p id='t1190' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; the list after each run to keep the tests isolated from each other.</span><span class='strut'>&nbsp;</span></p>
-<p id='t1191' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t1192' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1193' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>setUp</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t1194' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>TestCaseWithTempDir</span><span class='op'>.</span><span class='nam'>setUp</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1195' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>sysmodulekeys</span> <span class='op'>=</span> <span class='nam'>list</span><span class='op'>(</span><span class='nam'>sys</span><span class='op'>.</span><span class='nam'>modules</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1196' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1197' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>tearDown</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t1198' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>modstoscrub</span> <span class='op'>=</span> <span class='op'>[</span><span class='strut'>&nbsp;</span></p>
-<p id='t1199' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>modname</span><span class='strut'>&nbsp;</span></p>
-<p id='t1200' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>modname</span> <span class='key'>in</span> <span class='nam'>sys</span><span class='op'>.</span><span class='nam'>modules</span><span class='strut'>&nbsp;</span></p>
-<p id='t1201' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>modname</span> <span class='key'>not</span> <span class='key'>in</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>sysmodulekeys</span><span class='strut'>&nbsp;</span></p>
-<p id='t1202' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1203' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>modname</span> <span class='key'>in</span> <span class='nam'>modstoscrub</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t1204' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>del</span> <span class='nam'>sys</span><span class='op'>.</span><span class='nam'>modules</span><span class='op'>[</span><span class='nam'>modname</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1205' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>TestCaseWithTempDir</span><span class='op'>.</span><span class='nam'>tearDown</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1206' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1207' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1208' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>CogIncludeTests</span><span class='op'>(</span><span class='nam'>TestCaseWithImports</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t1209' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>dincludes</span> <span class='op'>=</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t1210' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;test.cog&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1211' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t1212' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; import mymodule</span><span class='strut'>&nbsp;</span></p>
-<p id='t1213' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1214' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1215' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1216' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1217' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;test.out&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1218' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t1219' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; import mymodule</span><span class='strut'>&nbsp;</span></p>
-<p id='t1220' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1221' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Hello from mymodule</span><span class='strut'>&nbsp;</span></p>
-<p id='t1222' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1223' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1224' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1225' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;test2.out&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1226' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t1227' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; import mymodule</span><span class='strut'>&nbsp;</span></p>
-<p id='t1228' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1229' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Hello from mymodule in inc2</span><span class='strut'>&nbsp;</span></p>
-<p id='t1230' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1231' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1232' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1233' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;include&#39;</span><span class='op'>:</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t1234' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;mymodule.py&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1235' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; import cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t1236' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;Hello from mymodule&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1237' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t1238' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>}</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1239' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1240' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;inc2&#39;</span><span class='op'>:</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t1241' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;mymodule.py&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1242' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; import cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t1243' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;Hello from mymodule in inc2&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1244' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t1245' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>}</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1246' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1247' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;inc3&#39;</span><span class='op'>:</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t1248' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;someothermodule.py&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1249' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; import cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t1250' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;This is some other module.&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1251' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t1252' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>}</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1253' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t1254' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1255' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testNeedIncludePath</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t1256' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Try it without the -I, to see that an ImportError happens.</span><span class='strut'>&nbsp;</span></p>
-<p id='t1257' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>makeFiles</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>dincludes</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1258' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertRaises</span><span class='op'>(</span><span class='nam'>ImportError</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>,</span> <span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-r&#39;</span><span class='op'>,</span> <span class='str'>&#39;test.cog&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1259' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1260' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testIncludePath</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t1261' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Test that -I adds include directories properly.</span><span class='strut'>&nbsp;</span></p>
-<p id='t1262' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>makeFiles</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>dincludes</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1263' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-r&#39;</span><span class='op'>,</span> <span class='str'>&#39;-I&#39;</span><span class='op'>,</span> <span class='str'>&#39;include&#39;</span><span class='op'>,</span> <span class='str'>&#39;test.cog&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1264' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertFilesSame</span><span class='op'>(</span><span class='str'>&#39;test.cog&#39;</span><span class='op'>,</span> <span class='str'>&#39;test.out&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1265' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1266' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testTwoIncludePaths</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t1267' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Test that two -I&#39;s add include directories properly.</span><span class='strut'>&nbsp;</span></p>
-<p id='t1268' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>makeFiles</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>dincludes</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1269' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-r&#39;</span><span class='op'>,</span> <span class='str'>&#39;-I&#39;</span><span class='op'>,</span> <span class='str'>&#39;include&#39;</span><span class='op'>,</span> <span class='str'>&#39;-I&#39;</span><span class='op'>,</span> <span class='str'>&#39;inc2&#39;</span><span class='op'>,</span> <span class='str'>&#39;test.cog&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1270' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertFilesSame</span><span class='op'>(</span><span class='str'>&#39;test.cog&#39;</span><span class='op'>,</span> <span class='str'>&#39;test.out&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1271' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1272' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testTwoIncludePaths2</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t1273' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Test that two -I&#39;s add include directories properly.</span><span class='strut'>&nbsp;</span></p>
-<p id='t1274' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>makeFiles</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>dincludes</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1275' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-r&#39;</span><span class='op'>,</span> <span class='str'>&#39;-I&#39;</span><span class='op'>,</span> <span class='str'>&#39;inc2&#39;</span><span class='op'>,</span> <span class='str'>&#39;-I&#39;</span><span class='op'>,</span> <span class='str'>&#39;include&#39;</span><span class='op'>,</span> <span class='str'>&#39;test.cog&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1276' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertFilesSame</span><span class='op'>(</span><span class='str'>&#39;test.cog&#39;</span><span class='op'>,</span> <span class='str'>&#39;test2.out&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1277' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1278' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testUselessIncludePath</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t1279' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Test that the search will continue past the first directory.</span><span class='strut'>&nbsp;</span></p>
-<p id='t1280' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>makeFiles</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>dincludes</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1281' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-r&#39;</span><span class='op'>,</span> <span class='str'>&#39;-I&#39;</span><span class='op'>,</span> <span class='str'>&#39;inc3&#39;</span><span class='op'>,</span> <span class='str'>&#39;-I&#39;</span><span class='op'>,</span> <span class='str'>&#39;include&#39;</span><span class='op'>,</span> <span class='str'>&#39;test.cog&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1282' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertFilesSame</span><span class='op'>(</span><span class='str'>&#39;test.cog&#39;</span><span class='op'>,</span> <span class='str'>&#39;test.out&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1283' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1284' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testSysPathIsUnchanged</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t1285' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>d</span> <span class='op'>=</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t1286' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;bad.cog&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1287' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog cog.error(&quot;Oh no!&quot;) ]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1288' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1289' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1290' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;good.cog&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1291' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog cog.outl(&quot;Oh yes!&quot;) ]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1292' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1293' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1294' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t1295' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1296' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>makeFiles</span><span class='op'>(</span><span class='nam'>d</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1297' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Is it unchanged just by creating a cog engine?</span><span class='strut'>&nbsp;</span></p>
-<p id='t1298' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>oldsyspath</span> <span class='op'>=</span> <span class='nam'>sys</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>[</span><span class='op'>:</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1299' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>newCog</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1300' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>oldsyspath</span><span class='op'>,</span> <span class='nam'>sys</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1301' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Is it unchanged for a successful run?</span><span class='strut'>&nbsp;</span></p>
-<p id='t1302' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>newCog</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1303' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-r&#39;</span><span class='op'>,</span> <span class='str'>&#39;good.cog&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1304' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>oldsyspath</span><span class='op'>,</span> <span class='nam'>sys</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1305' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Is it unchanged for a successful run with includes?</span><span class='strut'>&nbsp;</span></p>
-<p id='t1306' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>newCog</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1307' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-r&#39;</span><span class='op'>,</span> <span class='str'>&#39;-I&#39;</span><span class='op'>,</span> <span class='str'>&#39;xyzzy&#39;</span><span class='op'>,</span> <span class='str'>&#39;good.cog&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1308' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>oldsyspath</span><span class='op'>,</span> <span class='nam'>sys</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1309' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Is it unchanged for a successful run with two includes?</span><span class='strut'>&nbsp;</span></p>
-<p id='t1310' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>newCog</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1311' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-r&#39;</span><span class='op'>,</span> <span class='str'>&#39;-I&#39;</span><span class='op'>,</span> <span class='str'>&#39;xyzzy&#39;</span><span class='op'>,</span> <span class='str'>&#39;-I&#39;</span><span class='op'>,</span> <span class='str'>&#39;quux&#39;</span><span class='op'>,</span> <span class='str'>&#39;good.cog&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1312' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>oldsyspath</span><span class='op'>,</span> <span class='nam'>sys</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1313' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Is it unchanged for a failed run?</span><span class='strut'>&nbsp;</span></p>
-<p id='t1314' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>newCog</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1315' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertRaises</span><span class='op'>(</span><span class='nam'>CogError</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>,</span> <span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-r&#39;</span><span class='op'>,</span> <span class='str'>&#39;bad.cog&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1316' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>oldsyspath</span><span class='op'>,</span> <span class='nam'>sys</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1317' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Is it unchanged for a failed run with includes?</span><span class='strut'>&nbsp;</span></p>
-<p id='t1318' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>newCog</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1319' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertRaises</span><span class='op'>(</span><span class='nam'>CogError</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>,</span> <span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-r&#39;</span><span class='op'>,</span> <span class='str'>&#39;-I&#39;</span><span class='op'>,</span> <span class='str'>&#39;xyzzy&#39;</span><span class='op'>,</span> <span class='str'>&#39;bad.cog&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1320' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>oldsyspath</span><span class='op'>,</span> <span class='nam'>sys</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1321' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Is it unchanged for a failed run with two includes?</span><span class='strut'>&nbsp;</span></p>
-<p id='t1322' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>newCog</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1323' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertRaises</span><span class='op'>(</span><span class='nam'>CogError</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>,</span> <span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-r&#39;</span><span class='op'>,</span> <span class='str'>&#39;-I&#39;</span><span class='op'>,</span> <span class='str'>&#39;xyzzy&#39;</span><span class='op'>,</span> <span class='str'>&#39;-I&#39;</span><span class='op'>,</span> <span class='str'>&#39;quux&#39;</span><span class='op'>,</span> <span class='str'>&#39;bad.cog&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1324' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>oldsyspath</span><span class='op'>,</span> <span class='nam'>sys</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1325' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1326' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testSubDirectories</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t1327' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Test that relative paths on the command line work, with includes.</span><span class='strut'>&nbsp;</span></p>
-<p id='t1328' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1329' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>d</span> <span class='op'>=</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t1330' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;code&#39;</span><span class='op'>:</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t1331' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;test.cog&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1332' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t1333' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; import mysubmodule</span><span class='strut'>&nbsp;</span></p>
-<p id='t1334' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1335' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1336' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1337' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1338' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;test.out&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1339' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t1340' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; import mysubmodule</span><span class='strut'>&nbsp;</span></p>
-<p id='t1341' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1342' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Hello from mysubmodule</span><span class='strut'>&nbsp;</span></p>
-<p id='t1343' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1344' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1345' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1346' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;mysubmodule.py&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1347' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; import cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t1348' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;Hello from mysubmodule&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1349' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t1350' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t1351' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t1352' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1353' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>makeFiles</span><span class='op'>(</span><span class='nam'>d</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1354' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># We should be able to invoke cog without the -I switch, and it will</span><span class='strut'>&nbsp;</span></p>
-<p id='t1355' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># auto-include the current directory</span><span class='strut'>&nbsp;</span></p>
-<p id='t1356' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-r&#39;</span><span class='op'>,</span> <span class='str'>&#39;code/test.cog&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1357' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertFilesSame</span><span class='op'>(</span><span class='str'>&#39;code/test.cog&#39;</span><span class='op'>,</span> <span class='str'>&#39;code/test.out&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1358' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1359' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1360' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>CogTestsInFiles</span><span class='op'>(</span><span class='nam'>TestCaseWithTempDir</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t1361' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1362' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testWarnIfNoCogCode</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t1363' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Test that the -e switch warns if there is no Cog code.</span><span class='strut'>&nbsp;</span></p>
-<p id='t1364' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>d</span> <span class='op'>=</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t1365' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;with.cog&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1366' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t1367' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;hello world&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1368' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1369' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; hello world</span><span class='strut'>&nbsp;</span></p>
-<p id='t1370' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1371' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1372' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1373' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;without.cog&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1374' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; There&#39;s no cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t1375' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; code in this file.</span><span class='strut'>&nbsp;</span></p>
-<p id='t1376' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1377' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t1378' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1379' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>makeFiles</span><span class='op'>(</span><span class='nam'>d</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1380' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-e&#39;</span><span class='op'>,</span> <span class='str'>&#39;with.cog&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1381' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>output</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>output</span><span class='op'>.</span><span class='nam'>getvalue</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1382' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>assert</span><span class='op'>(</span><span class='nam'>output</span><span class='op'>.</span><span class='nam'>find</span><span class='op'>(</span><span class='str'>&quot;Warning&quot;</span><span class='op'>)</span> <span class='op'>&lt;</span> <span class='num'>0</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1383' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>newCog</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1384' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-e&#39;</span><span class='op'>,</span> <span class='str'>&#39;without.cog&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1385' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>output</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>output</span><span class='op'>.</span><span class='nam'>getvalue</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1386' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>assert</span><span class='op'>(</span><span class='nam'>output</span><span class='op'>.</span><span class='nam'>find</span><span class='op'>(</span><span class='str'>&quot;Warning: no cog code found in without.cog&quot;</span><span class='op'>)</span> <span class='op'>&gt;=</span> <span class='num'>0</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1387' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>newCog</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1388' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;without.cog&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1389' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>output</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>output</span><span class='op'>.</span><span class='nam'>getvalue</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1390' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>assert</span><span class='op'>(</span><span class='nam'>output</span><span class='op'>.</span><span class='nam'>find</span><span class='op'>(</span><span class='str'>&quot;Warning&quot;</span><span class='op'>)</span> <span class='op'>&lt;</span> <span class='num'>0</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1391' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1392' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testFileNameProps</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t1393' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>d</span> <span class='op'>=</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t1394' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;cog1.txt&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1395' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t1396' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;This is %s in, %s out&quot; % (cog.inFile, cog.outFile))</span><span class='strut'>&nbsp;</span></p>
-<p id='t1397' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1398' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; this is cog1.txt in, cog1.txt out</span><span class='strut'>&nbsp;</span></p>
-<p id='t1399' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1400' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1401' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1402' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;cog1.out&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1403' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t1404' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;This is %s in, %s out&quot; % (cog.inFile, cog.outFile))</span><span class='strut'>&nbsp;</span></p>
-<p id='t1405' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1406' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This is cog1.txt in, cog1.txt out</span><span class='strut'>&nbsp;</span></p>
-<p id='t1407' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1408' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1409' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1410' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;cog1out.out&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1411' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t1412' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;This is %s in, %s out&quot; % (cog.inFile, cog.outFile))</span><span class='strut'>&nbsp;</span></p>
-<p id='t1413' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1414' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This is cog1.txt in, cog1out.txt out</span><span class='strut'>&nbsp;</span></p>
-<p id='t1415' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1416' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1417' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t1418' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1419' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>makeFiles</span><span class='op'>(</span><span class='nam'>d</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1420' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-r&#39;</span><span class='op'>,</span> <span class='str'>&#39;cog1.txt&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1421' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertFilesSame</span><span class='op'>(</span><span class='str'>&#39;cog1.txt&#39;</span><span class='op'>,</span> <span class='str'>&#39;cog1.out&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1422' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>newCog</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1423' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-o&#39;</span><span class='op'>,</span> <span class='str'>&#39;cog1out.txt&#39;</span><span class='op'>,</span> <span class='str'>&#39;cog1.txt&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1424' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertFilesSame</span><span class='op'>(</span><span class='str'>&#39;cog1out.txt&#39;</span><span class='op'>,</span> <span class='str'>&#39;cog1out.out&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1425' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1426' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testGlobalsDontCrossFiles</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t1427' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Make sure that global values don&#39;t get shared between files.</span><span class='strut'>&nbsp;</span></p>
-<p id='t1428' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>d</span> <span class='op'>=</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t1429' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;one.cog&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1430' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog s = &quot;This was set in one.cog&quot; ]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1431' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1432' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog cog.outl(s) ]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1433' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1434' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1435' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1436' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;one.out&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1437' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog s = &quot;This was set in one.cog&quot; ]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1438' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1439' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog cog.outl(s) ]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1440' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This was set in one.cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t1441' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1442' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1443' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1444' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;two.cog&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1445' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t1446' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; try:</span><span class='strut'>&nbsp;</span></p>
-<p id='t1447' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(s)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1448' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; except NameError:</span><span class='strut'>&nbsp;</span></p>
-<p id='t1449' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;s isn&#39;t set!&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1450' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1451' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1452' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1453' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1454' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;two.out&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1455' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t1456' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; try:</span><span class='strut'>&nbsp;</span></p>
-<p id='t1457' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(s)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1458' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; except NameError:</span><span class='strut'>&nbsp;</span></p>
-<p id='t1459' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;s isn&#39;t set!&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1460' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1461' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; s isn&#39;t set!</span><span class='strut'>&nbsp;</span></p>
-<p id='t1462' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1463' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1464' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1465' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;cogfiles.txt&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1466' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # Please run cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t1467' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; one.cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t1468' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span class='strut'>&nbsp;</span></p>
-<p id='t1469' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; two.cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t1470' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t1471' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t1472' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1473' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>makeFiles</span><span class='op'>(</span><span class='nam'>d</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1474' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-r&#39;</span><span class='op'>,</span> <span class='str'>&#39;@cogfiles.txt&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1475' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertFilesSame</span><span class='op'>(</span><span class='str'>&#39;one.cog&#39;</span><span class='op'>,</span> <span class='str'>&#39;one.out&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1476' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertFilesSame</span><span class='op'>(</span><span class='str'>&#39;two.cog&#39;</span><span class='op'>,</span> <span class='str'>&#39;two.out&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1477' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>output</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>output</span><span class='op'>.</span><span class='nam'>getvalue</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1478' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>assert</span><span class='op'>(</span><span class='nam'>output</span><span class='op'>.</span><span class='nam'>find</span><span class='op'>(</span><span class='str'>&quot;(changed)&quot;</span><span class='op'>)</span> <span class='op'>&gt;=</span> <span class='num'>0</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1479' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1480' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testRemoveGeneratedOutput</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t1481' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>d</span> <span class='op'>=</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t1482' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;cog1.txt&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1483' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t1484' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;This line was generated.&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1485' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1486' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This line was generated.</span><span class='strut'>&nbsp;</span></p>
-<p id='t1487' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1488' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This line was not.</span><span class='strut'>&nbsp;</span></p>
-<p id='t1489' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1490' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1491' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;cog1.out&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1492' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t1493' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;This line was generated.&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1494' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1495' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1496' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This line was not.</span><span class='strut'>&nbsp;</span></p>
-<p id='t1497' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1498' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1499' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;cog1.out2&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1500' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t1501' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;This line was generated.&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1502' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1503' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This line was generated.</span><span class='strut'>&nbsp;</span></p>
-<p id='t1504' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1505' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This line was not.</span><span class='strut'>&nbsp;</span></p>
-<p id='t1506' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1507' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t1508' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1509' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>makeFiles</span><span class='op'>(</span><span class='nam'>d</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1510' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Remove generated output.</span><span class='strut'>&nbsp;</span></p>
-<p id='t1511' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-r&#39;</span><span class='op'>,</span> <span class='str'>&#39;-x&#39;</span><span class='op'>,</span> <span class='str'>&#39;cog1.txt&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1512' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertFilesSame</span><span class='op'>(</span><span class='str'>&#39;cog1.txt&#39;</span><span class='op'>,</span> <span class='str'>&#39;cog1.out&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1513' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>newCog</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1514' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Regenerate the generated output.</span><span class='strut'>&nbsp;</span></p>
-<p id='t1515' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-r&#39;</span><span class='op'>,</span> <span class='str'>&#39;cog1.txt&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1516' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertFilesSame</span><span class='op'>(</span><span class='str'>&#39;cog1.txt&#39;</span><span class='op'>,</span> <span class='str'>&#39;cog1.out2&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1517' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>newCog</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1518' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Remove the generated output again.</span><span class='strut'>&nbsp;</span></p>
-<p id='t1519' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-r&#39;</span><span class='op'>,</span> <span class='str'>&#39;-x&#39;</span><span class='op'>,</span> <span class='str'>&#39;cog1.txt&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1520' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertFilesSame</span><span class='op'>(</span><span class='str'>&#39;cog1.txt&#39;</span><span class='op'>,</span> <span class='str'>&#39;cog1.out&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1521' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1522' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testMsgCall</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t1523' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>infile</span> <span class='op'>=</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1524' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t1525' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.msg(&quot;Hello there!&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1526' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1527' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1528' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t1529' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>infile</span> <span class='op'>=</span> <span class='nam'>reindentBlock</span><span class='op'>(</span><span class='nam'>infile</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1530' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>processString</span><span class='op'>(</span><span class='nam'>infile</span><span class='op'>)</span><span class='op'>,</span> <span class='nam'>infile</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1531' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>output</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>output</span><span class='op'>.</span><span class='nam'>getvalue</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1532' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>output</span><span class='op'>,</span> <span class='str'>&quot;Message: Hello there!\n&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1533' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1534' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testErrorMessageHasNoTraceback</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t1535' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Test that a Cog error is printed to stderr with no traceback.</span><span class='strut'>&nbsp;</span></p>
-<p id='t1536' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1537' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>d</span> <span class='op'>=</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t1538' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;cog1.txt&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1539' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t1540' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;This line was newly&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1541' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;generated by cog&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1542' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;blah blah.&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1543' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1544' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Xhis line was newly</span><span class='strut'>&nbsp;</span></p>
-<p id='t1545' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; generated by cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t1546' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; blah blah.</span><span class='strut'>&nbsp;</span></p>
-<p id='t1547' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]] (checksum: a8540982e5ad6b95c9e9a184b26f4346)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1548' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1549' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t1550' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1551' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>makeFiles</span><span class='op'>(</span><span class='nam'>d</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1552' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>stderr</span> <span class='op'>=</span> <span class='nam'>StringIO</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1553' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>setOutput</span><span class='op'>(</span><span class='nam'>stderr</span><span class='op'>=</span><span class='nam'>stderr</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1554' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>main</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-c&#39;</span><span class='op'>,</span> <span class='str'>&#39;-r&#39;</span><span class='op'>,</span> <span class='str'>&quot;cog1.txt&quot;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1555' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>output</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>output</span><span class='op'>.</span><span class='nam'>getvalue</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1556' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>output</span><span class='op'>.</span><span class='nam'>getvalue</span><span class='op'>(</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&quot;Cogging cog1.txt\n&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1557' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>stderr</span><span class='op'>.</span><span class='nam'>getvalue</span><span class='op'>(</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&quot;cog1.txt(9): Output has been edited! Delete old checksum to unprotect.\n&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1558' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1559' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testDashD</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t1560' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>d</span> <span class='op'>=</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t1561' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;test.cog&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1562' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --[[[cog cog.outl(&quot;Defined fooey as &quot; + fooey) ]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1563' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1564' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1565' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1566' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;test.kablooey&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1567' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --[[[cog cog.outl(&quot;Defined fooey as &quot; + fooey) ]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1568' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Defined fooey as kablooey</span><span class='strut'>&nbsp;</span></p>
-<p id='t1569' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1570' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1571' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1572' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;test.einstein&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1573' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --[[[cog cog.outl(&quot;Defined fooey as &quot; + fooey) ]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1574' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Defined fooey as e=mc2</span><span class='strut'>&nbsp;</span></p>
-<p id='t1575' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1576' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1577' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t1578' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1579' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>makeFiles</span><span class='op'>(</span><span class='nam'>d</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1580' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-r&#39;</span><span class='op'>,</span> <span class='str'>&#39;-D&#39;</span><span class='op'>,</span> <span class='str'>&#39;fooey=kablooey&#39;</span><span class='op'>,</span> <span class='str'>&#39;test.cog&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1581' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertFilesSame</span><span class='op'>(</span><span class='str'>&#39;test.cog&#39;</span><span class='op'>,</span> <span class='str'>&#39;test.kablooey&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1582' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>makeFiles</span><span class='op'>(</span><span class='nam'>d</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1583' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-r&#39;</span><span class='op'>,</span> <span class='str'>&#39;-Dfooey=kablooey&#39;</span><span class='op'>,</span> <span class='str'>&#39;test.cog&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1584' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertFilesSame</span><span class='op'>(</span><span class='str'>&#39;test.cog&#39;</span><span class='op'>,</span> <span class='str'>&#39;test.kablooey&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1585' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>makeFiles</span><span class='op'>(</span><span class='nam'>d</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1586' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-r&#39;</span><span class='op'>,</span> <span class='str'>&#39;-Dfooey=e=mc2&#39;</span><span class='op'>,</span> <span class='str'>&#39;test.cog&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1587' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertFilesSame</span><span class='op'>(</span><span class='str'>&#39;test.cog&#39;</span><span class='op'>,</span> <span class='str'>&#39;test.einstein&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1588' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>makeFiles</span><span class='op'>(</span><span class='nam'>d</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1589' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-r&#39;</span><span class='op'>,</span> <span class='str'>&#39;-Dbar=quux&#39;</span><span class='op'>,</span> <span class='str'>&#39;-Dfooey=kablooey&#39;</span><span class='op'>,</span> <span class='str'>&#39;test.cog&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1590' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertFilesSame</span><span class='op'>(</span><span class='str'>&#39;test.cog&#39;</span><span class='op'>,</span> <span class='str'>&#39;test.kablooey&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1591' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>makeFiles</span><span class='op'>(</span><span class='nam'>d</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1592' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-r&#39;</span><span class='op'>,</span> <span class='str'>&#39;-Dfooey=kablooey&#39;</span><span class='op'>,</span> <span class='str'>&#39;-Dbar=quux&#39;</span><span class='op'>,</span> <span class='str'>&#39;test.cog&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1593' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertFilesSame</span><span class='op'>(</span><span class='str'>&#39;test.cog&#39;</span><span class='op'>,</span> <span class='str'>&#39;test.kablooey&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1594' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>makeFiles</span><span class='op'>(</span><span class='nam'>d</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1595' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-r&#39;</span><span class='op'>,</span> <span class='str'>&#39;-Dfooey=gooey&#39;</span><span class='op'>,</span> <span class='str'>&#39;-Dfooey=kablooey&#39;</span><span class='op'>,</span> <span class='str'>&#39;test.cog&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1596' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertFilesSame</span><span class='op'>(</span><span class='str'>&#39;test.cog&#39;</span><span class='op'>,</span> <span class='str'>&#39;test.kablooey&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1597' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1598' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testOutputToStdout</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t1599' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>d</span> <span class='op'>=</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t1600' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;test.cog&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1601' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --[[[cog cog.outl(&#39;Hey there!&#39;) ]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1602' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1603' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t1604' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t1605' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1606' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>makeFiles</span><span class='op'>(</span><span class='nam'>d</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1607' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>stderr</span> <span class='op'>=</span> <span class='nam'>StringIO</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1608' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>setOutput</span><span class='op'>(</span><span class='nam'>stderr</span><span class='op'>=</span><span class='nam'>stderr</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1609' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;test.cog&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1610' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>output</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>output</span><span class='op'>.</span><span class='nam'>getvalue</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1611' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>outerr</span> <span class='op'>=</span> <span class='nam'>stderr</span><span class='op'>.</span><span class='nam'>getvalue</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1612' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>output</span><span class='op'>,</span> <span class='str'>&quot;--[[[cog cog.outl(&#39;Hey there!&#39;) ]]]\nHey there!\n--[[[end]]]\n&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1613' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>outerr</span><span class='op'>,</span> <span class='str'>&quot;&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1614' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1615' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testSuffixOutputLines</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t1616' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>d</span> <span class='op'>=</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t1617' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;test.cog&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1618' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Hey there.</span><span class='strut'>&nbsp;</span></p>
-<p id='t1619' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ;[[[cog cog.outl(&#39;a\\nb\\n&nbsp;&nbsp; \\nc&#39;) ]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1620' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ;[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1621' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Good bye.</span><span class='strut'>&nbsp;</span></p>
-<p id='t1622' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1623' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1624' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;test.out&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1625' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Hey there.</span><span class='strut'>&nbsp;</span></p>
-<p id='t1626' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ;[[[cog cog.outl(&#39;a\\nb\\n&nbsp;&nbsp; \\nc&#39;) ]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1627' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; a (foo)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1628' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; b (foo)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1629' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; </span><span class='strut'>&nbsp;</span></p>
-<p id='t1630' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; c (foo)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1631' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ;[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1632' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Good bye.</span><span class='strut'>&nbsp;</span></p>
-<p id='t1633' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1634' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t1635' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1636' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>makeFiles</span><span class='op'>(</span><span class='nam'>d</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1637' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-r&#39;</span><span class='op'>,</span> <span class='str'>&#39;-s&#39;</span><span class='op'>,</span> <span class='str'>&#39; (foo)&#39;</span><span class='op'>,</span> <span class='str'>&#39;test.cog&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1638' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertFilesSame</span><span class='op'>(</span><span class='str'>&#39;test.cog&#39;</span><span class='op'>,</span> <span class='str'>&#39;test.out&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1639' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1640' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testEmptySuffix</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t1641' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>d</span> <span class='op'>=</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t1642' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;test.cog&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1643' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ;[[[cog cog.outl(&#39;a\\nb\\nc&#39;) ]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1644' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ;[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1645' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1646' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1647' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;test.out&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1648' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ;[[[cog cog.outl(&#39;a\\nb\\nc&#39;) ]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1649' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; a</span><span class='strut'>&nbsp;</span></p>
-<p id='t1650' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; b</span><span class='strut'>&nbsp;</span></p>
-<p id='t1651' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; c</span><span class='strut'>&nbsp;</span></p>
-<p id='t1652' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ;[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1653' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1654' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t1655' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1656' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>makeFiles</span><span class='op'>(</span><span class='nam'>d</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1657' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-r&#39;</span><span class='op'>,</span> <span class='str'>&#39;-s&#39;</span><span class='op'>,</span> <span class='str'>&#39;&#39;</span><span class='op'>,</span> <span class='str'>&#39;test.cog&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1658' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertFilesSame</span><span class='op'>(</span><span class='str'>&#39;test.cog&#39;</span><span class='op'>,</span> <span class='str'>&#39;test.out&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1659' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1660' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testHellishSuffix</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t1661' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>d</span> <span class='op'>=</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t1662' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;test.cog&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1663' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ;[[[cog cog.outl(&#39;a\\n\\nb&#39;) ]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1664' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1665' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1666' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;test.out&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1667' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ;[[[cog cog.outl(&#39;a\\n\\nb&#39;) ]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1668' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; a /\\n*+([)]&gt;&lt;</span><span class='strut'>&nbsp;</span></p>
-<p id='t1669' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span class='strut'>&nbsp;</span></p>
-<p id='t1670' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; b /\\n*+([)]&gt;&lt;</span><span class='strut'>&nbsp;</span></p>
-<p id='t1671' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1672' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t1673' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1674' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>makeFiles</span><span class='op'>(</span><span class='nam'>d</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1675' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-z&#39;</span><span class='op'>,</span> <span class='str'>&#39;-r&#39;</span><span class='op'>,</span> <span class='str'>&#39;-s&#39;</span><span class='op'>,</span> <span class='str'>r&#39; /\n*+([)]&gt;&lt;&#39;</span><span class='op'>,</span> <span class='str'>&#39;test.cog&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1676' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertFilesSame</span><span class='op'>(</span><span class='str'>&#39;test.cog&#39;</span><span class='op'>,</span> <span class='str'>&#39;test.out&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1677' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1678' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>WritabilityTests</span><span class='op'>(</span><span class='nam'>TestCaseWithTempDir</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t1679' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1680' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>d</span> <span class='op'>=</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t1681' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;test.cog&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1682' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t1683' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for fn in [&#39;DoSomething&#39;, &#39;DoAnotherThing&#39;, &#39;DoLastThing&#39;]:</span><span class='strut'>&nbsp;</span></p>
-<p id='t1684' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;void %s();&quot; % fn)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1685' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1686' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1687' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1688' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1689' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;test.out&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1690' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t1691' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for fn in [&#39;DoSomething&#39;, &#39;DoAnotherThing&#39;, &#39;DoLastThing&#39;]:</span><span class='strut'>&nbsp;</span></p>
-<p id='t1692' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;void %s();&quot; % fn)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1693' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1694' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; void DoSomething();</span><span class='strut'>&nbsp;</span></p>
-<p id='t1695' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; void DoAnotherThing();</span><span class='strut'>&nbsp;</span></p>
-<p id='t1696' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; void DoLastThing();</span><span class='strut'>&nbsp;</span></p>
-<p id='t1697' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1698' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1699' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t1700' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1701' class='exc'>&nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>name</span> <span class='op'>==</span> <span class='str'>&#39;nt&#39;</span><span class='op'>:</span>&nbsp; &nbsp;&nbsp; <span class='com'># pragma: no cover</span><span class='strut'>&nbsp;</span></p>
-<p id='t1702' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># for Windows</span><span class='strut'>&nbsp;</span></p>
-<p id='t1703' class='exc'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>cmd_w_args</span> <span class='op'>=</span> <span class='str'>&#39;attrib -R %s&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t1704' class='exc'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>cmd_w_asterisk</span> <span class='op'>=</span> <span class='str'>&#39;attrib -R *&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t1705' class='exc'>&nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span>&nbsp;&nbsp; <span class='com'># pragma: no cover</span><span class='strut'>&nbsp;</span></p>
-<p id='t1706' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># for unix-like</span><span class='strut'>&nbsp;</span></p>
-<p id='t1707' class='exc'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>cmd_w_args</span> <span class='op'>=</span> <span class='str'>&#39;chmod +w %s&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t1708' class='exc'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>cmd_w_asterisk</span> <span class='op'>=</span> <span class='str'>&#39;chmod +w *&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t1709' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1710' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>setUp</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t1711' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>TestCaseWithTempDir</span><span class='op'>.</span><span class='nam'>setUp</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1712' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>makeFiles</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>d</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1713' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>testcog</span> <span class='op'>=</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>join</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>tempdir</span><span class='op'>,</span> <span class='str'>&#39;test.cog&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1714' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>os</span><span class='op'>.</span><span class='nam'>chmod</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>testcog</span><span class='op'>,</span> <span class='nam'>stat</span><span class='op'>.</span><span class='nam'>S_IREAD</span><span class='op'>)</span>&nbsp;&nbsp; <span class='com'># Make the file readonly.</span><span class='strut'>&nbsp;</span></p>
-<p id='t1715' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>assert</span> <span class='key'>not</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>access</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>testcog</span><span class='op'>,</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>W_OK</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1716' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1717' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>tearDown</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t1718' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>os</span><span class='op'>.</span><span class='nam'>chmod</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>testcog</span><span class='op'>,</span> <span class='nam'>stat</span><span class='op'>.</span><span class='nam'>S_IWRITE</span><span class='op'>)</span>&nbsp;&nbsp; <span class='com'># Make the file writable again.</span><span class='strut'>&nbsp;</span></p>
-<p id='t1719' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>TestCaseWithTempDir</span><span class='op'>.</span><span class='nam'>tearDown</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1720' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1721' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testReadonlyNoCommand</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t1722' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertRaisesMsg</span><span class='op'>(</span><span class='strut'>&nbsp;</span></p>
-<p id='t1723' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>CogError</span><span class='op'>,</span> <span class='str'>&quot;Can&#39;t overwrite test.cog&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1724' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>,</span> <span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-r&#39;</span><span class='op'>,</span> <span class='str'>&#39;test.cog&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1725' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>assert</span> <span class='key'>not</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>access</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>testcog</span><span class='op'>,</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>W_OK</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1726' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1727' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testReadonlyWithCommand</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t1728' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-r&#39;</span><span class='op'>,</span> <span class='str'>&#39;-w&#39;</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cmd_w_args</span><span class='op'>,</span> <span class='str'>&#39;test.cog&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1729' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertFilesSame</span><span class='op'>(</span><span class='str'>&#39;test.cog&#39;</span><span class='op'>,</span> <span class='str'>&#39;test.out&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1730' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>assert</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>access</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>testcog</span><span class='op'>,</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>W_OK</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1731' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1732' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testReadonlyWithCommandWithNoSlot</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t1733' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-r&#39;</span><span class='op'>,</span> <span class='str'>&#39;-w&#39;</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cmd_w_asterisk</span><span class='op'>,</span> <span class='str'>&#39;test.cog&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1734' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertFilesSame</span><span class='op'>(</span><span class='str'>&#39;test.cog&#39;</span><span class='op'>,</span> <span class='str'>&#39;test.out&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1735' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>assert</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>access</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>testcog</span><span class='op'>,</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>W_OK</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1736' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1737' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testReadonlyWithIneffectualCommand</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t1738' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertRaisesMsg</span><span class='op'>(</span><span class='strut'>&nbsp;</span></p>
-<p id='t1739' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>CogError</span><span class='op'>,</span> <span class='str'>&quot;Couldn&#39;t make test.cog writable&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1740' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>,</span> <span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-r&#39;</span><span class='op'>,</span> <span class='str'>&#39;-w&#39;</span><span class='op'>,</span> <span class='str'>&#39;echo %s&#39;</span><span class='op'>,</span> <span class='str'>&#39;test.cog&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1741' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>assert</span> <span class='key'>not</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>access</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>testcog</span><span class='op'>,</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>W_OK</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1742' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1743' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>ChecksumTests</span><span class='op'>(</span><span class='nam'>TestCaseWithTempDir</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t1744' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1745' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testCreateChecksumOutput</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t1746' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>d</span> <span class='op'>=</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t1747' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;cog1.txt&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1748' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t1749' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;This line was generated.&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1750' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1751' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This line was generated.</span><span class='strut'>&nbsp;</span></p>
-<p id='t1752' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1753' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This line was not.</span><span class='strut'>&nbsp;</span></p>
-<p id='t1754' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1755' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1756' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;cog1.out&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1757' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t1758' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;This line was generated.&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1759' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1760' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This line was generated.</span><span class='strut'>&nbsp;</span></p>
-<p id='t1761' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]] (checksum: 8adb13fb59b996a1c7f0065ea9f3d893)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1762' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This line was not.</span><span class='strut'>&nbsp;</span></p>
-<p id='t1763' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1764' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t1765' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1766' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>makeFiles</span><span class='op'>(</span><span class='nam'>d</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1767' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-r&#39;</span><span class='op'>,</span> <span class='str'>&#39;-c&#39;</span><span class='op'>,</span> <span class='str'>&#39;cog1.txt&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1768' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertFilesSame</span><span class='op'>(</span><span class='str'>&#39;cog1.txt&#39;</span><span class='op'>,</span> <span class='str'>&#39;cog1.out&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1769' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1770' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testCheckChecksumOutput</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t1771' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>d</span> <span class='op'>=</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t1772' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;cog1.txt&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1773' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t1774' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;This line was newly&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1775' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;generated by cog&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1776' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;blah blah.&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1777' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1778' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This line was generated.</span><span class='strut'>&nbsp;</span></p>
-<p id='t1779' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]] (checksum: 8adb13fb59b996a1c7f0065ea9f3d893)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1780' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1781' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1782' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;cog1.out&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1783' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t1784' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;This line was newly&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1785' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;generated by cog&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1786' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;blah blah.&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1787' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1788' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This line was newly</span><span class='strut'>&nbsp;</span></p>
-<p id='t1789' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; generated by cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t1790' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; blah blah.</span><span class='strut'>&nbsp;</span></p>
-<p id='t1791' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]] (checksum: a8540982e5ad6b95c9e9a184b26f4346)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1792' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1793' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t1794' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1795' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>makeFiles</span><span class='op'>(</span><span class='nam'>d</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1796' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-r&#39;</span><span class='op'>,</span> <span class='str'>&#39;-c&#39;</span><span class='op'>,</span> <span class='str'>&#39;cog1.txt&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1797' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertFilesSame</span><span class='op'>(</span><span class='str'>&#39;cog1.txt&#39;</span><span class='op'>,</span> <span class='str'>&#39;cog1.out&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1798' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1799' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testRemoveChecksumOutput</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t1800' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>d</span> <span class='op'>=</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t1801' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;cog1.txt&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1802' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t1803' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;This line was newly&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1804' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;generated by cog&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1805' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;blah blah.&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1806' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1807' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This line was generated.</span><span class='strut'>&nbsp;</span></p>
-<p id='t1808' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]] (checksum: 8adb13fb59b996a1c7f0065ea9f3d893) fooey</span><span class='strut'>&nbsp;</span></p>
-<p id='t1809' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1810' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1811' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;cog1.out&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1812' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t1813' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;This line was newly&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1814' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;generated by cog&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1815' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;blah blah.&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1816' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1817' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This line was newly</span><span class='strut'>&nbsp;</span></p>
-<p id='t1818' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; generated by cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t1819' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; blah blah.</span><span class='strut'>&nbsp;</span></p>
-<p id='t1820' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]] fooey</span><span class='strut'>&nbsp;</span></p>
-<p id='t1821' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1822' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t1823' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1824' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>makeFiles</span><span class='op'>(</span><span class='nam'>d</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1825' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-r&#39;</span><span class='op'>,</span> <span class='str'>&#39;cog1.txt&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1826' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertFilesSame</span><span class='op'>(</span><span class='str'>&#39;cog1.txt&#39;</span><span class='op'>,</span> <span class='str'>&#39;cog1.out&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1827' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1828' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testTamperedChecksumOutput</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t1829' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>d</span> <span class='op'>=</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t1830' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;cog1.txt&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1831' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t1832' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;This line was newly&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1833' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;generated by cog&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1834' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;blah blah.&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1835' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1836' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Xhis line was newly</span><span class='strut'>&nbsp;</span></p>
-<p id='t1837' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; generated by cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t1838' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; blah blah.</span><span class='strut'>&nbsp;</span></p>
-<p id='t1839' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]] (checksum: a8540982e5ad6b95c9e9a184b26f4346)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1840' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1841' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1842' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;cog2.txt&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1843' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t1844' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;This line was newly&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1845' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;generated by cog&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1846' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;blah blah.&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1847' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1848' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This line was newly</span><span class='strut'>&nbsp;</span></p>
-<p id='t1849' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; generated by cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t1850' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; blah blah!</span><span class='strut'>&nbsp;</span></p>
-<p id='t1851' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]] (checksum: a8540982e5ad6b95c9e9a184b26f4346)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1852' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1853' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1854' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;cog3.txt&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1855' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t1856' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;This line was newly&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1857' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;generated by cog&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1858' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;blah blah.&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1859' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1860' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span class='strut'>&nbsp;</span></p>
-<p id='t1861' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This line was newly</span><span class='strut'>&nbsp;</span></p>
-<p id='t1862' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; generated by cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t1863' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; blah blah.</span><span class='strut'>&nbsp;</span></p>
-<p id='t1864' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]] (checksum: a8540982e5ad6b95c9e9a184b26f4346)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1865' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1866' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1867' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;cog4.txt&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1868' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t1869' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;This line was newly&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1870' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;generated by cog&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1871' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;blah blah.&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1872' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1873' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This line was newly</span><span class='strut'>&nbsp;</span></p>
-<p id='t1874' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; generated by cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t1875' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; blah blah..</span><span class='strut'>&nbsp;</span></p>
-<p id='t1876' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]] (checksum: a8540982e5ad6b95c9e9a184b26f4346)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1877' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1878' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1879' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;cog5.txt&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1880' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t1881' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;This line was newly&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1882' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;generated by cog&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1883' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;blah blah.&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1884' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1885' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This line was newly</span><span class='strut'>&nbsp;</span></p>
-<p id='t1886' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; generated by cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t1887' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; blah blah.</span><span class='strut'>&nbsp;</span></p>
-<p id='t1888' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; extra</span><span class='strut'>&nbsp;</span></p>
-<p id='t1889' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]] (checksum: a8540982e5ad6b95c9e9a184b26f4346)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1890' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1891' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1892' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;cog6.txt&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1893' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t1894' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;This line was newly&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1895' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;generated by cog&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1896' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;blah blah.&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1897' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1898' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]] (checksum: a8540982e5ad6b95c9e9a184b26f4346)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1899' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1900' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t1901' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1902' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>makeFiles</span><span class='op'>(</span><span class='nam'>d</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1903' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertRaisesMsg</span><span class='op'>(</span><span class='nam'>CogError</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1904' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;cog1.txt(9): Output has been edited! Delete old checksum to unprotect.&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1905' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>,</span> <span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-c&#39;</span><span class='op'>,</span> <span class='str'>&quot;cog1.txt&quot;</span><span class='op'>]</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1906' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertRaisesMsg</span><span class='op'>(</span><span class='nam'>CogError</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1907' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;cog2.txt(9): Output has been edited! Delete old checksum to unprotect.&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1908' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>,</span> <span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-c&#39;</span><span class='op'>,</span> <span class='str'>&quot;cog2.txt&quot;</span><span class='op'>]</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1909' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertRaisesMsg</span><span class='op'>(</span><span class='nam'>CogError</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1910' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;cog3.txt(10): Output has been edited! Delete old checksum to unprotect.&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1911' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>,</span> <span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-c&#39;</span><span class='op'>,</span> <span class='str'>&quot;cog3.txt&quot;</span><span class='op'>]</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1912' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertRaisesMsg</span><span class='op'>(</span><span class='nam'>CogError</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1913' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;cog4.txt(9): Output has been edited! Delete old checksum to unprotect.&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1914' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>,</span> <span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-c&#39;</span><span class='op'>,</span> <span class='str'>&quot;cog4.txt&quot;</span><span class='op'>]</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1915' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertRaisesMsg</span><span class='op'>(</span><span class='nam'>CogError</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1916' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;cog5.txt(10): Output has been edited! Delete old checksum to unprotect.&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1917' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>,</span> <span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-c&#39;</span><span class='op'>,</span> <span class='str'>&quot;cog5.txt&quot;</span><span class='op'>]</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1918' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertRaisesMsg</span><span class='op'>(</span><span class='nam'>CogError</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1919' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;cog6.txt(6): Output has been edited! Delete old checksum to unprotect.&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1920' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>,</span> <span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-c&#39;</span><span class='op'>,</span> <span class='str'>&quot;cog6.txt&quot;</span><span class='op'>]</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1921' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1922' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testArgvIsntModified</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t1923' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>argv</span> <span class='op'>=</span> <span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-v&#39;</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1924' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>orig_argv</span> <span class='op'>=</span> <span class='nam'>argv</span><span class='op'>[</span><span class='op'>:</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1925' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>(</span><span class='nam'>argv</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1926' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>argv</span><span class='op'>,</span> <span class='nam'>orig_argv</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1927' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1928' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>BlakeTests</span><span class='op'>(</span><span class='nam'>TestCaseWithTempDir</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t1929' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1930' class='pln'>&nbsp; &nbsp; <span class='com'># Blake Winton&#39;s contributions.&nbsp; &nbsp; &nbsp; &nbsp; </span><span class='strut'>&nbsp;</span></p>
-<p id='t1931' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testDeleteCode</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t1932' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># -o sets the output file.</span><span class='strut'>&nbsp;</span></p>
-<p id='t1933' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>d</span> <span class='op'>=</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t1934' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;test.cog&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1935' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // This is my C++ file.</span><span class='strut'>&nbsp;</span></p>
-<p id='t1936' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t1937' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fnames = [&#39;DoSomething&#39;, &#39;DoAnotherThing&#39;, &#39;DoLastThing&#39;]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1938' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for fn in fnames:</span><span class='strut'>&nbsp;</span></p>
-<p id='t1939' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;void %s();&quot; % fn)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1940' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1941' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Some Sample Code Here</span><span class='strut'>&nbsp;</span></p>
-<p id='t1942' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]Data Data</span><span class='strut'>&nbsp;</span></p>
-<p id='t1943' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; And Some More</span><span class='strut'>&nbsp;</span></p>
-<p id='t1944' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1945' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1946' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;test.out&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1947' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // This is my C++ file.</span><span class='strut'>&nbsp;</span></p>
-<p id='t1948' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; void DoSomething();</span><span class='strut'>&nbsp;</span></p>
-<p id='t1949' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; void DoAnotherThing();</span><span class='strut'>&nbsp;</span></p>
-<p id='t1950' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; void DoLastThing();</span><span class='strut'>&nbsp;</span></p>
-<p id='t1951' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; And Some More</span><span class='strut'>&nbsp;</span></p>
-<p id='t1952' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1953' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t1954' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1955' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>makeFiles</span><span class='op'>(</span><span class='nam'>d</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1956' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-d&#39;</span><span class='op'>,</span> <span class='str'>&#39;-o&#39;</span><span class='op'>,</span> <span class='str'>&#39;test.cogged&#39;</span><span class='op'>,</span> <span class='str'>&#39;test.cog&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1957' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertFilesSame</span><span class='op'>(</span><span class='str'>&#39;test.cogged&#39;</span><span class='op'>,</span> <span class='str'>&#39;test.out&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1958' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1959' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testDeleteCodeWithDashRFails</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t1960' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>d</span> <span class='op'>=</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t1961' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;test.cog&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1962' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // This is my C++ file.</span><span class='strut'>&nbsp;</span></p>
-<p id='t1963' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t1964' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t1965' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1966' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>makeFiles</span><span class='op'>(</span><span class='nam'>d</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1967' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertRaises</span><span class='op'>(</span><span class='nam'>CogUsageError</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>callableMain</span><span class='op'>,</span> <span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-r&#39;</span><span class='op'>,</span> <span class='str'>&#39;-d&#39;</span><span class='op'>,</span> <span class='str'>&#39;test.cog&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1968' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1969' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testSettingGlobals</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t1970' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Blake Winton contributed a way to set the globals that will be used in</span><span class='strut'>&nbsp;</span></p>
-<p id='t1971' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># processFile().</span><span class='strut'>&nbsp;</span></p>
-<p id='t1972' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>d</span> <span class='op'>=</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t1973' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;test.cog&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1974' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // This is my C++ file.</span><span class='strut'>&nbsp;</span></p>
-<p id='t1975' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t1976' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for fn in fnames:</span><span class='strut'>&nbsp;</span></p>
-<p id='t1977' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;void %s();&quot; % fn)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1978' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1979' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Some Sample Code Here</span><span class='strut'>&nbsp;</span></p>
-<p id='t1980' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]&quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1981' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1982' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;test.out&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t1983' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // This is my C++ file.</span><span class='strut'>&nbsp;</span></p>
-<p id='t1984' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; void DoBlake();</span><span class='strut'>&nbsp;</span></p>
-<p id='t1985' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; void DoWinton();</span><span class='strut'>&nbsp;</span></p>
-<p id='t1986' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; void DoContribution();</span><span class='strut'>&nbsp;</span></p>
-<p id='t1987' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t1988' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t1989' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1990' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>makeFiles</span><span class='op'>(</span><span class='nam'>d</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1991' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>globals</span> <span class='op'>=</span> <span class='op'>{</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t1992' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>globals</span><span class='op'>[</span><span class='str'>&#39;fnames&#39;</span><span class='op'>]</span> <span class='op'>=</span> <span class='op'>[</span><span class='str'>&#39;DoBlake&#39;</span><span class='op'>,</span> <span class='str'>&#39;DoWinton&#39;</span><span class='op'>,</span> <span class='str'>&#39;DoContribution&#39;</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t1993' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>options</span><span class='op'>.</span><span class='nam'>bDeleteCode</span> <span class='op'>=</span> <span class='nam'>True</span><span class='strut'>&nbsp;</span></p>
-<p id='t1994' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>processFile</span><span class='op'>(</span><span class='str'>&#39;test.cog&#39;</span><span class='op'>,</span> <span class='str'>&#39;test.cogged&#39;</span><span class='op'>,</span> <span class='nam'>globals</span><span class='op'>=</span><span class='nam'>globals</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1995' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertFilesSame</span><span class='op'>(</span><span class='str'>&#39;test.cogged&#39;</span><span class='op'>,</span> <span class='str'>&#39;test.out&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t1996' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1997' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>ErrorCallTests</span><span class='op'>(</span><span class='nam'>TestCaseWithTempDir</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t1998' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t1999' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testErrorCallHasNoTraceback</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t2000' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Test that cog.error() doesn&#39;t show a traceback.</span><span class='strut'>&nbsp;</span></p>
-<p id='t2001' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>d</span> <span class='op'>=</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t2002' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;error.cog&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t2003' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t2004' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.error(&quot;Something Bad!&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t2005' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t2006' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t2007' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t2008' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t2009' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t2010' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>makeFiles</span><span class='op'>(</span><span class='nam'>d</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t2011' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>main</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-r&#39;</span><span class='op'>,</span> <span class='str'>&#39;error.cog&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t2012' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>output</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>output</span><span class='op'>.</span><span class='nam'>getvalue</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t2013' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>output</span><span class='op'>,</span> <span class='str'>&quot;Cogging error.cog\nError: Something Bad!\n&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t2014' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t2015' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testRealErrorHasTraceback</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t2016' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Test that a genuine error does show a traceback.</span><span class='strut'>&nbsp;</span></p>
-<p id='t2017' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>d</span> <span class='op'>=</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t2018' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;error.cog&#39;</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t2019' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t2020' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; raise RuntimeError(&quot;Hey!&quot;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t2021' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t2022' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class='strut'>&nbsp;</span></p>
-<p id='t2023' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t2024' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t2025' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t2026' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>makeFiles</span><span class='op'>(</span><span class='nam'>d</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t2027' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cog</span><span class='op'>.</span><span class='nam'>main</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;argv0&#39;</span><span class='op'>,</span> <span class='str'>&#39;-r&#39;</span><span class='op'>,</span> <span class='str'>&#39;error.cog&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t2028' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>output</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>output</span><span class='op'>.</span><span class='nam'>getvalue</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t2029' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>msg</span> <span class='op'>=</span> <span class='str'>&#39;Actual output:\n&#39;</span> <span class='op'>+</span> <span class='nam'>output</span><span class='strut'>&nbsp;</span></p>
-<p id='t2030' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assert_</span><span class='op'>(</span><span class='nam'>output</span><span class='op'>.</span><span class='nam'>startswith</span><span class='op'>(</span><span class='str'>&quot;Cogging error.cog\nTraceback (most recent&quot;</span><span class='op'>)</span><span class='op'>,</span> <span class='nam'>msg</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t2031' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assert_</span><span class='op'>(</span><span class='nam'>output</span><span class='op'>.</span><span class='nam'>find</span><span class='op'>(</span><span class='str'>&quot;RuntimeError: Hey!&quot;</span><span class='op'>)</span> <span class='op'>&gt;</span> <span class='num'>0</span><span class='op'>,</span> <span class='nam'>msg</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t2032' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t2033' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t2034' class='exc'><span class='key'>if</span> <span class='nam'>__name__</span> <span class='op'>==</span> <span class='str'>&#39;__main__&#39;</span><span class='op'>:</span>&nbsp; &nbsp; &nbsp; <span class='com'>#pragma: no cover</span><span class='strut'>&nbsp;</span></p>
-<p id='t2035' class='exc'>&nbsp; &nbsp; <span class='nam'>unittest</span><span class='op'>.</span><span class='nam'>main</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t2036' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t2037' class='pln'><span class='com'># Things not yet tested:</span><span class='strut'>&nbsp;</span></p>
-<p id='t2038' class='pln'><span class='com'># - A bad -w command (currently fails silently).</span><span class='strut'>&nbsp;</span></p>
-
- </td>
- </tr>
- </table>
-</div>
-
-<div id='footer'>
- <div class='content'>
- <p>
- <a class='nav' href='index.html'>&#xab; index</a> &nbsp; &nbsp; <a class='nav' href='http://nedbatchelder.com/code/coverage'>coverage.py v3.7.1</a>
- </p>
- </div>
-</div>
-
-</body>
-</html>
diff --git a/doc/sample_html/cogapp_test_cogapp_py.html b/doc/sample_html/cogapp_test_cogapp_py.html
new file mode 100644
index 00000000..659c8470
--- /dev/null
+++ b/doc/sample_html/cogapp_test_cogapp_py.html
@@ -0,0 +1,4535 @@
+
+
+
+<!DOCTYPE html>
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+
+
+ <meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
+ <title>Coverage for cogapp/test_cogapp.py: 99.86%</title>
+ <link rel="stylesheet" href="style.css" type="text/css">
+
+ <script type="text/javascript" src="jquery.min.js"></script>
+ <script type="text/javascript" src="jquery.hotkeys.js"></script>
+ <script type="text/javascript" src="jquery.isonscreen.js"></script>
+ <script type="text/javascript" src="coverage_html.js"></script>
+ <script type="text/javascript">
+ jQuery(document).ready(coverage.pyfile_ready);
+ </script>
+</head>
+<body class="pyfile">
+
+<div id="header">
+ <div class="content">
+ <h1>Coverage for <b>cogapp/test_cogapp.py</b> :
+ <span class="pc_cov">99.86%</span>
+ </h1>
+
+ <img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
+
+ <h2 class="stats">
+ 704 statements &nbsp;
+ <span class="run hide_run shortkey_r button_toggle_run">704 run</span>
+ <span class="mis shortkey_m button_toggle_mis">0 missing</span>
+ <span class="exc shortkey_x button_toggle_exc">6 excluded</span>
+
+
+ <span class="par run hide_run shortkey_p button_toggle_par">1 partial</span>
+
+ </h2>
+ </div>
+</div>
+
+<div class="help_panel">
+ <img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
+<p class="legend">Hot-keys on this page</p>
+ <div>
+<p class="keyhelp">
+ <span class="key">r</span>
+ <span class="key">m</span>
+ <span class="key">x</span>
+ <span class="key">p</span> &nbsp; toggle line displays
+ </p>
+<p class="keyhelp">
+ <span class="key">j</span>
+ <span class="key">k</span> &nbsp; next/prev highlighted chunk
+ </p>
+<p class="keyhelp">
+ <span class="key">0</span> &nbsp; (zero) top of page
+ </p>
+<p class="keyhelp">
+ <span class="key">1</span> &nbsp; (one) first highlighted chunk
+ </p>
+ </div>
+</div>
+
+<div id="source">
+ <table>
+ <tr>
+ <td class="linenos">
+<p id="n1" class="pln"><a href="#n1">1</a></p>
+<p id="n2" class="pln"><a href="#n2">2</a></p>
+<p id="n3" class="pln"><a href="#n3">3</a></p>
+<p id="n4" class="pln"><a href="#n4">4</a></p>
+<p id="n5" class="pln"><a href="#n5">5</a></p>
+<p id="n6" class="pln"><a href="#n6">6</a></p>
+<p id="n7" class="stm run hide_run"><a href="#n7">7</a></p>
+<p id="n8" class="pln"><a href="#n8">8</a></p>
+<p id="n9" class="stm run hide_run"><a href="#n9">9</a></p>
+<p id="n10" class="pln"><a href="#n10">10</a></p>
+<p id="n11" class="pln"><a href="#n11">11</a></p>
+<p id="n12" class="pln"><a href="#n12">12</a></p>
+<p id="n13" class="stm run hide_run"><a href="#n13">13</a></p>
+<p id="n14" class="stm run hide_run"><a href="#n14">14</a></p>
+<p id="n15" class="stm run hide_run"><a href="#n15">15</a></p>
+<p id="n16" class="stm run hide_run"><a href="#n16">16</a></p>
+<p id="n17" class="pln"><a href="#n17">17</a></p>
+<p id="n18" class="stm run hide_run"><a href="#n18">18</a></p>
+<p id="n19" class="stm run hide_run"><a href="#n19">19</a></p>
+<p id="n20" class="stm run hide_run"><a href="#n20">20</a></p>
+<p id="n21" class="stm run hide_run"><a href="#n21">21</a></p>
+<p id="n22" class="stm run hide_run"><a href="#n22">22</a></p>
+<p id="n23" class="stm run hide_run"><a href="#n23">23</a></p>
+<p id="n24" class="pln"><a href="#n24">24</a></p>
+<p id="n25" class="pln"><a href="#n25">25</a></p>
+<p id="n26" class="stm run hide_run"><a href="#n26">26</a></p>
+<p id="n27" class="pln"><a href="#n27">27</a></p>
+<p id="n28" class="pln"><a href="#n28">28</a></p>
+<p id="n29" class="stm run hide_run"><a href="#n29">29</a></p>
+<p id="n30" class="pln"><a href="#n30">30</a></p>
+<p id="n31" class="pln"><a href="#n31">31</a></p>
+<p id="n32" class="pln"><a href="#n32">32</a></p>
+<p id="n33" class="stm run hide_run"><a href="#n33">33</a></p>
+<p id="n34" class="stm run hide_run"><a href="#n34">34</a></p>
+<p id="n35" class="pln"><a href="#n35">35</a></p>
+<p id="n36" class="pln"><a href="#n36">36</a></p>
+<p id="n37" class="pln"><a href="#n37">37</a></p>
+<p id="n38" class="pln"><a href="#n38">38</a></p>
+<p id="n39" class="pln"><a href="#n39">39</a></p>
+<p id="n40" class="pln"><a href="#n40">40</a></p>
+<p id="n41" class="pln"><a href="#n41">41</a></p>
+<p id="n42" class="stm run hide_run"><a href="#n42">42</a></p>
+<p id="n43" class="stm run hide_run"><a href="#n43">43</a></p>
+<p id="n44" class="pln"><a href="#n44">44</a></p>
+<p id="n45" class="stm run hide_run"><a href="#n45">45</a></p>
+<p id="n46" class="stm run hide_run"><a href="#n46">46</a></p>
+<p id="n47" class="pln"><a href="#n47">47</a></p>
+<p id="n48" class="pln"><a href="#n48">48</a></p>
+<p id="n49" class="pln"><a href="#n49">49</a></p>
+<p id="n50" class="pln"><a href="#n50">50</a></p>
+<p id="n51" class="pln"><a href="#n51">51</a></p>
+<p id="n52" class="pln"><a href="#n52">52</a></p>
+<p id="n53" class="pln"><a href="#n53">53</a></p>
+<p id="n54" class="pln"><a href="#n54">54</a></p>
+<p id="n55" class="pln"><a href="#n55">55</a></p>
+<p id="n56" class="pln"><a href="#n56">56</a></p>
+<p id="n57" class="pln"><a href="#n57">57</a></p>
+<p id="n58" class="stm run hide_run"><a href="#n58">58</a></p>
+<p id="n59" class="pln"><a href="#n59">59</a></p>
+<p id="n60" class="pln"><a href="#n60">60</a></p>
+<p id="n61" class="pln"><a href="#n61">61</a></p>
+<p id="n62" class="pln"><a href="#n62">62</a></p>
+<p id="n63" class="pln"><a href="#n63">63</a></p>
+<p id="n64" class="pln"><a href="#n64">64</a></p>
+<p id="n65" class="pln"><a href="#n65">65</a></p>
+<p id="n66" class="pln"><a href="#n66">66</a></p>
+<p id="n67" class="pln"><a href="#n67">67</a></p>
+<p id="n68" class="pln"><a href="#n68">68</a></p>
+<p id="n69" class="pln"><a href="#n69">69</a></p>
+<p id="n70" class="pln"><a href="#n70">70</a></p>
+<p id="n71" class="pln"><a href="#n71">71</a></p>
+<p id="n72" class="stm run hide_run"><a href="#n72">72</a></p>
+<p id="n73" class="pln"><a href="#n73">73</a></p>
+<p id="n74" class="stm run hide_run"><a href="#n74">74</a></p>
+<p id="n75" class="pln"><a href="#n75">75</a></p>
+<p id="n76" class="pln"><a href="#n76">76</a></p>
+<p id="n77" class="stm run hide_run"><a href="#n77">77</a></p>
+<p id="n78" class="pln"><a href="#n78">78</a></p>
+<p id="n79" class="pln"><a href="#n79">79</a></p>
+<p id="n80" class="pln"><a href="#n80">80</a></p>
+<p id="n81" class="pln"><a href="#n81">81</a></p>
+<p id="n82" class="pln"><a href="#n82">82</a></p>
+<p id="n83" class="pln"><a href="#n83">83</a></p>
+<p id="n84" class="pln"><a href="#n84">84</a></p>
+<p id="n85" class="stm run hide_run"><a href="#n85">85</a></p>
+<p id="n86" class="stm run hide_run"><a href="#n86">86</a></p>
+<p id="n87" class="pln"><a href="#n87">87</a></p>
+<p id="n88" class="stm run hide_run"><a href="#n88">88</a></p>
+<p id="n89" class="pln"><a href="#n89">89</a></p>
+<p id="n90" class="stm run hide_run"><a href="#n90">90</a></p>
+<p id="n91" class="pln"><a href="#n91">91</a></p>
+<p id="n92" class="pln"><a href="#n92">92</a></p>
+<p id="n93" class="pln"><a href="#n93">93</a></p>
+<p id="n94" class="pln"><a href="#n94">94</a></p>
+<p id="n95" class="pln"><a href="#n95">95</a></p>
+<p id="n96" class="pln"><a href="#n96">96</a></p>
+<p id="n97" class="pln"><a href="#n97">97</a></p>
+<p id="n98" class="pln"><a href="#n98">98</a></p>
+<p id="n99" class="pln"><a href="#n99">99</a></p>
+<p id="n100" class="pln"><a href="#n100">100</a></p>
+<p id="n101" class="pln"><a href="#n101">101</a></p>
+<p id="n102" class="pln"><a href="#n102">102</a></p>
+<p id="n103" class="pln"><a href="#n103">103</a></p>
+<p id="n104" class="pln"><a href="#n104">104</a></p>
+<p id="n105" class="pln"><a href="#n105">105</a></p>
+<p id="n106" class="pln"><a href="#n106">106</a></p>
+<p id="n107" class="pln"><a href="#n107">107</a></p>
+<p id="n108" class="pln"><a href="#n108">108</a></p>
+<p id="n109" class="stm run hide_run"><a href="#n109">109</a></p>
+<p id="n110" class="stm run hide_run"><a href="#n110">110</a></p>
+<p id="n111" class="pln"><a href="#n111">111</a></p>
+<p id="n112" class="stm run hide_run"><a href="#n112">112</a></p>
+<p id="n113" class="stm run hide_run"><a href="#n113">113</a></p>
+<p id="n114" class="pln"><a href="#n114">114</a></p>
+<p id="n115" class="pln"><a href="#n115">115</a></p>
+<p id="n116" class="pln"><a href="#n116">116</a></p>
+<p id="n117" class="pln"><a href="#n117">117</a></p>
+<p id="n118" class="pln"><a href="#n118">118</a></p>
+<p id="n119" class="pln"><a href="#n119">119</a></p>
+<p id="n120" class="pln"><a href="#n120">120</a></p>
+<p id="n121" class="pln"><a href="#n121">121</a></p>
+<p id="n122" class="pln"><a href="#n122">122</a></p>
+<p id="n123" class="pln"><a href="#n123">123</a></p>
+<p id="n124" class="pln"><a href="#n124">124</a></p>
+<p id="n125" class="pln"><a href="#n125">125</a></p>
+<p id="n126" class="pln"><a href="#n126">126</a></p>
+<p id="n127" class="stm run hide_run"><a href="#n127">127</a></p>
+<p id="n128" class="stm run hide_run"><a href="#n128">128</a></p>
+<p id="n129" class="pln"><a href="#n129">129</a></p>
+<p id="n130" class="stm run hide_run"><a href="#n130">130</a></p>
+<p id="n131" class="stm run hide_run"><a href="#n131">131</a></p>
+<p id="n132" class="pln"><a href="#n132">132</a></p>
+<p id="n133" class="pln"><a href="#n133">133</a></p>
+<p id="n134" class="pln"><a href="#n134">134</a></p>
+<p id="n135" class="pln"><a href="#n135">135</a></p>
+<p id="n136" class="pln"><a href="#n136">136</a></p>
+<p id="n137" class="pln"><a href="#n137">137</a></p>
+<p id="n138" class="pln"><a href="#n138">138</a></p>
+<p id="n139" class="pln"><a href="#n139">139</a></p>
+<p id="n140" class="pln"><a href="#n140">140</a></p>
+<p id="n141" class="pln"><a href="#n141">141</a></p>
+<p id="n142" class="pln"><a href="#n142">142</a></p>
+<p id="n143" class="pln"><a href="#n143">143</a></p>
+<p id="n144" class="pln"><a href="#n144">144</a></p>
+<p id="n145" class="pln"><a href="#n145">145</a></p>
+<p id="n146" class="stm run hide_run"><a href="#n146">146</a></p>
+<p id="n147" class="stm run hide_run"><a href="#n147">147</a></p>
+<p id="n148" class="pln"><a href="#n148">148</a></p>
+<p id="n149" class="stm run hide_run"><a href="#n149">149</a></p>
+<p id="n150" class="pln"><a href="#n150">150</a></p>
+<p id="n151" class="pln"><a href="#n151">151</a></p>
+<p id="n152" class="stm run hide_run"><a href="#n152">152</a></p>
+<p id="n153" class="pln"><a href="#n153">153</a></p>
+<p id="n154" class="pln"><a href="#n154">154</a></p>
+<p id="n155" class="pln"><a href="#n155">155</a></p>
+<p id="n156" class="pln"><a href="#n156">156</a></p>
+<p id="n157" class="pln"><a href="#n157">157</a></p>
+<p id="n158" class="pln"><a href="#n158">158</a></p>
+<p id="n159" class="pln"><a href="#n159">159</a></p>
+<p id="n160" class="pln"><a href="#n160">160</a></p>
+<p id="n161" class="pln"><a href="#n161">161</a></p>
+<p id="n162" class="pln"><a href="#n162">162</a></p>
+<p id="n163" class="pln"><a href="#n163">163</a></p>
+<p id="n164" class="stm run hide_run"><a href="#n164">164</a></p>
+<p id="n165" class="stm run hide_run"><a href="#n165">165</a></p>
+<p id="n166" class="pln"><a href="#n166">166</a></p>
+<p id="n167" class="stm run hide_run"><a href="#n167">167</a></p>
+<p id="n168" class="stm run hide_run"><a href="#n168">168</a></p>
+<p id="n169" class="pln"><a href="#n169">169</a></p>
+<p id="n170" class="pln"><a href="#n170">170</a></p>
+<p id="n171" class="pln"><a href="#n171">171</a></p>
+<p id="n172" class="pln"><a href="#n172">172</a></p>
+<p id="n173" class="pln"><a href="#n173">173</a></p>
+<p id="n174" class="pln"><a href="#n174">174</a></p>
+<p id="n175" class="pln"><a href="#n175">175</a></p>
+<p id="n176" class="pln"><a href="#n176">176</a></p>
+<p id="n177" class="pln"><a href="#n177">177</a></p>
+<p id="n178" class="pln"><a href="#n178">178</a></p>
+<p id="n179" class="pln"><a href="#n179">179</a></p>
+<p id="n180" class="pln"><a href="#n180">180</a></p>
+<p id="n181" class="pln"><a href="#n181">181</a></p>
+<p id="n182" class="stm run hide_run"><a href="#n182">182</a></p>
+<p id="n183" class="stm run hide_run"><a href="#n183">183</a></p>
+<p id="n184" class="pln"><a href="#n184">184</a></p>
+<p id="n185" class="stm run hide_run"><a href="#n185">185</a></p>
+<p id="n186" class="stm run hide_run"><a href="#n186">186</a></p>
+<p id="n187" class="pln"><a href="#n187">187</a></p>
+<p id="n188" class="pln"><a href="#n188">188</a></p>
+<p id="n189" class="pln"><a href="#n189">189</a></p>
+<p id="n190" class="pln"><a href="#n190">190</a></p>
+<p id="n191" class="pln"><a href="#n191">191</a></p>
+<p id="n192" class="pln"><a href="#n192">192</a></p>
+<p id="n193" class="pln"><a href="#n193">193</a></p>
+<p id="n194" class="pln"><a href="#n194">194</a></p>
+<p id="n195" class="pln"><a href="#n195">195</a></p>
+<p id="n196" class="pln"><a href="#n196">196</a></p>
+<p id="n197" class="pln"><a href="#n197">197</a></p>
+<p id="n198" class="stm run hide_run"><a href="#n198">198</a></p>
+<p id="n199" class="stm run hide_run"><a href="#n199">199</a></p>
+<p id="n200" class="pln"><a href="#n200">200</a></p>
+<p id="n201" class="stm run hide_run"><a href="#n201">201</a></p>
+<p id="n202" class="stm run hide_run"><a href="#n202">202</a></p>
+<p id="n203" class="pln"><a href="#n203">203</a></p>
+<p id="n204" class="pln"><a href="#n204">204</a></p>
+<p id="n205" class="pln"><a href="#n205">205</a></p>
+<p id="n206" class="pln"><a href="#n206">206</a></p>
+<p id="n207" class="pln"><a href="#n207">207</a></p>
+<p id="n208" class="pln"><a href="#n208">208</a></p>
+<p id="n209" class="pln"><a href="#n209">209</a></p>
+<p id="n210" class="pln"><a href="#n210">210</a></p>
+<p id="n211" class="pln"><a href="#n211">211</a></p>
+<p id="n212" class="pln"><a href="#n212">212</a></p>
+<p id="n213" class="pln"><a href="#n213">213</a></p>
+<p id="n214" class="pln"><a href="#n214">214</a></p>
+<p id="n215" class="stm run hide_run"><a href="#n215">215</a></p>
+<p id="n216" class="stm run hide_run"><a href="#n216">216</a></p>
+<p id="n217" class="pln"><a href="#n217">217</a></p>
+<p id="n218" class="stm run hide_run"><a href="#n218">218</a></p>
+<p id="n219" class="stm run hide_run"><a href="#n219">219</a></p>
+<p id="n220" class="pln"><a href="#n220">220</a></p>
+<p id="n221" class="pln"><a href="#n221">221</a></p>
+<p id="n222" class="pln"><a href="#n222">222</a></p>
+<p id="n223" class="pln"><a href="#n223">223</a></p>
+<p id="n224" class="pln"><a href="#n224">224</a></p>
+<p id="n225" class="pln"><a href="#n225">225</a></p>
+<p id="n226" class="pln"><a href="#n226">226</a></p>
+<p id="n227" class="pln"><a href="#n227">227</a></p>
+<p id="n228" class="pln"><a href="#n228">228</a></p>
+<p id="n229" class="pln"><a href="#n229">229</a></p>
+<p id="n230" class="pln"><a href="#n230">230</a></p>
+<p id="n231" class="pln"><a href="#n231">231</a></p>
+<p id="n232" class="pln"><a href="#n232">232</a></p>
+<p id="n233" class="stm run hide_run"><a href="#n233">233</a></p>
+<p id="n234" class="stm run hide_run"><a href="#n234">234</a></p>
+<p id="n235" class="pln"><a href="#n235">235</a></p>
+<p id="n236" class="stm run hide_run"><a href="#n236">236</a></p>
+<p id="n237" class="pln"><a href="#n237">237</a></p>
+<p id="n238" class="pln"><a href="#n238">238</a></p>
+<p id="n239" class="stm run hide_run"><a href="#n239">239</a></p>
+<p id="n240" class="pln"><a href="#n240">240</a></p>
+<p id="n241" class="pln"><a href="#n241">241</a></p>
+<p id="n242" class="pln"><a href="#n242">242</a></p>
+<p id="n243" class="pln"><a href="#n243">243</a></p>
+<p id="n244" class="pln"><a href="#n244">244</a></p>
+<p id="n245" class="pln"><a href="#n245">245</a></p>
+<p id="n246" class="pln"><a href="#n246">246</a></p>
+<p id="n247" class="pln"><a href="#n247">247</a></p>
+<p id="n248" class="pln"><a href="#n248">248</a></p>
+<p id="n249" class="pln"><a href="#n249">249</a></p>
+<p id="n250" class="pln"><a href="#n250">250</a></p>
+<p id="n251" class="stm run hide_run"><a href="#n251">251</a></p>
+<p id="n252" class="stm run hide_run"><a href="#n252">252</a></p>
+<p id="n253" class="pln"><a href="#n253">253</a></p>
+<p id="n254" class="stm run hide_run"><a href="#n254">254</a></p>
+<p id="n255" class="pln"><a href="#n255">255</a></p>
+<p id="n256" class="stm run hide_run"><a href="#n256">256</a></p>
+<p id="n257" class="pln"><a href="#n257">257</a></p>
+<p id="n258" class="pln"><a href="#n258">258</a></p>
+<p id="n259" class="pln"><a href="#n259">259</a></p>
+<p id="n260" class="pln"><a href="#n260">260</a></p>
+<p id="n261" class="pln"><a href="#n261">261</a></p>
+<p id="n262" class="pln"><a href="#n262">262</a></p>
+<p id="n263" class="pln"><a href="#n263">263</a></p>
+<p id="n264" class="pln"><a href="#n264">264</a></p>
+<p id="n265" class="stm run hide_run"><a href="#n265">265</a></p>
+<p id="n266" class="stm run hide_run"><a href="#n266">266</a></p>
+<p id="n267" class="pln"><a href="#n267">267</a></p>
+<p id="n268" class="stm run hide_run"><a href="#n268">268</a></p>
+<p id="n269" class="pln"><a href="#n269">269</a></p>
+<p id="n270" class="pln"><a href="#n270">270</a></p>
+<p id="n271" class="pln"><a href="#n271">271</a></p>
+<p id="n272" class="stm run hide_run"><a href="#n272">272</a></p>
+<p id="n273" class="pln"><a href="#n273">273</a></p>
+<p id="n274" class="pln"><a href="#n274">274</a></p>
+<p id="n275" class="pln"><a href="#n275">275</a></p>
+<p id="n276" class="pln"><a href="#n276">276</a></p>
+<p id="n277" class="pln"><a href="#n277">277</a></p>
+<p id="n278" class="pln"><a href="#n278">278</a></p>
+<p id="n279" class="pln"><a href="#n279">279</a></p>
+<p id="n280" class="pln"><a href="#n280">280</a></p>
+<p id="n281" class="pln"><a href="#n281">281</a></p>
+<p id="n282" class="pln"><a href="#n282">282</a></p>
+<p id="n283" class="pln"><a href="#n283">283</a></p>
+<p id="n284" class="pln"><a href="#n284">284</a></p>
+<p id="n285" class="stm run hide_run"><a href="#n285">285</a></p>
+<p id="n286" class="stm run hide_run"><a href="#n286">286</a></p>
+<p id="n287" class="pln"><a href="#n287">287</a></p>
+<p id="n288" class="stm run hide_run"><a href="#n288">288</a></p>
+<p id="n289" class="pln"><a href="#n289">289</a></p>
+<p id="n290" class="pln"><a href="#n290">290</a></p>
+<p id="n291" class="pln"><a href="#n291">291</a></p>
+<p id="n292" class="stm run hide_run"><a href="#n292">292</a></p>
+<p id="n293" class="pln"><a href="#n293">293</a></p>
+<p id="n294" class="pln"><a href="#n294">294</a></p>
+<p id="n295" class="pln"><a href="#n295">295</a></p>
+<p id="n296" class="pln"><a href="#n296">296</a></p>
+<p id="n297" class="pln"><a href="#n297">297</a></p>
+<p id="n298" class="pln"><a href="#n298">298</a></p>
+<p id="n299" class="pln"><a href="#n299">299</a></p>
+<p id="n300" class="pln"><a href="#n300">300</a></p>
+<p id="n301" class="pln"><a href="#n301">301</a></p>
+<p id="n302" class="pln"><a href="#n302">302</a></p>
+<p id="n303" class="pln"><a href="#n303">303</a></p>
+<p id="n304" class="pln"><a href="#n304">304</a></p>
+<p id="n305" class="pln"><a href="#n305">305</a></p>
+<p id="n306" class="pln"><a href="#n306">306</a></p>
+<p id="n307" class="pln"><a href="#n307">307</a></p>
+<p id="n308" class="pln"><a href="#n308">308</a></p>
+<p id="n309" class="pln"><a href="#n309">309</a></p>
+<p id="n310" class="stm run hide_run"><a href="#n310">310</a></p>
+<p id="n311" class="stm run hide_run"><a href="#n311">311</a></p>
+<p id="n312" class="pln"><a href="#n312">312</a></p>
+<p id="n313" class="stm run hide_run"><a href="#n313">313</a></p>
+<p id="n314" class="stm run hide_run"><a href="#n314">314</a></p>
+<p id="n315" class="pln"><a href="#n315">315</a></p>
+<p id="n316" class="pln"><a href="#n316">316</a></p>
+<p id="n317" class="pln"><a href="#n317">317</a></p>
+<p id="n318" class="pln"><a href="#n318">318</a></p>
+<p id="n319" class="pln"><a href="#n319">319</a></p>
+<p id="n320" class="pln"><a href="#n320">320</a></p>
+<p id="n321" class="pln"><a href="#n321">321</a></p>
+<p id="n322" class="pln"><a href="#n322">322</a></p>
+<p id="n323" class="pln"><a href="#n323">323</a></p>
+<p id="n324" class="pln"><a href="#n324">324</a></p>
+<p id="n325" class="pln"><a href="#n325">325</a></p>
+<p id="n326" class="pln"><a href="#n326">326</a></p>
+<p id="n327" class="pln"><a href="#n327">327</a></p>
+<p id="n328" class="pln"><a href="#n328">328</a></p>
+<p id="n329" class="stm run hide_run"><a href="#n329">329</a></p>
+<p id="n330" class="stm run hide_run"><a href="#n330">330</a></p>
+<p id="n331" class="pln"><a href="#n331">331</a></p>
+<p id="n332" class="stm run hide_run"><a href="#n332">332</a></p>
+<p id="n333" class="stm run hide_run"><a href="#n333">333</a></p>
+<p id="n334" class="pln"><a href="#n334">334</a></p>
+<p id="n335" class="pln"><a href="#n335">335</a></p>
+<p id="n336" class="pln"><a href="#n336">336</a></p>
+<p id="n337" class="pln"><a href="#n337">337</a></p>
+<p id="n338" class="pln"><a href="#n338">338</a></p>
+<p id="n339" class="pln"><a href="#n339">339</a></p>
+<p id="n340" class="pln"><a href="#n340">340</a></p>
+<p id="n341" class="stm run hide_run"><a href="#n341">341</a></p>
+<p id="n342" class="pln"><a href="#n342">342</a></p>
+<p id="n343" class="pln"><a href="#n343">343</a></p>
+<p id="n344" class="pln"><a href="#n344">344</a></p>
+<p id="n345" class="pln"><a href="#n345">345</a></p>
+<p id="n346" class="pln"><a href="#n346">346</a></p>
+<p id="n347" class="pln"><a href="#n347">347</a></p>
+<p id="n348" class="pln"><a href="#n348">348</a></p>
+<p id="n349" class="stm run hide_run"><a href="#n349">349</a></p>
+<p id="n350" class="stm run hide_run"><a href="#n350">350</a></p>
+<p id="n351" class="pln"><a href="#n351">351</a></p>
+<p id="n352" class="stm run hide_run"><a href="#n352">352</a></p>
+<p id="n353" class="stm run hide_run"><a href="#n353">353</a></p>
+<p id="n354" class="pln"><a href="#n354">354</a></p>
+<p id="n355" class="pln"><a href="#n355">355</a></p>
+<p id="n356" class="pln"><a href="#n356">356</a></p>
+<p id="n357" class="pln"><a href="#n357">357</a></p>
+<p id="n358" class="pln"><a href="#n358">358</a></p>
+<p id="n359" class="pln"><a href="#n359">359</a></p>
+<p id="n360" class="stm run hide_run"><a href="#n360">360</a></p>
+<p id="n361" class="stm run hide_run"><a href="#n361">361</a></p>
+<p id="n362" class="pln"><a href="#n362">362</a></p>
+<p id="n363" class="stm run hide_run"><a href="#n363">363</a></p>
+<p id="n364" class="stm run hide_run"><a href="#n364">364</a></p>
+<p id="n365" class="pln"><a href="#n365">365</a></p>
+<p id="n366" class="pln"><a href="#n366">366</a></p>
+<p id="n367" class="pln"><a href="#n367">367</a></p>
+<p id="n368" class="pln"><a href="#n368">368</a></p>
+<p id="n369" class="pln"><a href="#n369">369</a></p>
+<p id="n370" class="pln"><a href="#n370">370</a></p>
+<p id="n371" class="pln"><a href="#n371">371</a></p>
+<p id="n372" class="pln"><a href="#n372">372</a></p>
+<p id="n373" class="pln"><a href="#n373">373</a></p>
+<p id="n374" class="stm run hide_run"><a href="#n374">374</a></p>
+<p id="n375" class="pln"><a href="#n375">375</a></p>
+<p id="n376" class="pln"><a href="#n376">376</a></p>
+<p id="n377" class="pln"><a href="#n377">377</a></p>
+<p id="n378" class="pln"><a href="#n378">378</a></p>
+<p id="n379" class="pln"><a href="#n379">379</a></p>
+<p id="n380" class="pln"><a href="#n380">380</a></p>
+<p id="n381" class="pln"><a href="#n381">381</a></p>
+<p id="n382" class="pln"><a href="#n382">382</a></p>
+<p id="n383" class="pln"><a href="#n383">383</a></p>
+<p id="n384" class="pln"><a href="#n384">384</a></p>
+<p id="n385" class="stm run hide_run"><a href="#n385">385</a></p>
+<p id="n386" class="stm run hide_run"><a href="#n386">386</a></p>
+<p id="n387" class="pln"><a href="#n387">387</a></p>
+<p id="n388" class="stm run hide_run"><a href="#n388">388</a></p>
+<p id="n389" class="pln"><a href="#n389">389</a></p>
+<p id="n390" class="stm run hide_run"><a href="#n390">390</a></p>
+<p id="n391" class="pln"><a href="#n391">391</a></p>
+<p id="n392" class="pln"><a href="#n392">392</a></p>
+<p id="n393" class="pln"><a href="#n393">393</a></p>
+<p id="n394" class="pln"><a href="#n394">394</a></p>
+<p id="n395" class="pln"><a href="#n395">395</a></p>
+<p id="n396" class="stm run hide_run"><a href="#n396">396</a></p>
+<p id="n397" class="stm run hide_run"><a href="#n397">397</a></p>
+<p id="n398" class="stm run hide_run"><a href="#n398">398</a></p>
+<p id="n399" class="pln"><a href="#n399">399</a></p>
+<p id="n400" class="stm run hide_run"><a href="#n400">400</a></p>
+<p id="n401" class="pln"><a href="#n401">401</a></p>
+<p id="n402" class="stm run hide_run"><a href="#n402">402</a></p>
+<p id="n403" class="pln"><a href="#n403">403</a></p>
+<p id="n404" class="pln"><a href="#n404">404</a></p>
+<p id="n405" class="pln"><a href="#n405">405</a></p>
+<p id="n406" class="pln"><a href="#n406">406</a></p>
+<p id="n407" class="pln"><a href="#n407">407</a></p>
+<p id="n408" class="pln"><a href="#n408">408</a></p>
+<p id="n409" class="pln"><a href="#n409">409</a></p>
+<p id="n410" class="pln"><a href="#n410">410</a></p>
+<p id="n411" class="pln"><a href="#n411">411</a></p>
+<p id="n412" class="stm run hide_run"><a href="#n412">412</a></p>
+<p id="n413" class="pln"><a href="#n413">413</a></p>
+<p id="n414" class="pln"><a href="#n414">414</a></p>
+<p id="n415" class="pln"><a href="#n415">415</a></p>
+<p id="n416" class="pln"><a href="#n416">416</a></p>
+<p id="n417" class="pln"><a href="#n417">417</a></p>
+<p id="n418" class="pln"><a href="#n418">418</a></p>
+<p id="n419" class="pln"><a href="#n419">419</a></p>
+<p id="n420" class="pln"><a href="#n420">420</a></p>
+<p id="n421" class="pln"><a href="#n421">421</a></p>
+<p id="n422" class="pln"><a href="#n422">422</a></p>
+<p id="n423" class="stm run hide_run"><a href="#n423">423</a></p>
+<p id="n424" class="stm run hide_run"><a href="#n424">424</a></p>
+<p id="n425" class="pln"><a href="#n425">425</a></p>
+<p id="n426" class="pln"><a href="#n426">426</a></p>
+<p id="n427" class="stm run hide_run"><a href="#n427">427</a></p>
+<p id="n428" class="pln"><a href="#n428">428</a></p>
+<p id="n429" class="pln"><a href="#n429">429</a></p>
+<p id="n430" class="pln"><a href="#n430">430</a></p>
+<p id="n431" class="stm run hide_run"><a href="#n431">431</a></p>
+<p id="n432" class="stm run hide_run"><a href="#n432">432</a></p>
+<p id="n433" class="stm run hide_run"><a href="#n433">433</a></p>
+<p id="n434" class="stm run hide_run"><a href="#n434">434</a></p>
+<p id="n435" class="stm run hide_run"><a href="#n435">435</a></p>
+<p id="n436" class="stm run hide_run"><a href="#n436">436</a></p>
+<p id="n437" class="stm run hide_run"><a href="#n437">437</a></p>
+<p id="n438" class="stm run hide_run"><a href="#n438">438</a></p>
+<p id="n439" class="pln"><a href="#n439">439</a></p>
+<p id="n440" class="stm run hide_run"><a href="#n440">440</a></p>
+<p id="n441" class="stm run hide_run"><a href="#n441">441</a></p>
+<p id="n442" class="stm run hide_run"><a href="#n442">442</a></p>
+<p id="n443" class="stm run hide_run"><a href="#n443">443</a></p>
+<p id="n444" class="stm run hide_run"><a href="#n444">444</a></p>
+<p id="n445" class="stm run hide_run"><a href="#n445">445</a></p>
+<p id="n446" class="stm run hide_run"><a href="#n446">446</a></p>
+<p id="n447" class="stm run hide_run"><a href="#n447">447</a></p>
+<p id="n448" class="stm run hide_run"><a href="#n448">448</a></p>
+<p id="n449" class="stm run hide_run"><a href="#n449">449</a></p>
+<p id="n450" class="pln"><a href="#n450">450</a></p>
+<p id="n451" class="stm run hide_run"><a href="#n451">451</a></p>
+<p id="n452" class="pln"><a href="#n452">452</a></p>
+<p id="n453" class="stm run hide_run"><a href="#n453">453</a></p>
+<p id="n454" class="stm run hide_run"><a href="#n454">454</a></p>
+<p id="n455" class="stm run hide_run"><a href="#n455">455</a></p>
+<p id="n456" class="stm run hide_run"><a href="#n456">456</a></p>
+<p id="n457" class="stm run hide_run"><a href="#n457">457</a></p>
+<p id="n458" class="pln"><a href="#n458">458</a></p>
+<p id="n459" class="stm run hide_run"><a href="#n459">459</a></p>
+<p id="n460" class="stm run hide_run"><a href="#n460">460</a></p>
+<p id="n461" class="stm run hide_run"><a href="#n461">461</a></p>
+<p id="n462" class="stm run hide_run"><a href="#n462">462</a></p>
+<p id="n463" class="stm run hide_run"><a href="#n463">463</a></p>
+<p id="n464" class="stm run hide_run"><a href="#n464">464</a></p>
+<p id="n465" class="pln"><a href="#n465">465</a></p>
+<p id="n466" class="stm run hide_run"><a href="#n466">466</a></p>
+<p id="n467" class="stm run hide_run"><a href="#n467">467</a></p>
+<p id="n468" class="stm run hide_run"><a href="#n468">468</a></p>
+<p id="n469" class="stm run hide_run"><a href="#n469">469</a></p>
+<p id="n470" class="stm run hide_run"><a href="#n470">470</a></p>
+<p id="n471" class="stm run hide_run"><a href="#n471">471</a></p>
+<p id="n472" class="pln"><a href="#n472">472</a></p>
+<p id="n473" class="pln"><a href="#n473">473</a></p>
+<p id="n474" class="stm run hide_run"><a href="#n474">474</a></p>
+<p id="n475" class="pln"><a href="#n475">475</a></p>
+<p id="n476" class="pln"><a href="#n476">476</a></p>
+<p id="n477" class="pln"><a href="#n477">477</a></p>
+<p id="n478" class="pln"><a href="#n478">478</a></p>
+<p id="n479" class="stm run hide_run"><a href="#n479">479</a></p>
+<p id="n480" class="stm run hide_run"><a href="#n480">480</a></p>
+<p id="n481" class="stm run hide_run"><a href="#n481">481</a></p>
+<p id="n482" class="stm run hide_run"><a href="#n482">482</a></p>
+<p id="n483" class="pln"><a href="#n483">483</a></p>
+<p id="n484" class="stm run hide_run"><a href="#n484">484</a></p>
+<p id="n485" class="stm run hide_run"><a href="#n485">485</a></p>
+<p id="n486" class="pln"><a href="#n486">486</a></p>
+<p id="n487" class="pln"><a href="#n487">487</a></p>
+<p id="n488" class="pln"><a href="#n488">488</a></p>
+<p id="n489" class="pln"><a href="#n489">489</a></p>
+<p id="n490" class="stm run hide_run"><a href="#n490">490</a></p>
+<p id="n491" class="pln"><a href="#n491">491</a></p>
+<p id="n492" class="stm run hide_run"><a href="#n492">492</a></p>
+<p id="n493" class="stm run hide_run"><a href="#n493">493</a></p>
+<p id="n494" class="pln"><a href="#n494">494</a></p>
+<p id="n495" class="pln"><a href="#n495">495</a></p>
+<p id="n496" class="pln"><a href="#n496">496</a></p>
+<p id="n497" class="pln"><a href="#n497">497</a></p>
+<p id="n498" class="pln"><a href="#n498">498</a></p>
+<p id="n499" class="stm run hide_run"><a href="#n499">499</a></p>
+<p id="n500" class="pln"><a href="#n500">500</a></p>
+<p id="n501" class="stm run hide_run"><a href="#n501">501</a></p>
+<p id="n502" class="pln"><a href="#n502">502</a></p>
+<p id="n503" class="pln"><a href="#n503">503</a></p>
+<p id="n504" class="pln"><a href="#n504">504</a></p>
+<p id="n505" class="pln"><a href="#n505">505</a></p>
+<p id="n506" class="pln"><a href="#n506">506</a></p>
+<p id="n507" class="pln"><a href="#n507">507</a></p>
+<p id="n508" class="pln"><a href="#n508">508</a></p>
+<p id="n509" class="pln"><a href="#n509">509</a></p>
+<p id="n510" class="stm run hide_run"><a href="#n510">510</a></p>
+<p id="n511" class="pln"><a href="#n511">511</a></p>
+<p id="n512" class="stm run hide_run"><a href="#n512">512</a></p>
+<p id="n513" class="stm run hide_run"><a href="#n513">513</a></p>
+<p id="n514" class="pln"><a href="#n514">514</a></p>
+<p id="n515" class="pln"><a href="#n515">515</a></p>
+<p id="n516" class="stm run hide_run"><a href="#n516">516</a></p>
+<p id="n517" class="pln"><a href="#n517">517</a></p>
+<p id="n518" class="stm run hide_run"><a href="#n518">518</a></p>
+<p id="n519" class="pln"><a href="#n519">519</a></p>
+<p id="n520" class="pln"><a href="#n520">520</a></p>
+<p id="n521" class="pln"><a href="#n521">521</a></p>
+<p id="n522" class="pln"><a href="#n522">522</a></p>
+<p id="n523" class="pln"><a href="#n523">523</a></p>
+<p id="n524" class="pln"><a href="#n524">524</a></p>
+<p id="n525" class="stm run hide_run"><a href="#n525">525</a></p>
+<p id="n526" class="pln"><a href="#n526">526</a></p>
+<p id="n527" class="stm run hide_run"><a href="#n527">527</a></p>
+<p id="n528" class="stm run hide_run"><a href="#n528">528</a></p>
+<p id="n529" class="pln"><a href="#n529">529</a></p>
+<p id="n530" class="pln"><a href="#n530">530</a></p>
+<p id="n531" class="stm run hide_run"><a href="#n531">531</a></p>
+<p id="n532" class="pln"><a href="#n532">532</a></p>
+<p id="n533" class="stm run hide_run"><a href="#n533">533</a></p>
+<p id="n534" class="pln"><a href="#n534">534</a></p>
+<p id="n535" class="pln"><a href="#n535">535</a></p>
+<p id="n536" class="pln"><a href="#n536">536</a></p>
+<p id="n537" class="pln"><a href="#n537">537</a></p>
+<p id="n538" class="pln"><a href="#n538">538</a></p>
+<p id="n539" class="pln"><a href="#n539">539</a></p>
+<p id="n540" class="stm run hide_run"><a href="#n540">540</a></p>
+<p id="n541" class="pln"><a href="#n541">541</a></p>
+<p id="n542" class="stm run hide_run"><a href="#n542">542</a></p>
+<p id="n543" class="stm run hide_run"><a href="#n543">543</a></p>
+<p id="n544" class="pln"><a href="#n544">544</a></p>
+<p id="n545" class="pln"><a href="#n545">545</a></p>
+<p id="n546" class="pln"><a href="#n546">546</a></p>
+<p id="n547" class="pln"><a href="#n547">547</a></p>
+<p id="n548" class="stm run hide_run"><a href="#n548">548</a></p>
+<p id="n549" class="pln"><a href="#n549">549</a></p>
+<p id="n550" class="stm run hide_run"><a href="#n550">550</a></p>
+<p id="n551" class="pln"><a href="#n551">551</a></p>
+<p id="n552" class="pln"><a href="#n552">552</a></p>
+<p id="n553" class="pln"><a href="#n553">553</a></p>
+<p id="n554" class="pln"><a href="#n554">554</a></p>
+<p id="n555" class="pln"><a href="#n555">555</a></p>
+<p id="n556" class="pln"><a href="#n556">556</a></p>
+<p id="n557" class="pln"><a href="#n557">557</a></p>
+<p id="n558" class="pln"><a href="#n558">558</a></p>
+<p id="n559" class="stm run hide_run"><a href="#n559">559</a></p>
+<p id="n560" class="pln"><a href="#n560">560</a></p>
+<p id="n561" class="stm run hide_run"><a href="#n561">561</a></p>
+<p id="n562" class="stm run hide_run"><a href="#n562">562</a></p>
+<p id="n563" class="pln"><a href="#n563">563</a></p>
+<p id="n564" class="pln"><a href="#n564">564</a></p>
+<p id="n565" class="pln"><a href="#n565">565</a></p>
+<p id="n566" class="pln"><a href="#n566">566</a></p>
+<p id="n567" class="pln"><a href="#n567">567</a></p>
+<p id="n568" class="pln"><a href="#n568">568</a></p>
+<p id="n569" class="stm run hide_run"><a href="#n569">569</a></p>
+<p id="n570" class="pln"><a href="#n570">570</a></p>
+<p id="n571" class="stm run hide_run"><a href="#n571">571</a></p>
+<p id="n572" class="pln"><a href="#n572">572</a></p>
+<p id="n573" class="pln"><a href="#n573">573</a></p>
+<p id="n574" class="pln"><a href="#n574">574</a></p>
+<p id="n575" class="pln"><a href="#n575">575</a></p>
+<p id="n576" class="pln"><a href="#n576">576</a></p>
+<p id="n577" class="pln"><a href="#n577">577</a></p>
+<p id="n578" class="pln"><a href="#n578">578</a></p>
+<p id="n579" class="pln"><a href="#n579">579</a></p>
+<p id="n580" class="pln"><a href="#n580">580</a></p>
+<p id="n581" class="pln"><a href="#n581">581</a></p>
+<p id="n582" class="stm run hide_run"><a href="#n582">582</a></p>
+<p id="n583" class="pln"><a href="#n583">583</a></p>
+<p id="n584" class="stm run hide_run"><a href="#n584">584</a></p>
+<p id="n585" class="stm run hide_run"><a href="#n585">585</a></p>
+<p id="n586" class="pln"><a href="#n586">586</a></p>
+<p id="n587" class="pln"><a href="#n587">587</a></p>
+<p id="n588" class="pln"><a href="#n588">588</a></p>
+<p id="n589" class="pln"><a href="#n589">589</a></p>
+<p id="n590" class="pln"><a href="#n590">590</a></p>
+<p id="n591" class="pln"><a href="#n591">591</a></p>
+<p id="n592" class="stm run hide_run"><a href="#n592">592</a></p>
+<p id="n593" class="pln"><a href="#n593">593</a></p>
+<p id="n594" class="stm run hide_run"><a href="#n594">594</a></p>
+<p id="n595" class="pln"><a href="#n595">595</a></p>
+<p id="n596" class="pln"><a href="#n596">596</a></p>
+<p id="n597" class="pln"><a href="#n597">597</a></p>
+<p id="n598" class="pln"><a href="#n598">598</a></p>
+<p id="n599" class="pln"><a href="#n599">599</a></p>
+<p id="n600" class="pln"><a href="#n600">600</a></p>
+<p id="n601" class="pln"><a href="#n601">601</a></p>
+<p id="n602" class="pln"><a href="#n602">602</a></p>
+<p id="n603" class="pln"><a href="#n603">603</a></p>
+<p id="n604" class="pln"><a href="#n604">604</a></p>
+<p id="n605" class="stm run hide_run"><a href="#n605">605</a></p>
+<p id="n606" class="pln"><a href="#n606">606</a></p>
+<p id="n607" class="pln"><a href="#n607">607</a></p>
+<p id="n608" class="stm run hide_run"><a href="#n608">608</a></p>
+<p id="n609" class="pln"><a href="#n609">609</a></p>
+<p id="n610" class="pln"><a href="#n610">610</a></p>
+<p id="n611" class="pln"><a href="#n611">611</a></p>
+<p id="n612" class="stm run hide_run"><a href="#n612">612</a></p>
+<p id="n613" class="stm run hide_run"><a href="#n613">613</a></p>
+<p id="n614" class="pln"><a href="#n614">614</a></p>
+<p id="n615" class="pln"><a href="#n615">615</a></p>
+<p id="n616" class="pln"><a href="#n616">616</a></p>
+<p id="n617" class="pln"><a href="#n617">617</a></p>
+<p id="n618" class="stm run hide_run"><a href="#n618">618</a></p>
+<p id="n619" class="stm run hide_run"><a href="#n619">619</a></p>
+<p id="n620" class="stm run hide_run"><a href="#n620">620</a></p>
+<p id="n621" class="pln"><a href="#n621">621</a></p>
+<p id="n622" class="stm run hide_run"><a href="#n622">622</a></p>
+<p id="n623" class="stm run hide_run"><a href="#n623">623</a></p>
+<p id="n624" class="pln"><a href="#n624">624</a></p>
+<p id="n625" class="pln"><a href="#n625">625</a></p>
+<p id="n626" class="pln"><a href="#n626">626</a></p>
+<p id="n627" class="pln"><a href="#n627">627</a></p>
+<p id="n628" class="stm run hide_run"><a href="#n628">628</a></p>
+<p id="n629" class="stm run hide_run"><a href="#n629">629</a></p>
+<p id="n630" class="stm run hide_run"><a href="#n630">630</a></p>
+<p id="n631" class="pln"><a href="#n631">631</a></p>
+<p id="n632" class="stm run hide_run"><a href="#n632">632</a></p>
+<p id="n633" class="stm run hide_run"><a href="#n633">633</a></p>
+<p id="n634" class="pln"><a href="#n634">634</a></p>
+<p id="n635" class="pln"><a href="#n635">635</a></p>
+<p id="n636" class="pln"><a href="#n636">636</a></p>
+<p id="n637" class="pln"><a href="#n637">637</a></p>
+<p id="n638" class="pln"><a href="#n638">638</a></p>
+<p id="n639" class="pln"><a href="#n639">639</a></p>
+<p id="n640" class="pln"><a href="#n640">640</a></p>
+<p id="n641" class="pln"><a href="#n641">641</a></p>
+<p id="n642" class="pln"><a href="#n642">642</a></p>
+<p id="n643" class="pln"><a href="#n643">643</a></p>
+<p id="n644" class="pln"><a href="#n644">644</a></p>
+<p id="n645" class="pln"><a href="#n645">645</a></p>
+<p id="n646" class="pln"><a href="#n646">646</a></p>
+<p id="n647" class="stm run hide_run"><a href="#n647">647</a></p>
+<p id="n648" class="stm run hide_run"><a href="#n648">648</a></p>
+<p id="n649" class="pln"><a href="#n649">649</a></p>
+<p id="n650" class="pln"><a href="#n650">650</a></p>
+<p id="n651" class="stm run hide_run"><a href="#n651">651</a></p>
+<p id="n652" class="pln"><a href="#n652">652</a></p>
+<p id="n653" class="pln"><a href="#n653">653</a></p>
+<p id="n654" class="pln"><a href="#n654">654</a></p>
+<p id="n655" class="pln"><a href="#n655">655</a></p>
+<p id="n656" class="stm run hide_run"><a href="#n656">656</a></p>
+<p id="n657" class="pln"><a href="#n657">657</a></p>
+<p id="n658" class="pln"><a href="#n658">658</a></p>
+<p id="n659" class="pln"><a href="#n659">659</a></p>
+<p id="n660" class="stm run hide_run"><a href="#n660">660</a></p>
+<p id="n661" class="stm run hide_run"><a href="#n661">661</a></p>
+<p id="n662" class="stm run hide_run"><a href="#n662">662</a></p>
+<p id="n663" class="pln"><a href="#n663">663</a></p>
+<p id="n664" class="stm run hide_run"><a href="#n664">664</a></p>
+<p id="n665" class="stm run hide_run"><a href="#n665">665</a></p>
+<p id="n666" class="stm run hide_run"><a href="#n666">666</a></p>
+<p id="n667" class="stm run hide_run"><a href="#n667">667</a></p>
+<p id="n668" class="pln"><a href="#n668">668</a></p>
+<p id="n669" class="stm run hide_run"><a href="#n669">669</a></p>
+<p id="n670" class="stm run hide_run"><a href="#n670">670</a></p>
+<p id="n671" class="stm run hide_run"><a href="#n671">671</a></p>
+<p id="n672" class="stm run hide_run"><a href="#n672">672</a></p>
+<p id="n673" class="stm run hide_run"><a href="#n673">673</a></p>
+<p id="n674" class="stm run hide_run"><a href="#n674">674</a></p>
+<p id="n675" class="pln"><a href="#n675">675</a></p>
+<p id="n676" class="stm run hide_run"><a href="#n676">676</a></p>
+<p id="n677" class="pln"><a href="#n677">677</a></p>
+<p id="n678" class="stm run hide_run"><a href="#n678">678</a></p>
+<p id="n679" class="stm run hide_run"><a href="#n679">679</a></p>
+<p id="n680" class="stm run hide_run"><a href="#n680">680</a></p>
+<p id="n681" class="stm run hide_run"><a href="#n681">681</a></p>
+<p id="n682" class="stm run hide_run"><a href="#n682">682</a></p>
+<p id="n683" class="pln"><a href="#n683">683</a></p>
+<p id="n684" class="stm run hide_run"><a href="#n684">684</a></p>
+<p id="n685" class="pln"><a href="#n685">685</a></p>
+<p id="n686" class="stm run hide_run"><a href="#n686">686</a></p>
+<p id="n687" class="stm run hide_run"><a href="#n687">687</a></p>
+<p id="n688" class="stm run hide_run"><a href="#n688">688</a></p>
+<p id="n689" class="stm run hide_run"><a href="#n689">689</a></p>
+<p id="n690" class="stm run hide_run"><a href="#n690">690</a></p>
+<p id="n691" class="pln"><a href="#n691">691</a></p>
+<p id="n692" class="stm run hide_run"><a href="#n692">692</a></p>
+<p id="n693" class="pln"><a href="#n693">693</a></p>
+<p id="n694" class="stm run hide_run"><a href="#n694">694</a></p>
+<p id="n695" class="stm run hide_run"><a href="#n695">695</a></p>
+<p id="n696" class="stm run hide_run"><a href="#n696">696</a></p>
+<p id="n697" class="stm run hide_run"><a href="#n697">697</a></p>
+<p id="n698" class="stm run hide_run"><a href="#n698">698</a></p>
+<p id="n699" class="pln"><a href="#n699">699</a></p>
+<p id="n700" class="stm run hide_run"><a href="#n700">700</a></p>
+<p id="n701" class="pln"><a href="#n701">701</a></p>
+<p id="n702" class="stm run hide_run"><a href="#n702">702</a></p>
+<p id="n703" class="stm run hide_run"><a href="#n703">703</a></p>
+<p id="n704" class="stm run hide_run"><a href="#n704">704</a></p>
+<p id="n705" class="stm run hide_run"><a href="#n705">705</a></p>
+<p id="n706" class="stm run hide_run"><a href="#n706">706</a></p>
+<p id="n707" class="pln"><a href="#n707">707</a></p>
+<p id="n708" class="stm run hide_run"><a href="#n708">708</a></p>
+<p id="n709" class="pln"><a href="#n709">709</a></p>
+<p id="n710" class="pln"><a href="#n710">710</a></p>
+<p id="n711" class="stm run hide_run"><a href="#n711">711</a></p>
+<p id="n712" class="stm run hide_run"><a href="#n712">712</a></p>
+<p id="n713" class="stm run hide_run"><a href="#n713">713</a></p>
+<p id="n714" class="stm run hide_run"><a href="#n714">714</a></p>
+<p id="n715" class="stm run hide_run"><a href="#n715">715</a></p>
+<p id="n716" class="stm run hide_run"><a href="#n716">716</a></p>
+<p id="n717" class="pln"><a href="#n717">717</a></p>
+<p id="n718" class="pln"><a href="#n718">718</a></p>
+<p id="n719" class="stm run hide_run"><a href="#n719">719</a></p>
+<p id="n720" class="pln"><a href="#n720">720</a></p>
+<p id="n721" class="stm run hide_run"><a href="#n721">721</a></p>
+<p id="n722" class="pln"><a href="#n722">722</a></p>
+<p id="n723" class="pln"><a href="#n723">723</a></p>
+<p id="n724" class="pln"><a href="#n724">724</a></p>
+<p id="n725" class="stm run hide_run"><a href="#n725">725</a></p>
+<p id="n726" class="stm run hide_run"><a href="#n726">726</a></p>
+<p id="n727" class="stm run hide_run"><a href="#n727">727</a></p>
+<p id="n728" class="pln"><a href="#n728">728</a></p>
+<p id="n729" class="stm run hide_run"><a href="#n729">729</a></p>
+<p id="n730" class="pln"><a href="#n730">730</a></p>
+<p id="n731" class="stm run hide_run"><a href="#n731">731</a></p>
+<p id="n732" class="stm run hide_run"><a href="#n732">732</a></p>
+<p id="n733" class="stm run hide_run"><a href="#n733">733</a></p>
+<p id="n734" class="stm run hide_run"><a href="#n734">734</a></p>
+<p id="n735" class="stm run hide_run"><a href="#n735">735</a></p>
+<p id="n736" class="pln"><a href="#n736">736</a></p>
+<p id="n737" class="stm run hide_run"><a href="#n737">737</a></p>
+<p id="n738" class="stm run hide_run"><a href="#n738">738</a></p>
+<p id="n739" class="pln"><a href="#n739">739</a></p>
+<p id="n740" class="stm run hide_run"><a href="#n740">740</a></p>
+<p id="n741" class="pln"><a href="#n741">741</a></p>
+<p id="n742" class="stm run hide_run"><a href="#n742">742</a></p>
+<p id="n743" class="stm run hide_run"><a href="#n743">743</a></p>
+<p id="n744" class="stm run hide_run"><a href="#n744">744</a></p>
+<p id="n745" class="stm run hide_run"><a href="#n745">745</a></p>
+<p id="n746" class="pln"><a href="#n746">746</a></p>
+<p id="n747" class="stm run hide_run"><a href="#n747">747</a></p>
+<p id="n748" class="stm run hide_run"><a href="#n748">748</a></p>
+<p id="n749" class="stm run hide_run"><a href="#n749">749</a></p>
+<p id="n750" class="stm run hide_run"><a href="#n750">750</a></p>
+<p id="n751" class="stm run hide_run"><a href="#n751">751</a></p>
+<p id="n752" class="pln"><a href="#n752">752</a></p>
+<p id="n753" class="stm run hide_run"><a href="#n753">753</a></p>
+<p id="n754" class="stm run hide_run"><a href="#n754">754</a></p>
+<p id="n755" class="pln"><a href="#n755">755</a></p>
+<p id="n756" class="pln"><a href="#n756">756</a></p>
+<p id="n757" class="stm run hide_run"><a href="#n757">757</a></p>
+<p id="n758" class="pln"><a href="#n758">758</a></p>
+<p id="n759" class="stm run hide_run"><a href="#n759">759</a></p>
+<p id="n760" class="pln"><a href="#n760">760</a></p>
+<p id="n761" class="stm run hide_run"><a href="#n761">761</a></p>
+<p id="n762" class="stm run hide_run"><a href="#n762">762</a></p>
+<p id="n763" class="stm run hide_run"><a href="#n763">763</a></p>
+<p id="n764" class="stm run hide_run"><a href="#n764">764</a></p>
+<p id="n765" class="stm run hide_run"><a href="#n765">765</a></p>
+<p id="n766" class="stm run hide_run"><a href="#n766">766</a></p>
+<p id="n767" class="stm run hide_run"><a href="#n767">767</a></p>
+<p id="n768" class="pln"><a href="#n768">768</a></p>
+<p id="n769" class="stm run hide_run"><a href="#n769">769</a></p>
+<p id="n770" class="stm run hide_run"><a href="#n770">770</a></p>
+<p id="n771" class="pln"><a href="#n771">771</a></p>
+<p id="n772" class="pln"><a href="#n772">772</a></p>
+<p id="n773" class="pln"><a href="#n773">773</a></p>
+<p id="n774" class="pln"><a href="#n774">774</a></p>
+<p id="n775" class="pln"><a href="#n775">775</a></p>
+<p id="n776" class="stm run hide_run"><a href="#n776">776</a></p>
+<p id="n777" class="stm run hide_run"><a href="#n777">777</a></p>
+<p id="n778" class="stm run hide_run"><a href="#n778">778</a></p>
+<p id="n779" class="pln"><a href="#n779">779</a></p>
+<p id="n780" class="stm run hide_run"><a href="#n780">780</a></p>
+<p id="n781" class="stm run hide_run"><a href="#n781">781</a></p>
+<p id="n782" class="stm run hide_run"><a href="#n782">782</a></p>
+<p id="n783" class="stm run hide_run"><a href="#n783">783</a></p>
+<p id="n784" class="pln"><a href="#n784">784</a></p>
+<p id="n785" class="stm run hide_run"><a href="#n785">785</a></p>
+<p id="n786" class="stm run hide_run"><a href="#n786">786</a></p>
+<p id="n787" class="stm run hide_run"><a href="#n787">787</a></p>
+<p id="n788" class="stm run hide_run"><a href="#n788">788</a></p>
+<p id="n789" class="stm run hide_run"><a href="#n789">789</a></p>
+<p id="n790" class="pln"><a href="#n790">790</a></p>
+<p id="n791" class="stm run hide_run"><a href="#n791">791</a></p>
+<p id="n792" class="pln"><a href="#n792">792</a></p>
+<p id="n793" class="stm run hide_run"><a href="#n793">793</a></p>
+<p id="n794" class="stm run hide_run"><a href="#n794">794</a></p>
+<p id="n795" class="stm run hide_run"><a href="#n795">795</a></p>
+<p id="n796" class="stm run hide_run"><a href="#n796">796</a></p>
+<p id="n797" class="pln"><a href="#n797">797</a></p>
+<p id="n798" class="stm run hide_run"><a href="#n798">798</a></p>
+<p id="n799" class="stm run hide_run"><a href="#n799">799</a></p>
+<p id="n800" class="pln"><a href="#n800">800</a></p>
+<p id="n801" class="pln"><a href="#n801">801</a></p>
+<p id="n802" class="pln"><a href="#n802">802</a></p>
+<p id="n803" class="pln"><a href="#n803">803</a></p>
+<p id="n804" class="pln"><a href="#n804">804</a></p>
+<p id="n805" class="stm run hide_run"><a href="#n805">805</a></p>
+<p id="n806" class="stm run hide_run"><a href="#n806">806</a></p>
+<p id="n807" class="stm run hide_run"><a href="#n807">807</a></p>
+<p id="n808" class="pln"><a href="#n808">808</a></p>
+<p id="n809" class="stm run hide_run"><a href="#n809">809</a></p>
+<p id="n810" class="stm run hide_run"><a href="#n810">810</a></p>
+<p id="n811" class="pln"><a href="#n811">811</a></p>
+<p id="n812" class="pln"><a href="#n812">812</a></p>
+<p id="n813" class="pln"><a href="#n813">813</a></p>
+<p id="n814" class="pln"><a href="#n814">814</a></p>
+<p id="n815" class="pln"><a href="#n815">815</a></p>
+<p id="n816" class="pln"><a href="#n816">816</a></p>
+<p id="n817" class="pln"><a href="#n817">817</a></p>
+<p id="n818" class="pln"><a href="#n818">818</a></p>
+<p id="n819" class="pln"><a href="#n819">819</a></p>
+<p id="n820" class="pln"><a href="#n820">820</a></p>
+<p id="n821" class="pln"><a href="#n821">821</a></p>
+<p id="n822" class="pln"><a href="#n822">822</a></p>
+<p id="n823" class="pln"><a href="#n823">823</a></p>
+<p id="n824" class="pln"><a href="#n824">824</a></p>
+<p id="n825" class="pln"><a href="#n825">825</a></p>
+<p id="n826" class="pln"><a href="#n826">826</a></p>
+<p id="n827" class="pln"><a href="#n827">827</a></p>
+<p id="n828" class="pln"><a href="#n828">828</a></p>
+<p id="n829" class="pln"><a href="#n829">829</a></p>
+<p id="n830" class="pln"><a href="#n830">830</a></p>
+<p id="n831" class="pln"><a href="#n831">831</a></p>
+<p id="n832" class="pln"><a href="#n832">832</a></p>
+<p id="n833" class="stm run hide_run"><a href="#n833">833</a></p>
+<p id="n834" class="stm run hide_run"><a href="#n834">834</a></p>
+<p id="n835" class="stm run hide_run"><a href="#n835">835</a></p>
+<p id="n836" class="stm run hide_run"><a href="#n836">836</a></p>
+<p id="n837" class="stm run hide_run"><a href="#n837">837</a></p>
+<p id="n838" class="stm run hide_run"><a href="#n838">838</a></p>
+<p id="n839" class="pln"><a href="#n839">839</a></p>
+<p id="n840" class="stm run hide_run"><a href="#n840">840</a></p>
+<p id="n841" class="stm run hide_run"><a href="#n841">841</a></p>
+<p id="n842" class="stm run hide_run"><a href="#n842">842</a></p>
+<p id="n843" class="stm run hide_run"><a href="#n843">843</a></p>
+<p id="n844" class="stm run hide_run"><a href="#n844">844</a></p>
+<p id="n845" class="pln"><a href="#n845">845</a></p>
+<p id="n846" class="stm run hide_run"><a href="#n846">846</a></p>
+<p id="n847" class="stm run hide_run"><a href="#n847">847</a></p>
+<p id="n848" class="stm run hide_run"><a href="#n848">848</a></p>
+<p id="n849" class="stm run hide_run"><a href="#n849">849</a></p>
+<p id="n850" class="stm run hide_run"><a href="#n850">850</a></p>
+<p id="n851" class="pln"><a href="#n851">851</a></p>
+<p id="n852" class="pln"><a href="#n852">852</a></p>
+<p id="n853" class="stm run hide_run"><a href="#n853">853</a></p>
+<p id="n854" class="pln"><a href="#n854">854</a></p>
+<p id="n855" class="stm run hide_run"><a href="#n855">855</a></p>
+<p id="n856" class="stm run hide_run"><a href="#n856">856</a></p>
+<p id="n857" class="pln"><a href="#n857">857</a></p>
+<p id="n858" class="pln"><a href="#n858">858</a></p>
+<p id="n859" class="pln"><a href="#n859">859</a></p>
+<p id="n860" class="pln"><a href="#n860">860</a></p>
+<p id="n861" class="pln"><a href="#n861">861</a></p>
+<p id="n862" class="pln"><a href="#n862">862</a></p>
+<p id="n863" class="pln"><a href="#n863">863</a></p>
+<p id="n864" class="pln"><a href="#n864">864</a></p>
+<p id="n865" class="pln"><a href="#n865">865</a></p>
+<p id="n866" class="pln"><a href="#n866">866</a></p>
+<p id="n867" class="pln"><a href="#n867">867</a></p>
+<p id="n868" class="pln"><a href="#n868">868</a></p>
+<p id="n869" class="pln"><a href="#n869">869</a></p>
+<p id="n870" class="pln"><a href="#n870">870</a></p>
+<p id="n871" class="pln"><a href="#n871">871</a></p>
+<p id="n872" class="pln"><a href="#n872">872</a></p>
+<p id="n873" class="pln"><a href="#n873">873</a></p>
+<p id="n874" class="pln"><a href="#n874">874</a></p>
+<p id="n875" class="pln"><a href="#n875">875</a></p>
+<p id="n876" class="pln"><a href="#n876">876</a></p>
+<p id="n877" class="pln"><a href="#n877">877</a></p>
+<p id="n878" class="pln"><a href="#n878">878</a></p>
+<p id="n879" class="pln"><a href="#n879">879</a></p>
+<p id="n880" class="pln"><a href="#n880">880</a></p>
+<p id="n881" class="stm run hide_run"><a href="#n881">881</a></p>
+<p id="n882" class="stm run hide_run"><a href="#n882">882</a></p>
+<p id="n883" class="stm run hide_run"><a href="#n883">883</a></p>
+<p id="n884" class="stm run hide_run"><a href="#n884">884</a></p>
+<p id="n885" class="stm run hide_run"><a href="#n885">885</a></p>
+<p id="n886" class="pln"><a href="#n886">886</a></p>
+<p id="n887" class="stm run hide_run"><a href="#n887">887</a></p>
+<p id="n888" class="pln"><a href="#n888">888</a></p>
+<p id="n889" class="stm run hide_run"><a href="#n889">889</a></p>
+<p id="n890" class="pln"><a href="#n890">890</a></p>
+<p id="n891" class="pln"><a href="#n891">891</a></p>
+<p id="n892" class="pln"><a href="#n892">892</a></p>
+<p id="n893" class="pln"><a href="#n893">893</a></p>
+<p id="n894" class="pln"><a href="#n894">894</a></p>
+<p id="n895" class="pln"><a href="#n895">895</a></p>
+<p id="n896" class="pln"><a href="#n896">896</a></p>
+<p id="n897" class="pln"><a href="#n897">897</a></p>
+<p id="n898" class="pln"><a href="#n898">898</a></p>
+<p id="n899" class="pln"><a href="#n899">899</a></p>
+<p id="n900" class="pln"><a href="#n900">900</a></p>
+<p id="n901" class="pln"><a href="#n901">901</a></p>
+<p id="n902" class="pln"><a href="#n902">902</a></p>
+<p id="n903" class="pln"><a href="#n903">903</a></p>
+<p id="n904" class="pln"><a href="#n904">904</a></p>
+<p id="n905" class="pln"><a href="#n905">905</a></p>
+<p id="n906" class="pln"><a href="#n906">906</a></p>
+<p id="n907" class="pln"><a href="#n907">907</a></p>
+<p id="n908" class="pln"><a href="#n908">908</a></p>
+<p id="n909" class="pln"><a href="#n909">909</a></p>
+<p id="n910" class="pln"><a href="#n910">910</a></p>
+<p id="n911" class="pln"><a href="#n911">911</a></p>
+<p id="n912" class="pln"><a href="#n912">912</a></p>
+<p id="n913" class="pln"><a href="#n913">913</a></p>
+<p id="n914" class="stm run hide_run"><a href="#n914">914</a></p>
+<p id="n915" class="stm run hide_run"><a href="#n915">915</a></p>
+<p id="n916" class="stm run hide_run"><a href="#n916">916</a></p>
+<p id="n917" class="pln"><a href="#n917">917</a></p>
+<p id="n918" class="stm run hide_run"><a href="#n918">918</a></p>
+<p id="n919" class="stm run hide_run"><a href="#n919">919</a></p>
+<p id="n920" class="pln"><a href="#n920">920</a></p>
+<p id="n921" class="pln"><a href="#n921">921</a></p>
+<p id="n922" class="pln"><a href="#n922">922</a></p>
+<p id="n923" class="pln"><a href="#n923">923</a></p>
+<p id="n924" class="pln"><a href="#n924">924</a></p>
+<p id="n925" class="pln"><a href="#n925">925</a></p>
+<p id="n926" class="pln"><a href="#n926">926</a></p>
+<p id="n927" class="pln"><a href="#n927">927</a></p>
+<p id="n928" class="pln"><a href="#n928">928</a></p>
+<p id="n929" class="pln"><a href="#n929">929</a></p>
+<p id="n930" class="pln"><a href="#n930">930</a></p>
+<p id="n931" class="pln"><a href="#n931">931</a></p>
+<p id="n932" class="pln"><a href="#n932">932</a></p>
+<p id="n933" class="pln"><a href="#n933">933</a></p>
+<p id="n934" class="pln"><a href="#n934">934</a></p>
+<p id="n935" class="pln"><a href="#n935">935</a></p>
+<p id="n936" class="pln"><a href="#n936">936</a></p>
+<p id="n937" class="pln"><a href="#n937">937</a></p>
+<p id="n938" class="pln"><a href="#n938">938</a></p>
+<p id="n939" class="pln"><a href="#n939">939</a></p>
+<p id="n940" class="pln"><a href="#n940">940</a></p>
+<p id="n941" class="pln"><a href="#n941">941</a></p>
+<p id="n942" class="pln"><a href="#n942">942</a></p>
+<p id="n943" class="pln"><a href="#n943">943</a></p>
+<p id="n944" class="pln"><a href="#n944">944</a></p>
+<p id="n945" class="pln"><a href="#n945">945</a></p>
+<p id="n946" class="pln"><a href="#n946">946</a></p>
+<p id="n947" class="pln"><a href="#n947">947</a></p>
+<p id="n948" class="pln"><a href="#n948">948</a></p>
+<p id="n949" class="pln"><a href="#n949">949</a></p>
+<p id="n950" class="pln"><a href="#n950">950</a></p>
+<p id="n951" class="pln"><a href="#n951">951</a></p>
+<p id="n952" class="pln"><a href="#n952">952</a></p>
+<p id="n953" class="pln"><a href="#n953">953</a></p>
+<p id="n954" class="pln"><a href="#n954">954</a></p>
+<p id="n955" class="pln"><a href="#n955">955</a></p>
+<p id="n956" class="pln"><a href="#n956">956</a></p>
+<p id="n957" class="pln"><a href="#n957">957</a></p>
+<p id="n958" class="stm run hide_run"><a href="#n958">958</a></p>
+<p id="n959" class="stm run hide_run"><a href="#n959">959</a></p>
+<p id="n960" class="stm run hide_run"><a href="#n960">960</a></p>
+<p id="n961" class="stm run hide_run"><a href="#n961">961</a></p>
+<p id="n962" class="stm run hide_run"><a href="#n962">962</a></p>
+<p id="n963" class="stm run hide_run"><a href="#n963">963</a></p>
+<p id="n964" class="pln"><a href="#n964">964</a></p>
+<p id="n965" class="stm run hide_run"><a href="#n965">965</a></p>
+<p id="n966" class="stm run hide_run"><a href="#n966">966</a></p>
+<p id="n967" class="pln"><a href="#n967">967</a></p>
+<p id="n968" class="pln"><a href="#n968">968</a></p>
+<p id="n969" class="pln"><a href="#n969">969</a></p>
+<p id="n970" class="pln"><a href="#n970">970</a></p>
+<p id="n971" class="pln"><a href="#n971">971</a></p>
+<p id="n972" class="pln"><a href="#n972">972</a></p>
+<p id="n973" class="pln"><a href="#n973">973</a></p>
+<p id="n974" class="pln"><a href="#n974">974</a></p>
+<p id="n975" class="pln"><a href="#n975">975</a></p>
+<p id="n976" class="pln"><a href="#n976">976</a></p>
+<p id="n977" class="pln"><a href="#n977">977</a></p>
+<p id="n978" class="pln"><a href="#n978">978</a></p>
+<p id="n979" class="pln"><a href="#n979">979</a></p>
+<p id="n980" class="pln"><a href="#n980">980</a></p>
+<p id="n981" class="pln"><a href="#n981">981</a></p>
+<p id="n982" class="pln"><a href="#n982">982</a></p>
+<p id="n983" class="pln"><a href="#n983">983</a></p>
+<p id="n984" class="pln"><a href="#n984">984</a></p>
+<p id="n985" class="pln"><a href="#n985">985</a></p>
+<p id="n986" class="pln"><a href="#n986">986</a></p>
+<p id="n987" class="pln"><a href="#n987">987</a></p>
+<p id="n988" class="pln"><a href="#n988">988</a></p>
+<p id="n989" class="pln"><a href="#n989">989</a></p>
+<p id="n990" class="pln"><a href="#n990">990</a></p>
+<p id="n991" class="pln"><a href="#n991">991</a></p>
+<p id="n992" class="pln"><a href="#n992">992</a></p>
+<p id="n993" class="pln"><a href="#n993">993</a></p>
+<p id="n994" class="pln"><a href="#n994">994</a></p>
+<p id="n995" class="pln"><a href="#n995">995</a></p>
+<p id="n996" class="pln"><a href="#n996">996</a></p>
+<p id="n997" class="pln"><a href="#n997">997</a></p>
+<p id="n998" class="pln"><a href="#n998">998</a></p>
+<p id="n999" class="pln"><a href="#n999">999</a></p>
+<p id="n1000" class="pln"><a href="#n1000">1000</a></p>
+<p id="n1001" class="pln"><a href="#n1001">1001</a></p>
+<p id="n1002" class="pln"><a href="#n1002">1002</a></p>
+<p id="n1003" class="pln"><a href="#n1003">1003</a></p>
+<p id="n1004" class="pln"><a href="#n1004">1004</a></p>
+<p id="n1005" class="pln"><a href="#n1005">1005</a></p>
+<p id="n1006" class="pln"><a href="#n1006">1006</a></p>
+<p id="n1007" class="pln"><a href="#n1007">1007</a></p>
+<p id="n1008" class="pln"><a href="#n1008">1008</a></p>
+<p id="n1009" class="stm run hide_run"><a href="#n1009">1009</a></p>
+<p id="n1010" class="stm run hide_run"><a href="#n1010">1010</a></p>
+<p id="n1011" class="stm run hide_run"><a href="#n1011">1011</a></p>
+<p id="n1012" class="stm run hide_run"><a href="#n1012">1012</a></p>
+<p id="n1013" class="stm run hide_run"><a href="#n1013">1013</a></p>
+<p id="n1014" class="stm run hide_run"><a href="#n1014">1014</a></p>
+<p id="n1015" class="pln"><a href="#n1015">1015</a></p>
+<p id="n1016" class="stm run hide_run"><a href="#n1016">1016</a></p>
+<p id="n1017" class="stm run hide_run"><a href="#n1017">1017</a></p>
+<p id="n1018" class="pln"><a href="#n1018">1018</a></p>
+<p id="n1019" class="pln"><a href="#n1019">1019</a></p>
+<p id="n1020" class="pln"><a href="#n1020">1020</a></p>
+<p id="n1021" class="pln"><a href="#n1021">1021</a></p>
+<p id="n1022" class="pln"><a href="#n1022">1022</a></p>
+<p id="n1023" class="pln"><a href="#n1023">1023</a></p>
+<p id="n1024" class="pln"><a href="#n1024">1024</a></p>
+<p id="n1025" class="pln"><a href="#n1025">1025</a></p>
+<p id="n1026" class="pln"><a href="#n1026">1026</a></p>
+<p id="n1027" class="pln"><a href="#n1027">1027</a></p>
+<p id="n1028" class="pln"><a href="#n1028">1028</a></p>
+<p id="n1029" class="pln"><a href="#n1029">1029</a></p>
+<p id="n1030" class="pln"><a href="#n1030">1030</a></p>
+<p id="n1031" class="pln"><a href="#n1031">1031</a></p>
+<p id="n1032" class="pln"><a href="#n1032">1032</a></p>
+<p id="n1033" class="pln"><a href="#n1033">1033</a></p>
+<p id="n1034" class="pln"><a href="#n1034">1034</a></p>
+<p id="n1035" class="pln"><a href="#n1035">1035</a></p>
+<p id="n1036" class="pln"><a href="#n1036">1036</a></p>
+<p id="n1037" class="pln"><a href="#n1037">1037</a></p>
+<p id="n1038" class="pln"><a href="#n1038">1038</a></p>
+<p id="n1039" class="pln"><a href="#n1039">1039</a></p>
+<p id="n1040" class="pln"><a href="#n1040">1040</a></p>
+<p id="n1041" class="pln"><a href="#n1041">1041</a></p>
+<p id="n1042" class="pln"><a href="#n1042">1042</a></p>
+<p id="n1043" class="pln"><a href="#n1043">1043</a></p>
+<p id="n1044" class="pln"><a href="#n1044">1044</a></p>
+<p id="n1045" class="pln"><a href="#n1045">1045</a></p>
+<p id="n1046" class="pln"><a href="#n1046">1046</a></p>
+<p id="n1047" class="pln"><a href="#n1047">1047</a></p>
+<p id="n1048" class="pln"><a href="#n1048">1048</a></p>
+<p id="n1049" class="pln"><a href="#n1049">1049</a></p>
+<p id="n1050" class="pln"><a href="#n1050">1050</a></p>
+<p id="n1051" class="pln"><a href="#n1051">1051</a></p>
+<p id="n1052" class="pln"><a href="#n1052">1052</a></p>
+<p id="n1053" class="stm run hide_run"><a href="#n1053">1053</a></p>
+<p id="n1054" class="stm run hide_run"><a href="#n1054">1054</a></p>
+<p id="n1055" class="stm run hide_run"><a href="#n1055">1055</a></p>
+<p id="n1056" class="stm run hide_run"><a href="#n1056">1056</a></p>
+<p id="n1057" class="pln"><a href="#n1057">1057</a></p>
+<p id="n1058" class="stm run hide_run"><a href="#n1058">1058</a></p>
+<p id="n1059" class="stm run hide_run"><a href="#n1059">1059</a></p>
+<p id="n1060" class="pln"><a href="#n1060">1060</a></p>
+<p id="n1061" class="pln"><a href="#n1061">1061</a></p>
+<p id="n1062" class="pln"><a href="#n1062">1062</a></p>
+<p id="n1063" class="pln"><a href="#n1063">1063</a></p>
+<p id="n1064" class="pln"><a href="#n1064">1064</a></p>
+<p id="n1065" class="pln"><a href="#n1065">1065</a></p>
+<p id="n1066" class="pln"><a href="#n1066">1066</a></p>
+<p id="n1067" class="pln"><a href="#n1067">1067</a></p>
+<p id="n1068" class="pln"><a href="#n1068">1068</a></p>
+<p id="n1069" class="pln"><a href="#n1069">1069</a></p>
+<p id="n1070" class="pln"><a href="#n1070">1070</a></p>
+<p id="n1071" class="pln"><a href="#n1071">1071</a></p>
+<p id="n1072" class="pln"><a href="#n1072">1072</a></p>
+<p id="n1073" class="pln"><a href="#n1073">1073</a></p>
+<p id="n1074" class="pln"><a href="#n1074">1074</a></p>
+<p id="n1075" class="stm run hide_run"><a href="#n1075">1075</a></p>
+<p id="n1076" class="stm run hide_run"><a href="#n1076">1076</a></p>
+<p id="n1077" class="stm run hide_run"><a href="#n1077">1077</a></p>
+<p id="n1078" class="pln"><a href="#n1078">1078</a></p>
+<p id="n1079" class="stm run hide_run"><a href="#n1079">1079</a></p>
+<p id="n1080" class="stm run hide_run"><a href="#n1080">1080</a></p>
+<p id="n1081" class="pln"><a href="#n1081">1081</a></p>
+<p id="n1082" class="stm par run hide_run"><a href="#n1082">1082</a></p>
+<p id="n1083" class="stm run hide_run"><a href="#n1083">1083</a></p>
+<p id="n1084" class="stm run hide_run"><a href="#n1084">1084</a></p>
+<p id="n1085" class="pln"><a href="#n1085">1085</a></p>
+<p id="n1086" class="stm run hide_run"><a href="#n1086">1086</a></p>
+<p id="n1087" class="pln"><a href="#n1087">1087</a></p>
+<p id="n1088" class="pln"><a href="#n1088">1088</a></p>
+<p id="n1089" class="pln"><a href="#n1089">1089</a></p>
+<p id="n1090" class="pln"><a href="#n1090">1090</a></p>
+<p id="n1091" class="pln"><a href="#n1091">1091</a></p>
+<p id="n1092" class="pln"><a href="#n1092">1092</a></p>
+<p id="n1093" class="pln"><a href="#n1093">1093</a></p>
+<p id="n1094" class="pln"><a href="#n1094">1094</a></p>
+<p id="n1095" class="pln"><a href="#n1095">1095</a></p>
+<p id="n1096" class="pln"><a href="#n1096">1096</a></p>
+<p id="n1097" class="pln"><a href="#n1097">1097</a></p>
+<p id="n1098" class="pln"><a href="#n1098">1098</a></p>
+<p id="n1099" class="pln"><a href="#n1099">1099</a></p>
+<p id="n1100" class="pln"><a href="#n1100">1100</a></p>
+<p id="n1101" class="pln"><a href="#n1101">1101</a></p>
+<p id="n1102" class="pln"><a href="#n1102">1102</a></p>
+<p id="n1103" class="pln"><a href="#n1103">1103</a></p>
+<p id="n1104" class="pln"><a href="#n1104">1104</a></p>
+<p id="n1105" class="pln"><a href="#n1105">1105</a></p>
+<p id="n1106" class="pln"><a href="#n1106">1106</a></p>
+<p id="n1107" class="pln"><a href="#n1107">1107</a></p>
+<p id="n1108" class="pln"><a href="#n1108">1108</a></p>
+<p id="n1109" class="pln"><a href="#n1109">1109</a></p>
+<p id="n1110" class="pln"><a href="#n1110">1110</a></p>
+<p id="n1111" class="pln"><a href="#n1111">1111</a></p>
+<p id="n1112" class="pln"><a href="#n1112">1112</a></p>
+<p id="n1113" class="pln"><a href="#n1113">1113</a></p>
+<p id="n1114" class="pln"><a href="#n1114">1114</a></p>
+<p id="n1115" class="pln"><a href="#n1115">1115</a></p>
+<p id="n1116" class="pln"><a href="#n1116">1116</a></p>
+<p id="n1117" class="pln"><a href="#n1117">1117</a></p>
+<p id="n1118" class="pln"><a href="#n1118">1118</a></p>
+<p id="n1119" class="pln"><a href="#n1119">1119</a></p>
+<p id="n1120" class="pln"><a href="#n1120">1120</a></p>
+<p id="n1121" class="pln"><a href="#n1121">1121</a></p>
+<p id="n1122" class="pln"><a href="#n1122">1122</a></p>
+<p id="n1123" class="pln"><a href="#n1123">1123</a></p>
+<p id="n1124" class="stm run hide_run"><a href="#n1124">1124</a></p>
+<p id="n1125" class="stm run hide_run"><a href="#n1125">1125</a></p>
+<p id="n1126" class="stm run hide_run"><a href="#n1126">1126</a></p>
+<p id="n1127" class="stm run hide_run"><a href="#n1127">1127</a></p>
+<p id="n1128" class="stm run hide_run"><a href="#n1128">1128</a></p>
+<p id="n1129" class="pln"><a href="#n1129">1129</a></p>
+<p id="n1130" class="stm run hide_run"><a href="#n1130">1130</a></p>
+<p id="n1131" class="stm run hide_run"><a href="#n1131">1131</a></p>
+<p id="n1132" class="pln"><a href="#n1132">1132</a></p>
+<p id="n1133" class="pln"><a href="#n1133">1133</a></p>
+<p id="n1134" class="pln"><a href="#n1134">1134</a></p>
+<p id="n1135" class="pln"><a href="#n1135">1135</a></p>
+<p id="n1136" class="pln"><a href="#n1136">1136</a></p>
+<p id="n1137" class="pln"><a href="#n1137">1137</a></p>
+<p id="n1138" class="pln"><a href="#n1138">1138</a></p>
+<p id="n1139" class="pln"><a href="#n1139">1139</a></p>
+<p id="n1140" class="pln"><a href="#n1140">1140</a></p>
+<p id="n1141" class="pln"><a href="#n1141">1141</a></p>
+<p id="n1142" class="pln"><a href="#n1142">1142</a></p>
+<p id="n1143" class="pln"><a href="#n1143">1143</a></p>
+<p id="n1144" class="pln"><a href="#n1144">1144</a></p>
+<p id="n1145" class="pln"><a href="#n1145">1145</a></p>
+<p id="n1146" class="pln"><a href="#n1146">1146</a></p>
+<p id="n1147" class="pln"><a href="#n1147">1147</a></p>
+<p id="n1148" class="pln"><a href="#n1148">1148</a></p>
+<p id="n1149" class="pln"><a href="#n1149">1149</a></p>
+<p id="n1150" class="pln"><a href="#n1150">1150</a></p>
+<p id="n1151" class="pln"><a href="#n1151">1151</a></p>
+<p id="n1152" class="pln"><a href="#n1152">1152</a></p>
+<p id="n1153" class="stm run hide_run"><a href="#n1153">1153</a></p>
+<p id="n1154" class="stm run hide_run"><a href="#n1154">1154</a></p>
+<p id="n1155" class="stm run hide_run"><a href="#n1155">1155</a></p>
+<p id="n1156" class="stm run hide_run"><a href="#n1156">1156</a></p>
+<p id="n1157" class="pln"><a href="#n1157">1157</a></p>
+<p id="n1158" class="stm run hide_run"><a href="#n1158">1158</a></p>
+<p id="n1159" class="stm run hide_run"><a href="#n1159">1159</a></p>
+<p id="n1160" class="stm run hide_run"><a href="#n1160">1160</a></p>
+<p id="n1161" class="pln"><a href="#n1161">1161</a></p>
+<p id="n1162" class="stm run hide_run"><a href="#n1162">1162</a></p>
+<p id="n1163" class="stm run hide_run"><a href="#n1163">1163</a></p>
+<p id="n1164" class="stm run hide_run"><a href="#n1164">1164</a></p>
+<p id="n1165" class="pln"><a href="#n1165">1165</a></p>
+<p id="n1166" class="stm run hide_run"><a href="#n1166">1166</a></p>
+<p id="n1167" class="stm run hide_run"><a href="#n1167">1167</a></p>
+<p id="n1168" class="stm run hide_run"><a href="#n1168">1168</a></p>
+<p id="n1169" class="pln"><a href="#n1169">1169</a></p>
+<p id="n1170" class="pln"><a href="#n1170">1170</a></p>
+<p id="n1171" class="stm run hide_run"><a href="#n1171">1171</a></p>
+<p id="n1172" class="pln"><a href="#n1172">1172</a></p>
+<p id="n1173" class="pln"><a href="#n1173">1173</a></p>
+<p id="n1174" class="stm run hide_run"><a href="#n1174">1174</a></p>
+<p id="n1175" class="pln"><a href="#n1175">1175</a></p>
+<p id="n1176" class="pln"><a href="#n1176">1176</a></p>
+<p id="n1177" class="pln"><a href="#n1177">1177</a></p>
+<p id="n1178" class="pln"><a href="#n1178">1178</a></p>
+<p id="n1179" class="pln"><a href="#n1179">1179</a></p>
+<p id="n1180" class="pln"><a href="#n1180">1180</a></p>
+<p id="n1181" class="pln"><a href="#n1181">1181</a></p>
+<p id="n1182" class="pln"><a href="#n1182">1182</a></p>
+<p id="n1183" class="stm run hide_run"><a href="#n1183">1183</a></p>
+<p id="n1184" class="pln"><a href="#n1184">1184</a></p>
+<p id="n1185" class="pln"><a href="#n1185">1185</a></p>
+<p id="n1186" class="pln"><a href="#n1186">1186</a></p>
+<p id="n1187" class="pln"><a href="#n1187">1187</a></p>
+<p id="n1188" class="pln"><a href="#n1188">1188</a></p>
+<p id="n1189" class="pln"><a href="#n1189">1189</a></p>
+<p id="n1190" class="pln"><a href="#n1190">1190</a></p>
+<p id="n1191" class="pln"><a href="#n1191">1191</a></p>
+<p id="n1192" class="stm run hide_run"><a href="#n1192">1192</a></p>
+<p id="n1193" class="stm run hide_run"><a href="#n1193">1193</a></p>
+<p id="n1194" class="stm run hide_run"><a href="#n1194">1194</a></p>
+<p id="n1195" class="stm run hide_run"><a href="#n1195">1195</a></p>
+<p id="n1196" class="pln"><a href="#n1196">1196</a></p>
+<p id="n1197" class="stm run hide_run"><a href="#n1197">1197</a></p>
+<p id="n1198" class="stm run hide_run"><a href="#n1198">1198</a></p>
+<p id="n1199" class="stm run hide_run"><a href="#n1199">1199</a></p>
+<p id="n1200" class="stm run hide_run"><a href="#n1200">1200</a></p>
+<p id="n1201" class="pln"><a href="#n1201">1201</a></p>
+<p id="n1202" class="stm run hide_run"><a href="#n1202">1202</a></p>
+<p id="n1203" class="stm run hide_run"><a href="#n1203">1203</a></p>
+<p id="n1204" class="stm run hide_run"><a href="#n1204">1204</a></p>
+<p id="n1205" class="stm run hide_run"><a href="#n1205">1205</a></p>
+<p id="n1206" class="pln"><a href="#n1206">1206</a></p>
+<p id="n1207" class="stm run hide_run"><a href="#n1207">1207</a></p>
+<p id="n1208" class="stm run hide_run"><a href="#n1208">1208</a></p>
+<p id="n1209" class="stm run hide_run"><a href="#n1209">1209</a></p>
+<p id="n1210" class="stm run hide_run"><a href="#n1210">1210</a></p>
+<p id="n1211" class="pln"><a href="#n1211">1211</a></p>
+<p id="n1212" class="pln"><a href="#n1212">1212</a></p>
+<p id="n1213" class="stm run hide_run"><a href="#n1213">1213</a></p>
+<p id="n1214" class="pln"><a href="#n1214">1214</a></p>
+<p id="n1215" class="stm run hide_run"><a href="#n1215">1215</a></p>
+<p id="n1216" class="stm run hide_run"><a href="#n1216">1216</a></p>
+<p id="n1217" class="pln"><a href="#n1217">1217</a></p>
+<p id="n1218" class="pln"><a href="#n1218">1218</a></p>
+<p id="n1219" class="pln"><a href="#n1219">1219</a></p>
+<p id="n1220" class="pln"><a href="#n1220">1220</a></p>
+<p id="n1221" class="pln"><a href="#n1221">1221</a></p>
+<p id="n1222" class="pln"><a href="#n1222">1222</a></p>
+<p id="n1223" class="pln"><a href="#n1223">1223</a></p>
+<p id="n1224" class="pln"><a href="#n1224">1224</a></p>
+<p id="n1225" class="pln"><a href="#n1225">1225</a></p>
+<p id="n1226" class="pln"><a href="#n1226">1226</a></p>
+<p id="n1227" class="pln"><a href="#n1227">1227</a></p>
+<p id="n1228" class="pln"><a href="#n1228">1228</a></p>
+<p id="n1229" class="pln"><a href="#n1229">1229</a></p>
+<p id="n1230" class="pln"><a href="#n1230">1230</a></p>
+<p id="n1231" class="pln"><a href="#n1231">1231</a></p>
+<p id="n1232" class="pln"><a href="#n1232">1232</a></p>
+<p id="n1233" class="pln"><a href="#n1233">1233</a></p>
+<p id="n1234" class="pln"><a href="#n1234">1234</a></p>
+<p id="n1235" class="stm run hide_run"><a href="#n1235">1235</a></p>
+<p id="n1236" class="stm run hide_run"><a href="#n1236">1236</a></p>
+<p id="n1237" class="stm run hide_run"><a href="#n1237">1237</a></p>
+<p id="n1238" class="stm run hide_run"><a href="#n1238">1238</a></p>
+<p id="n1239" class="stm run hide_run"><a href="#n1239">1239</a></p>
+<p id="n1240" class="pln"><a href="#n1240">1240</a></p>
+<p id="n1241" class="stm run hide_run"><a href="#n1241">1241</a></p>
+<p id="n1242" class="stm run hide_run"><a href="#n1242">1242</a></p>
+<p id="n1243" class="pln"><a href="#n1243">1243</a></p>
+<p id="n1244" class="pln"><a href="#n1244">1244</a></p>
+<p id="n1245" class="pln"><a href="#n1245">1245</a></p>
+<p id="n1246" class="pln"><a href="#n1246">1246</a></p>
+<p id="n1247" class="pln"><a href="#n1247">1247</a></p>
+<p id="n1248" class="pln"><a href="#n1248">1248</a></p>
+<p id="n1249" class="pln"><a href="#n1249">1249</a></p>
+<p id="n1250" class="pln"><a href="#n1250">1250</a></p>
+<p id="n1251" class="pln"><a href="#n1251">1251</a></p>
+<p id="n1252" class="pln"><a href="#n1252">1252</a></p>
+<p id="n1253" class="pln"><a href="#n1253">1253</a></p>
+<p id="n1254" class="pln"><a href="#n1254">1254</a></p>
+<p id="n1255" class="pln"><a href="#n1255">1255</a></p>
+<p id="n1256" class="pln"><a href="#n1256">1256</a></p>
+<p id="n1257" class="pln"><a href="#n1257">1257</a></p>
+<p id="n1258" class="pln"><a href="#n1258">1258</a></p>
+<p id="n1259" class="pln"><a href="#n1259">1259</a></p>
+<p id="n1260" class="pln"><a href="#n1260">1260</a></p>
+<p id="n1261" class="stm run hide_run"><a href="#n1261">1261</a></p>
+<p id="n1262" class="stm run hide_run"><a href="#n1262">1262</a></p>
+<p id="n1263" class="stm run hide_run"><a href="#n1263">1263</a></p>
+<p id="n1264" class="stm run hide_run"><a href="#n1264">1264</a></p>
+<p id="n1265" class="stm run hide_run"><a href="#n1265">1265</a></p>
+<p id="n1266" class="pln"><a href="#n1266">1266</a></p>
+<p id="n1267" class="pln"><a href="#n1267">1267</a></p>
+<p id="n1268" class="stm run hide_run"><a href="#n1268">1268</a></p>
+<p id="n1269" class="pln"><a href="#n1269">1269</a></p>
+<p id="n1270" class="pln"><a href="#n1270">1270</a></p>
+<p id="n1271" class="pln"><a href="#n1271">1271</a></p>
+<p id="n1272" class="pln"><a href="#n1272">1272</a></p>
+<p id="n1273" class="pln"><a href="#n1273">1273</a></p>
+<p id="n1274" class="stm run hide_run"><a href="#n1274">1274</a></p>
+<p id="n1275" class="stm run hide_run"><a href="#n1275">1275</a></p>
+<p id="n1276" class="stm run hide_run"><a href="#n1276">1276</a></p>
+<p id="n1277" class="pln"><a href="#n1277">1277</a></p>
+<p id="n1278" class="stm run hide_run"><a href="#n1278">1278</a></p>
+<p id="n1279" class="stm run hide_run"><a href="#n1279">1279</a></p>
+<p id="n1280" class="pln"><a href="#n1280">1280</a></p>
+<p id="n1281" class="pln"><a href="#n1281">1281</a></p>
+<p id="n1282" class="pln"><a href="#n1282">1282</a></p>
+<p id="n1283" class="pln"><a href="#n1283">1283</a></p>
+<p id="n1284" class="stm run hide_run"><a href="#n1284">1284</a></p>
+<p id="n1285" class="stm run hide_run"><a href="#n1285">1285</a></p>
+<p id="n1286" class="stm run hide_run"><a href="#n1286">1286</a></p>
+<p id="n1287" class="pln"><a href="#n1287">1287</a></p>
+<p id="n1288" class="pln"><a href="#n1288">1288</a></p>
+<p id="n1289" class="stm run hide_run"><a href="#n1289">1289</a></p>
+<p id="n1290" class="stm run hide_run"><a href="#n1290">1290</a></p>
+<p id="n1291" class="pln"><a href="#n1291">1291</a></p>
+<p id="n1292" class="pln"><a href="#n1292">1292</a></p>
+<p id="n1293" class="pln"><a href="#n1293">1293</a></p>
+<p id="n1294" class="pln"><a href="#n1294">1294</a></p>
+<p id="n1295" class="pln"><a href="#n1295">1295</a></p>
+<p id="n1296" class="pln"><a href="#n1296">1296</a></p>
+<p id="n1297" class="pln"><a href="#n1297">1297</a></p>
+<p id="n1298" class="pln"><a href="#n1298">1298</a></p>
+<p id="n1299" class="pln"><a href="#n1299">1299</a></p>
+<p id="n1300" class="pln"><a href="#n1300">1300</a></p>
+<p id="n1301" class="pln"><a href="#n1301">1301</a></p>
+<p id="n1302" class="pln"><a href="#n1302">1302</a></p>
+<p id="n1303" class="pln"><a href="#n1303">1303</a></p>
+<p id="n1304" class="pln"><a href="#n1304">1304</a></p>
+<p id="n1305" class="pln"><a href="#n1305">1305</a></p>
+<p id="n1306" class="pln"><a href="#n1306">1306</a></p>
+<p id="n1307" class="pln"><a href="#n1307">1307</a></p>
+<p id="n1308" class="pln"><a href="#n1308">1308</a></p>
+<p id="n1309" class="pln"><a href="#n1309">1309</a></p>
+<p id="n1310" class="pln"><a href="#n1310">1310</a></p>
+<p id="n1311" class="pln"><a href="#n1311">1311</a></p>
+<p id="n1312" class="pln"><a href="#n1312">1312</a></p>
+<p id="n1313" class="pln"><a href="#n1313">1313</a></p>
+<p id="n1314" class="pln"><a href="#n1314">1314</a></p>
+<p id="n1315" class="pln"><a href="#n1315">1315</a></p>
+<p id="n1316" class="pln"><a href="#n1316">1316</a></p>
+<p id="n1317" class="pln"><a href="#n1317">1317</a></p>
+<p id="n1318" class="pln"><a href="#n1318">1318</a></p>
+<p id="n1319" class="pln"><a href="#n1319">1319</a></p>
+<p id="n1320" class="pln"><a href="#n1320">1320</a></p>
+<p id="n1321" class="pln"><a href="#n1321">1321</a></p>
+<p id="n1322" class="pln"><a href="#n1322">1322</a></p>
+<p id="n1323" class="pln"><a href="#n1323">1323</a></p>
+<p id="n1324" class="pln"><a href="#n1324">1324</a></p>
+<p id="n1325" class="pln"><a href="#n1325">1325</a></p>
+<p id="n1326" class="pln"><a href="#n1326">1326</a></p>
+<p id="n1327" class="pln"><a href="#n1327">1327</a></p>
+<p id="n1328" class="pln"><a href="#n1328">1328</a></p>
+<p id="n1329" class="pln"><a href="#n1329">1329</a></p>
+<p id="n1330" class="pln"><a href="#n1330">1330</a></p>
+<p id="n1331" class="pln"><a href="#n1331">1331</a></p>
+<p id="n1332" class="pln"><a href="#n1332">1332</a></p>
+<p id="n1333" class="pln"><a href="#n1333">1333</a></p>
+<p id="n1334" class="pln"><a href="#n1334">1334</a></p>
+<p id="n1335" class="pln"><a href="#n1335">1335</a></p>
+<p id="n1336" class="stm run hide_run"><a href="#n1336">1336</a></p>
+<p id="n1337" class="pln"><a href="#n1337">1337</a></p>
+<p id="n1338" class="stm run hide_run"><a href="#n1338">1338</a></p>
+<p id="n1339" class="stm run hide_run"><a href="#n1339">1339</a></p>
+<p id="n1340" class="stm run hide_run"><a href="#n1340">1340</a></p>
+<p id="n1341" class="pln"><a href="#n1341">1341</a></p>
+<p id="n1342" class="stm run hide_run"><a href="#n1342">1342</a></p>
+<p id="n1343" class="pln"><a href="#n1343">1343</a></p>
+<p id="n1344" class="stm run hide_run"><a href="#n1344">1344</a></p>
+<p id="n1345" class="stm run hide_run"><a href="#n1345">1345</a></p>
+<p id="n1346" class="stm run hide_run"><a href="#n1346">1346</a></p>
+<p id="n1347" class="pln"><a href="#n1347">1347</a></p>
+<p id="n1348" class="stm run hide_run"><a href="#n1348">1348</a></p>
+<p id="n1349" class="pln"><a href="#n1349">1349</a></p>
+<p id="n1350" class="stm run hide_run"><a href="#n1350">1350</a></p>
+<p id="n1351" class="stm run hide_run"><a href="#n1351">1351</a></p>
+<p id="n1352" class="stm run hide_run"><a href="#n1352">1352</a></p>
+<p id="n1353" class="pln"><a href="#n1353">1353</a></p>
+<p id="n1354" class="stm run hide_run"><a href="#n1354">1354</a></p>
+<p id="n1355" class="pln"><a href="#n1355">1355</a></p>
+<p id="n1356" class="stm run hide_run"><a href="#n1356">1356</a></p>
+<p id="n1357" class="stm run hide_run"><a href="#n1357">1357</a></p>
+<p id="n1358" class="stm run hide_run"><a href="#n1358">1358</a></p>
+<p id="n1359" class="pln"><a href="#n1359">1359</a></p>
+<p id="n1360" class="stm run hide_run"><a href="#n1360">1360</a></p>
+<p id="n1361" class="pln"><a href="#n1361">1361</a></p>
+<p id="n1362" class="stm run hide_run"><a href="#n1362">1362</a></p>
+<p id="n1363" class="stm run hide_run"><a href="#n1363">1363</a></p>
+<p id="n1364" class="stm run hide_run"><a href="#n1364">1364</a></p>
+<p id="n1365" class="pln"><a href="#n1365">1365</a></p>
+<p id="n1366" class="stm run hide_run"><a href="#n1366">1366</a></p>
+<p id="n1367" class="stm run hide_run"><a href="#n1367">1367</a></p>
+<p id="n1368" class="pln"><a href="#n1368">1368</a></p>
+<p id="n1369" class="pln"><a href="#n1369">1369</a></p>
+<p id="n1370" class="pln"><a href="#n1370">1370</a></p>
+<p id="n1371" class="pln"><a href="#n1371">1371</a></p>
+<p id="n1372" class="pln"><a href="#n1372">1372</a></p>
+<p id="n1373" class="pln"><a href="#n1373">1373</a></p>
+<p id="n1374" class="pln"><a href="#n1374">1374</a></p>
+<p id="n1375" class="pln"><a href="#n1375">1375</a></p>
+<p id="n1376" class="pln"><a href="#n1376">1376</a></p>
+<p id="n1377" class="pln"><a href="#n1377">1377</a></p>
+<p id="n1378" class="stm run hide_run"><a href="#n1378">1378</a></p>
+<p id="n1379" class="pln"><a href="#n1379">1379</a></p>
+<p id="n1380" class="stm run hide_run"><a href="#n1380">1380</a></p>
+<p id="n1381" class="stm run hide_run"><a href="#n1381">1381</a></p>
+<p id="n1382" class="stm run hide_run"><a href="#n1382">1382</a></p>
+<p id="n1383" class="pln"><a href="#n1383">1383</a></p>
+<p id="n1384" class="stm run hide_run"><a href="#n1384">1384</a></p>
+<p id="n1385" class="stm run hide_run"><a href="#n1385">1385</a></p>
+<p id="n1386" class="stm run hide_run"><a href="#n1386">1386</a></p>
+<p id="n1387" class="pln"><a href="#n1387">1387</a></p>
+<p id="n1388" class="stm run hide_run"><a href="#n1388">1388</a></p>
+<p id="n1389" class="stm run hide_run"><a href="#n1389">1389</a></p>
+<p id="n1390" class="stm run hide_run"><a href="#n1390">1390</a></p>
+<p id="n1391" class="pln"><a href="#n1391">1391</a></p>
+<p id="n1392" class="stm run hide_run"><a href="#n1392">1392</a></p>
+<p id="n1393" class="stm run hide_run"><a href="#n1393">1393</a></p>
+<p id="n1394" class="stm run hide_run"><a href="#n1394">1394</a></p>
+<p id="n1395" class="pln"><a href="#n1395">1395</a></p>
+<p id="n1396" class="stm run hide_run"><a href="#n1396">1396</a></p>
+<p id="n1397" class="stm run hide_run"><a href="#n1397">1397</a></p>
+<p id="n1398" class="stm run hide_run"><a href="#n1398">1398</a></p>
+<p id="n1399" class="stm run hide_run"><a href="#n1399">1399</a></p>
+<p id="n1400" class="pln"><a href="#n1400">1400</a></p>
+<p id="n1401" class="stm run hide_run"><a href="#n1401">1401</a></p>
+<p id="n1402" class="stm run hide_run"><a href="#n1402">1402</a></p>
+<p id="n1403" class="stm run hide_run"><a href="#n1403">1403</a></p>
+<p id="n1404" class="stm run hide_run"><a href="#n1404">1404</a></p>
+<p id="n1405" class="pln"><a href="#n1405">1405</a></p>
+<p id="n1406" class="stm run hide_run"><a href="#n1406">1406</a></p>
+<p id="n1407" class="stm run hide_run"><a href="#n1407">1407</a></p>
+<p id="n1408" class="stm run hide_run"><a href="#n1408">1408</a></p>
+<p id="n1409" class="stm run hide_run"><a href="#n1409">1409</a></p>
+<p id="n1410" class="pln"><a href="#n1410">1410</a></p>
+<p id="n1411" class="stm run hide_run"><a href="#n1411">1411</a></p>
+<p id="n1412" class="pln"><a href="#n1412">1412</a></p>
+<p id="n1413" class="pln"><a href="#n1413">1413</a></p>
+<p id="n1414" class="stm run hide_run"><a href="#n1414">1414</a></p>
+<p id="n1415" class="pln"><a href="#n1415">1415</a></p>
+<p id="n1416" class="pln"><a href="#n1416">1416</a></p>
+<p id="n1417" class="pln"><a href="#n1417">1417</a></p>
+<p id="n1418" class="pln"><a href="#n1418">1418</a></p>
+<p id="n1419" class="pln"><a href="#n1419">1419</a></p>
+<p id="n1420" class="pln"><a href="#n1420">1420</a></p>
+<p id="n1421" class="pln"><a href="#n1421">1421</a></p>
+<p id="n1422" class="pln"><a href="#n1422">1422</a></p>
+<p id="n1423" class="pln"><a href="#n1423">1423</a></p>
+<p id="n1424" class="pln"><a href="#n1424">1424</a></p>
+<p id="n1425" class="pln"><a href="#n1425">1425</a></p>
+<p id="n1426" class="pln"><a href="#n1426">1426</a></p>
+<p id="n1427" class="pln"><a href="#n1427">1427</a></p>
+<p id="n1428" class="pln"><a href="#n1428">1428</a></p>
+<p id="n1429" class="pln"><a href="#n1429">1429</a></p>
+<p id="n1430" class="pln"><a href="#n1430">1430</a></p>
+<p id="n1431" class="pln"><a href="#n1431">1431</a></p>
+<p id="n1432" class="pln"><a href="#n1432">1432</a></p>
+<p id="n1433" class="pln"><a href="#n1433">1433</a></p>
+<p id="n1434" class="pln"><a href="#n1434">1434</a></p>
+<p id="n1435" class="pln"><a href="#n1435">1435</a></p>
+<p id="n1436" class="pln"><a href="#n1436">1436</a></p>
+<p id="n1437" class="pln"><a href="#n1437">1437</a></p>
+<p id="n1438" class="stm run hide_run"><a href="#n1438">1438</a></p>
+<p id="n1439" class="pln"><a href="#n1439">1439</a></p>
+<p id="n1440" class="pln"><a href="#n1440">1440</a></p>
+<p id="n1441" class="stm run hide_run"><a href="#n1441">1441</a></p>
+<p id="n1442" class="stm run hide_run"><a href="#n1442">1442</a></p>
+<p id="n1443" class="pln"><a href="#n1443">1443</a></p>
+<p id="n1444" class="pln"><a href="#n1444">1444</a></p>
+<p id="n1445" class="stm run hide_run"><a href="#n1445">1445</a></p>
+<p id="n1446" class="pln"><a href="#n1446">1446</a></p>
+<p id="n1447" class="stm run hide_run"><a href="#n1447">1447</a></p>
+<p id="n1448" class="pln"><a href="#n1448">1448</a></p>
+<p id="n1449" class="stm run hide_run"><a href="#n1449">1449</a></p>
+<p id="n1450" class="pln"><a href="#n1450">1450</a></p>
+<p id="n1451" class="pln"><a href="#n1451">1451</a></p>
+<p id="n1452" class="pln"><a href="#n1452">1452</a></p>
+<p id="n1453" class="pln"><a href="#n1453">1453</a></p>
+<p id="n1454" class="pln"><a href="#n1454">1454</a></p>
+<p id="n1455" class="pln"><a href="#n1455">1455</a></p>
+<p id="n1456" class="pln"><a href="#n1456">1456</a></p>
+<p id="n1457" class="pln"><a href="#n1457">1457</a></p>
+<p id="n1458" class="pln"><a href="#n1458">1458</a></p>
+<p id="n1459" class="pln"><a href="#n1459">1459</a></p>
+<p id="n1460" class="pln"><a href="#n1460">1460</a></p>
+<p id="n1461" class="pln"><a href="#n1461">1461</a></p>
+<p id="n1462" class="pln"><a href="#n1462">1462</a></p>
+<p id="n1463" class="pln"><a href="#n1463">1463</a></p>
+<p id="n1464" class="stm run hide_run"><a href="#n1464">1464</a></p>
+<p id="n1465" class="stm run hide_run"><a href="#n1465">1465</a></p>
+<p id="n1466" class="stm run hide_run"><a href="#n1466">1466</a></p>
+<p id="n1467" class="stm run hide_run"><a href="#n1467">1467</a></p>
+<p id="n1468" class="stm run hide_run"><a href="#n1468">1468</a></p>
+<p id="n1469" class="stm run hide_run"><a href="#n1469">1469</a></p>
+<p id="n1470" class="stm run hide_run"><a href="#n1470">1470</a></p>
+<p id="n1471" class="stm run hide_run"><a href="#n1471">1471</a></p>
+<p id="n1472" class="stm run hide_run"><a href="#n1472">1472</a></p>
+<p id="n1473" class="stm run hide_run"><a href="#n1473">1473</a></p>
+<p id="n1474" class="stm run hide_run"><a href="#n1474">1474</a></p>
+<p id="n1475" class="stm run hide_run"><a href="#n1475">1475</a></p>
+<p id="n1476" class="pln"><a href="#n1476">1476</a></p>
+<p id="n1477" class="stm run hide_run"><a href="#n1477">1477</a></p>
+<p id="n1478" class="stm run hide_run"><a href="#n1478">1478</a></p>
+<p id="n1479" class="pln"><a href="#n1479">1479</a></p>
+<p id="n1480" class="pln"><a href="#n1480">1480</a></p>
+<p id="n1481" class="pln"><a href="#n1481">1481</a></p>
+<p id="n1482" class="pln"><a href="#n1482">1482</a></p>
+<p id="n1483" class="pln"><a href="#n1483">1483</a></p>
+<p id="n1484" class="pln"><a href="#n1484">1484</a></p>
+<p id="n1485" class="pln"><a href="#n1485">1485</a></p>
+<p id="n1486" class="pln"><a href="#n1486">1486</a></p>
+<p id="n1487" class="pln"><a href="#n1487">1487</a></p>
+<p id="n1488" class="pln"><a href="#n1488">1488</a></p>
+<p id="n1489" class="pln"><a href="#n1489">1489</a></p>
+<p id="n1490" class="pln"><a href="#n1490">1490</a></p>
+<p id="n1491" class="pln"><a href="#n1491">1491</a></p>
+<p id="n1492" class="pln"><a href="#n1492">1492</a></p>
+<p id="n1493" class="pln"><a href="#n1493">1493</a></p>
+<p id="n1494" class="pln"><a href="#n1494">1494</a></p>
+<p id="n1495" class="pln"><a href="#n1495">1495</a></p>
+<p id="n1496" class="pln"><a href="#n1496">1496</a></p>
+<p id="n1497" class="pln"><a href="#n1497">1497</a></p>
+<p id="n1498" class="pln"><a href="#n1498">1498</a></p>
+<p id="n1499" class="pln"><a href="#n1499">1499</a></p>
+<p id="n1500" class="pln"><a href="#n1500">1500</a></p>
+<p id="n1501" class="pln"><a href="#n1501">1501</a></p>
+<p id="n1502" class="pln"><a href="#n1502">1502</a></p>
+<p id="n1503" class="pln"><a href="#n1503">1503</a></p>
+<p id="n1504" class="stm run hide_run"><a href="#n1504">1504</a></p>
+<p id="n1505" class="stm run hide_run"><a href="#n1505">1505</a></p>
+<p id="n1506" class="stm run hide_run"><a href="#n1506">1506</a></p>
+<p id="n1507" class="stm run hide_run"><a href="#n1507">1507</a></p>
+<p id="n1508" class="stm run hide_run"><a href="#n1508">1508</a></p>
+<p id="n1509" class="stm run hide_run"><a href="#n1509">1509</a></p>
+<p id="n1510" class="pln"><a href="#n1510">1510</a></p>
+<p id="n1511" class="stm run hide_run"><a href="#n1511">1511</a></p>
+<p id="n1512" class="pln"><a href="#n1512">1512</a></p>
+<p id="n1513" class="stm run hide_run"><a href="#n1513">1513</a></p>
+<p id="n1514" class="pln"><a href="#n1514">1514</a></p>
+<p id="n1515" class="pln"><a href="#n1515">1515</a></p>
+<p id="n1516" class="pln"><a href="#n1516">1516</a></p>
+<p id="n1517" class="pln"><a href="#n1517">1517</a></p>
+<p id="n1518" class="pln"><a href="#n1518">1518</a></p>
+<p id="n1519" class="pln"><a href="#n1519">1519</a></p>
+<p id="n1520" class="pln"><a href="#n1520">1520</a></p>
+<p id="n1521" class="pln"><a href="#n1521">1521</a></p>
+<p id="n1522" class="pln"><a href="#n1522">1522</a></p>
+<p id="n1523" class="pln"><a href="#n1523">1523</a></p>
+<p id="n1524" class="pln"><a href="#n1524">1524</a></p>
+<p id="n1525" class="pln"><a href="#n1525">1525</a></p>
+<p id="n1526" class="pln"><a href="#n1526">1526</a></p>
+<p id="n1527" class="pln"><a href="#n1527">1527</a></p>
+<p id="n1528" class="pln"><a href="#n1528">1528</a></p>
+<p id="n1529" class="pln"><a href="#n1529">1529</a></p>
+<p id="n1530" class="pln"><a href="#n1530">1530</a></p>
+<p id="n1531" class="pln"><a href="#n1531">1531</a></p>
+<p id="n1532" class="pln"><a href="#n1532">1532</a></p>
+<p id="n1533" class="pln"><a href="#n1533">1533</a></p>
+<p id="n1534" class="pln"><a href="#n1534">1534</a></p>
+<p id="n1535" class="pln"><a href="#n1535">1535</a></p>
+<p id="n1536" class="pln"><a href="#n1536">1536</a></p>
+<p id="n1537" class="pln"><a href="#n1537">1537</a></p>
+<p id="n1538" class="pln"><a href="#n1538">1538</a></p>
+<p id="n1539" class="pln"><a href="#n1539">1539</a></p>
+<p id="n1540" class="pln"><a href="#n1540">1540</a></p>
+<p id="n1541" class="pln"><a href="#n1541">1541</a></p>
+<p id="n1542" class="pln"><a href="#n1542">1542</a></p>
+<p id="n1543" class="pln"><a href="#n1543">1543</a></p>
+<p id="n1544" class="pln"><a href="#n1544">1544</a></p>
+<p id="n1545" class="pln"><a href="#n1545">1545</a></p>
+<p id="n1546" class="pln"><a href="#n1546">1546</a></p>
+<p id="n1547" class="pln"><a href="#n1547">1547</a></p>
+<p id="n1548" class="pln"><a href="#n1548">1548</a></p>
+<p id="n1549" class="pln"><a href="#n1549">1549</a></p>
+<p id="n1550" class="pln"><a href="#n1550">1550</a></p>
+<p id="n1551" class="pln"><a href="#n1551">1551</a></p>
+<p id="n1552" class="pln"><a href="#n1552">1552</a></p>
+<p id="n1553" class="pln"><a href="#n1553">1553</a></p>
+<p id="n1554" class="pln"><a href="#n1554">1554</a></p>
+<p id="n1555" class="pln"><a href="#n1555">1555</a></p>
+<p id="n1556" class="pln"><a href="#n1556">1556</a></p>
+<p id="n1557" class="pln"><a href="#n1557">1557</a></p>
+<p id="n1558" class="stm run hide_run"><a href="#n1558">1558</a></p>
+<p id="n1559" class="stm run hide_run"><a href="#n1559">1559</a></p>
+<p id="n1560" class="stm run hide_run"><a href="#n1560">1560</a></p>
+<p id="n1561" class="stm run hide_run"><a href="#n1561">1561</a></p>
+<p id="n1562" class="stm run hide_run"><a href="#n1562">1562</a></p>
+<p id="n1563" class="stm run hide_run"><a href="#n1563">1563</a></p>
+<p id="n1564" class="pln"><a href="#n1564">1564</a></p>
+<p id="n1565" class="stm run hide_run"><a href="#n1565">1565</a></p>
+<p id="n1566" class="stm run hide_run"><a href="#n1566">1566</a></p>
+<p id="n1567" class="pln"><a href="#n1567">1567</a></p>
+<p id="n1568" class="pln"><a href="#n1568">1568</a></p>
+<p id="n1569" class="pln"><a href="#n1569">1569</a></p>
+<p id="n1570" class="pln"><a href="#n1570">1570</a></p>
+<p id="n1571" class="pln"><a href="#n1571">1571</a></p>
+<p id="n1572" class="pln"><a href="#n1572">1572</a></p>
+<p id="n1573" class="pln"><a href="#n1573">1573</a></p>
+<p id="n1574" class="pln"><a href="#n1574">1574</a></p>
+<p id="n1575" class="pln"><a href="#n1575">1575</a></p>
+<p id="n1576" class="pln"><a href="#n1576">1576</a></p>
+<p id="n1577" class="pln"><a href="#n1577">1577</a></p>
+<p id="n1578" class="pln"><a href="#n1578">1578</a></p>
+<p id="n1579" class="pln"><a href="#n1579">1579</a></p>
+<p id="n1580" class="pln"><a href="#n1580">1580</a></p>
+<p id="n1581" class="pln"><a href="#n1581">1581</a></p>
+<p id="n1582" class="pln"><a href="#n1582">1582</a></p>
+<p id="n1583" class="pln"><a href="#n1583">1583</a></p>
+<p id="n1584" class="pln"><a href="#n1584">1584</a></p>
+<p id="n1585" class="pln"><a href="#n1585">1585</a></p>
+<p id="n1586" class="pln"><a href="#n1586">1586</a></p>
+<p id="n1587" class="pln"><a href="#n1587">1587</a></p>
+<p id="n1588" class="pln"><a href="#n1588">1588</a></p>
+<p id="n1589" class="pln"><a href="#n1589">1589</a></p>
+<p id="n1590" class="pln"><a href="#n1590">1590</a></p>
+<p id="n1591" class="pln"><a href="#n1591">1591</a></p>
+<p id="n1592" class="pln"><a href="#n1592">1592</a></p>
+<p id="n1593" class="pln"><a href="#n1593">1593</a></p>
+<p id="n1594" class="stm run hide_run"><a href="#n1594">1594</a></p>
+<p id="n1595" class="pln"><a href="#n1595">1595</a></p>
+<p id="n1596" class="stm run hide_run"><a href="#n1596">1596</a></p>
+<p id="n1597" class="stm run hide_run"><a href="#n1597">1597</a></p>
+<p id="n1598" class="stm run hide_run"><a href="#n1598">1598</a></p>
+<p id="n1599" class="pln"><a href="#n1599">1599</a></p>
+<p id="n1600" class="stm run hide_run"><a href="#n1600">1600</a></p>
+<p id="n1601" class="stm run hide_run"><a href="#n1601">1601</a></p>
+<p id="n1602" class="stm run hide_run"><a href="#n1602">1602</a></p>
+<p id="n1603" class="pln"><a href="#n1603">1603</a></p>
+<p id="n1604" class="stm run hide_run"><a href="#n1604">1604</a></p>
+<p id="n1605" class="stm run hide_run"><a href="#n1605">1605</a></p>
+<p id="n1606" class="pln"><a href="#n1606">1606</a></p>
+<p id="n1607" class="stm run hide_run"><a href="#n1607">1607</a></p>
+<p id="n1608" class="stm run hide_run"><a href="#n1608">1608</a></p>
+<p id="n1609" class="pln"><a href="#n1609">1609</a></p>
+<p id="n1610" class="pln"><a href="#n1610">1610</a></p>
+<p id="n1611" class="pln"><a href="#n1611">1611</a></p>
+<p id="n1612" class="pln"><a href="#n1612">1612</a></p>
+<p id="n1613" class="pln"><a href="#n1613">1613</a></p>
+<p id="n1614" class="stm run hide_run"><a href="#n1614">1614</a></p>
+<p id="n1615" class="stm run hide_run"><a href="#n1615">1615</a></p>
+<p id="n1616" class="stm run hide_run"><a href="#n1616">1616</a></p>
+<p id="n1617" class="stm run hide_run"><a href="#n1617">1617</a></p>
+<p id="n1618" class="pln"><a href="#n1618">1618</a></p>
+<p id="n1619" class="stm run hide_run"><a href="#n1619">1619</a></p>
+<p id="n1620" class="pln"><a href="#n1620">1620</a></p>
+<p id="n1621" class="pln"><a href="#n1621">1621</a></p>
+<p id="n1622" class="stm run hide_run"><a href="#n1622">1622</a></p>
+<p id="n1623" class="pln"><a href="#n1623">1623</a></p>
+<p id="n1624" class="pln"><a href="#n1624">1624</a></p>
+<p id="n1625" class="pln"><a href="#n1625">1625</a></p>
+<p id="n1626" class="pln"><a href="#n1626">1626</a></p>
+<p id="n1627" class="pln"><a href="#n1627">1627</a></p>
+<p id="n1628" class="pln"><a href="#n1628">1628</a></p>
+<p id="n1629" class="pln"><a href="#n1629">1629</a></p>
+<p id="n1630" class="pln"><a href="#n1630">1630</a></p>
+<p id="n1631" class="pln"><a href="#n1631">1631</a></p>
+<p id="n1632" class="pln"><a href="#n1632">1632</a></p>
+<p id="n1633" class="pln"><a href="#n1633">1633</a></p>
+<p id="n1634" class="pln"><a href="#n1634">1634</a></p>
+<p id="n1635" class="pln"><a href="#n1635">1635</a></p>
+<p id="n1636" class="stm run hide_run"><a href="#n1636">1636</a></p>
+<p id="n1637" class="stm run hide_run"><a href="#n1637">1637</a></p>
+<p id="n1638" class="stm run hide_run"><a href="#n1638">1638</a></p>
+<p id="n1639" class="stm run hide_run"><a href="#n1639">1639</a></p>
+<p id="n1640" class="stm run hide_run"><a href="#n1640">1640</a></p>
+<p id="n1641" class="stm run hide_run"><a href="#n1641">1641</a></p>
+<p id="n1642" class="pln"><a href="#n1642">1642</a></p>
+<p id="n1643" class="stm run hide_run"><a href="#n1643">1643</a></p>
+<p id="n1644" class="stm run hide_run"><a href="#n1644">1644</a></p>
+<p id="n1645" class="pln"><a href="#n1645">1645</a></p>
+<p id="n1646" class="pln"><a href="#n1646">1646</a></p>
+<p id="n1647" class="pln"><a href="#n1647">1647</a></p>
+<p id="n1648" class="pln"><a href="#n1648">1648</a></p>
+<p id="n1649" class="pln"><a href="#n1649">1649</a></p>
+<p id="n1650" class="pln"><a href="#n1650">1650</a></p>
+<p id="n1651" class="pln"><a href="#n1651">1651</a></p>
+<p id="n1652" class="pln"><a href="#n1652">1652</a></p>
+<p id="n1653" class="pln"><a href="#n1653">1653</a></p>
+<p id="n1654" class="pln"><a href="#n1654">1654</a></p>
+<p id="n1655" class="pln"><a href="#n1655">1655</a></p>
+<p id="n1656" class="pln"><a href="#n1656">1656</a></p>
+<p id="n1657" class="pln"><a href="#n1657">1657</a></p>
+<p id="n1658" class="pln"><a href="#n1658">1658</a></p>
+<p id="n1659" class="pln"><a href="#n1659">1659</a></p>
+<p id="n1660" class="pln"><a href="#n1660">1660</a></p>
+<p id="n1661" class="pln"><a href="#n1661">1661</a></p>
+<p id="n1662" class="pln"><a href="#n1662">1662</a></p>
+<p id="n1663" class="stm run hide_run"><a href="#n1663">1663</a></p>
+<p id="n1664" class="stm run hide_run"><a href="#n1664">1664</a></p>
+<p id="n1665" class="stm run hide_run"><a href="#n1665">1665</a></p>
+<p id="n1666" class="stm run hide_run"><a href="#n1666">1666</a></p>
+<p id="n1667" class="stm run hide_run"><a href="#n1667">1667</a></p>
+<p id="n1668" class="stm run hide_run"><a href="#n1668">1668</a></p>
+<p id="n1669" class="stm run hide_run"><a href="#n1669">1669</a></p>
+<p id="n1670" class="stm run hide_run"><a href="#n1670">1670</a></p>
+<p id="n1671" class="stm run hide_run"><a href="#n1671">1671</a></p>
+<p id="n1672" class="stm run hide_run"><a href="#n1672">1672</a></p>
+<p id="n1673" class="stm run hide_run"><a href="#n1673">1673</a></p>
+<p id="n1674" class="stm run hide_run"><a href="#n1674">1674</a></p>
+<p id="n1675" class="stm run hide_run"><a href="#n1675">1675</a></p>
+<p id="n1676" class="stm run hide_run"><a href="#n1676">1676</a></p>
+<p id="n1677" class="stm run hide_run"><a href="#n1677">1677</a></p>
+<p id="n1678" class="stm run hide_run"><a href="#n1678">1678</a></p>
+<p id="n1679" class="stm run hide_run"><a href="#n1679">1679</a></p>
+<p id="n1680" class="stm run hide_run"><a href="#n1680">1680</a></p>
+<p id="n1681" class="pln"><a href="#n1681">1681</a></p>
+<p id="n1682" class="stm run hide_run"><a href="#n1682">1682</a></p>
+<p id="n1683" class="stm run hide_run"><a href="#n1683">1683</a></p>
+<p id="n1684" class="pln"><a href="#n1684">1684</a></p>
+<p id="n1685" class="pln"><a href="#n1685">1685</a></p>
+<p id="n1686" class="pln"><a href="#n1686">1686</a></p>
+<p id="n1687" class="pln"><a href="#n1687">1687</a></p>
+<p id="n1688" class="pln"><a href="#n1688">1688</a></p>
+<p id="n1689" class="pln"><a href="#n1689">1689</a></p>
+<p id="n1690" class="stm run hide_run"><a href="#n1690">1690</a></p>
+<p id="n1691" class="stm run hide_run"><a href="#n1691">1691</a></p>
+<p id="n1692" class="stm run hide_run"><a href="#n1692">1692</a></p>
+<p id="n1693" class="stm run hide_run"><a href="#n1693">1693</a></p>
+<p id="n1694" class="stm run hide_run"><a href="#n1694">1694</a></p>
+<p id="n1695" class="stm run hide_run"><a href="#n1695">1695</a></p>
+<p id="n1696" class="stm run hide_run"><a href="#n1696">1696</a></p>
+<p id="n1697" class="stm run hide_run"><a href="#n1697">1697</a></p>
+<p id="n1698" class="pln"><a href="#n1698">1698</a></p>
+<p id="n1699" class="stm run hide_run"><a href="#n1699">1699</a></p>
+<p id="n1700" class="stm run hide_run"><a href="#n1700">1700</a></p>
+<p id="n1701" class="stm run hide_run"><a href="#n1701">1701</a></p>
+<p id="n1702" class="stm run hide_run"><a href="#n1702">1702</a></p>
+<p id="n1703" class="stm run hide_run"><a href="#n1703">1703</a></p>
+<p id="n1704" class="stm run hide_run"><a href="#n1704">1704</a></p>
+<p id="n1705" class="pln"><a href="#n1705">1705</a></p>
+<p id="n1706" class="stm run hide_run"><a href="#n1706">1706</a></p>
+<p id="n1707" class="stm run hide_run"><a href="#n1707">1707</a></p>
+<p id="n1708" class="stm run hide_run"><a href="#n1708">1708</a></p>
+<p id="n1709" class="stm run hide_run"><a href="#n1709">1709</a></p>
+<p id="n1710" class="stm run hide_run"><a href="#n1710">1710</a></p>
+<p id="n1711" class="stm run hide_run"><a href="#n1711">1711</a></p>
+<p id="n1712" class="stm run hide_run"><a href="#n1712">1712</a></p>
+<p id="n1713" class="pln"><a href="#n1713">1713</a></p>
+<p id="n1714" class="pln"><a href="#n1714">1714</a></p>
+<p id="n1715" class="stm run hide_run"><a href="#n1715">1715</a></p>
+<p id="n1716" class="stm run hide_run"><a href="#n1716">1716</a></p>
+<p id="n1717" class="pln"><a href="#n1717">1717</a></p>
+<p id="n1718" class="pln"><a href="#n1718">1718</a></p>
+<p id="n1719" class="pln"><a href="#n1719">1719</a></p>
+<p id="n1720" class="pln"><a href="#n1720">1720</a></p>
+<p id="n1721" class="pln"><a href="#n1721">1721</a></p>
+<p id="n1722" class="pln"><a href="#n1722">1722</a></p>
+<p id="n1723" class="pln"><a href="#n1723">1723</a></p>
+<p id="n1724" class="pln"><a href="#n1724">1724</a></p>
+<p id="n1725" class="pln"><a href="#n1725">1725</a></p>
+<p id="n1726" class="pln"><a href="#n1726">1726</a></p>
+<p id="n1727" class="pln"><a href="#n1727">1727</a></p>
+<p id="n1728" class="pln"><a href="#n1728">1728</a></p>
+<p id="n1729" class="pln"><a href="#n1729">1729</a></p>
+<p id="n1730" class="pln"><a href="#n1730">1730</a></p>
+<p id="n1731" class="pln"><a href="#n1731">1731</a></p>
+<p id="n1732" class="pln"><a href="#n1732">1732</a></p>
+<p id="n1733" class="pln"><a href="#n1733">1733</a></p>
+<p id="n1734" class="pln"><a href="#n1734">1734</a></p>
+<p id="n1735" class="pln"><a href="#n1735">1735</a></p>
+<p id="n1736" class="pln"><a href="#n1736">1736</a></p>
+<p id="n1737" class="pln"><a href="#n1737">1737</a></p>
+<p id="n1738" class="stm run hide_run"><a href="#n1738">1738</a></p>
+<p id="n1739" class="stm run hide_run"><a href="#n1739">1739</a></p>
+<p id="n1740" class="stm run hide_run"><a href="#n1740">1740</a></p>
+<p id="n1741" class="pln"><a href="#n1741">1741</a></p>
+<p id="n1742" class="stm run hide_run"><a href="#n1742">1742</a></p>
+<p id="n1743" class="stm run hide_run"><a href="#n1743">1743</a></p>
+<p id="n1744" class="pln"><a href="#n1744">1744</a></p>
+<p id="n1745" class="pln"><a href="#n1745">1745</a></p>
+<p id="n1746" class="pln"><a href="#n1746">1746</a></p>
+<p id="n1747" class="pln"><a href="#n1747">1747</a></p>
+<p id="n1748" class="pln"><a href="#n1748">1748</a></p>
+<p id="n1749" class="pln"><a href="#n1749">1749</a></p>
+<p id="n1750" class="pln"><a href="#n1750">1750</a></p>
+<p id="n1751" class="pln"><a href="#n1751">1751</a></p>
+<p id="n1752" class="pln"><a href="#n1752">1752</a></p>
+<p id="n1753" class="pln"><a href="#n1753">1753</a></p>
+<p id="n1754" class="pln"><a href="#n1754">1754</a></p>
+<p id="n1755" class="pln"><a href="#n1755">1755</a></p>
+<p id="n1756" class="pln"><a href="#n1756">1756</a></p>
+<p id="n1757" class="pln"><a href="#n1757">1757</a></p>
+<p id="n1758" class="stm run hide_run"><a href="#n1758">1758</a></p>
+<p id="n1759" class="stm run hide_run"><a href="#n1759">1759</a></p>
+<p id="n1760" class="stm run hide_run"><a href="#n1760">1760</a></p>
+<p id="n1761" class="pln"><a href="#n1761">1761</a></p>
+<p id="n1762" class="stm run hide_run"><a href="#n1762">1762</a></p>
+<p id="n1763" class="stm run hide_run"><a href="#n1763">1763</a></p>
+<p id="n1764" class="pln"><a href="#n1764">1764</a></p>
+<p id="n1765" class="pln"><a href="#n1765">1765</a></p>
+<p id="n1766" class="pln"><a href="#n1766">1766</a></p>
+<p id="n1767" class="pln"><a href="#n1767">1767</a></p>
+<p id="n1768" class="pln"><a href="#n1768">1768</a></p>
+<p id="n1769" class="pln"><a href="#n1769">1769</a></p>
+<p id="n1770" class="pln"><a href="#n1770">1770</a></p>
+<p id="n1771" class="pln"><a href="#n1771">1771</a></p>
+<p id="n1772" class="pln"><a href="#n1772">1772</a></p>
+<p id="n1773" class="pln"><a href="#n1773">1773</a></p>
+<p id="n1774" class="pln"><a href="#n1774">1774</a></p>
+<p id="n1775" class="pln"><a href="#n1775">1775</a></p>
+<p id="n1776" class="stm run hide_run"><a href="#n1776">1776</a></p>
+<p id="n1777" class="stm run hide_run"><a href="#n1777">1777</a></p>
+<p id="n1778" class="stm run hide_run"><a href="#n1778">1778</a></p>
+<p id="n1779" class="pln"><a href="#n1779">1779</a></p>
+<p id="n1780" class="pln"><a href="#n1780">1780</a></p>
+<p id="n1781" class="stm run hide_run"><a href="#n1781">1781</a></p>
+<p id="n1782" class="pln"><a href="#n1782">1782</a></p>
+<p id="n1783" class="stm run hide_run"><a href="#n1783">1783</a></p>
+<p id="n1784" class="pln"><a href="#n1784">1784</a></p>
+<p id="n1785" class="pln"><a href="#n1785">1785</a></p>
+<p id="n1786" class="pln"><a href="#n1786">1786</a></p>
+<p id="n1787" class="pln"><a href="#n1787">1787</a></p>
+<p id="n1788" class="pln"><a href="#n1788">1788</a></p>
+<p id="n1789" class="pln"><a href="#n1789">1789</a></p>
+<p id="n1790" class="pln"><a href="#n1790">1790</a></p>
+<p id="n1791" class="pln"><a href="#n1791">1791</a></p>
+<p id="n1792" class="pln"><a href="#n1792">1792</a></p>
+<p id="n1793" class="pln"><a href="#n1793">1793</a></p>
+<p id="n1794" class="pln"><a href="#n1794">1794</a></p>
+<p id="n1795" class="pln"><a href="#n1795">1795</a></p>
+<p id="n1796" class="pln"><a href="#n1796">1796</a></p>
+<p id="n1797" class="pln"><a href="#n1797">1797</a></p>
+<p id="n1798" class="pln"><a href="#n1798">1798</a></p>
+<p id="n1799" class="pln"><a href="#n1799">1799</a></p>
+<p id="n1800" class="pln"><a href="#n1800">1800</a></p>
+<p id="n1801" class="pln"><a href="#n1801">1801</a></p>
+<p id="n1802" class="pln"><a href="#n1802">1802</a></p>
+<p id="n1803" class="pln"><a href="#n1803">1803</a></p>
+<p id="n1804" class="exc"><a href="#n1804">1804</a></p>
+<p id="n1805" class="pln"><a href="#n1805">1805</a></p>
+<p id="n1806" class="exc"><a href="#n1806">1806</a></p>
+<p id="n1807" class="exc"><a href="#n1807">1807</a></p>
+<p id="n1808" class="exc"><a href="#n1808">1808</a></p>
+<p id="n1809" class="pln"><a href="#n1809">1809</a></p>
+<p id="n1810" class="exc"><a href="#n1810">1810</a></p>
+<p id="n1811" class="exc"><a href="#n1811">1811</a></p>
+<p id="n1812" class="pln"><a href="#n1812">1812</a></p>
+<p id="n1813" class="stm run hide_run"><a href="#n1813">1813</a></p>
+<p id="n1814" class="stm run hide_run"><a href="#n1814">1814</a></p>
+<p id="n1815" class="stm run hide_run"><a href="#n1815">1815</a></p>
+<p id="n1816" class="stm run hide_run"><a href="#n1816">1816</a></p>
+<p id="n1817" class="stm run hide_run"><a href="#n1817">1817</a></p>
+<p id="n1818" class="stm run hide_run"><a href="#n1818">1818</a></p>
+<p id="n1819" class="pln"><a href="#n1819">1819</a></p>
+<p id="n1820" class="stm run hide_run"><a href="#n1820">1820</a></p>
+<p id="n1821" class="stm run hide_run"><a href="#n1821">1821</a></p>
+<p id="n1822" class="stm run hide_run"><a href="#n1822">1822</a></p>
+<p id="n1823" class="pln"><a href="#n1823">1823</a></p>
+<p id="n1824" class="stm run hide_run"><a href="#n1824">1824</a></p>
+<p id="n1825" class="stm run hide_run"><a href="#n1825">1825</a></p>
+<p id="n1826" class="stm run hide_run"><a href="#n1826">1826</a></p>
+<p id="n1827" class="stm run hide_run"><a href="#n1827">1827</a></p>
+<p id="n1828" class="pln"><a href="#n1828">1828</a></p>
+<p id="n1829" class="stm run hide_run"><a href="#n1829">1829</a></p>
+<p id="n1830" class="stm run hide_run"><a href="#n1830">1830</a></p>
+<p id="n1831" class="stm run hide_run"><a href="#n1831">1831</a></p>
+<p id="n1832" class="stm run hide_run"><a href="#n1832">1832</a></p>
+<p id="n1833" class="pln"><a href="#n1833">1833</a></p>
+<p id="n1834" class="stm run hide_run"><a href="#n1834">1834</a></p>
+<p id="n1835" class="stm run hide_run"><a href="#n1835">1835</a></p>
+<p id="n1836" class="stm run hide_run"><a href="#n1836">1836</a></p>
+<p id="n1837" class="stm run hide_run"><a href="#n1837">1837</a></p>
+<p id="n1838" class="pln"><a href="#n1838">1838</a></p>
+<p id="n1839" class="stm run hide_run"><a href="#n1839">1839</a></p>
+<p id="n1840" class="stm run hide_run"><a href="#n1840">1840</a></p>
+<p id="n1841" class="stm run hide_run"><a href="#n1841">1841</a></p>
+<p id="n1842" class="stm run hide_run"><a href="#n1842">1842</a></p>
+<p id="n1843" class="pln"><a href="#n1843">1843</a></p>
+<p id="n1844" class="pln"><a href="#n1844">1844</a></p>
+<p id="n1845" class="stm run hide_run"><a href="#n1845">1845</a></p>
+<p id="n1846" class="pln"><a href="#n1846">1846</a></p>
+<p id="n1847" class="stm run hide_run"><a href="#n1847">1847</a></p>
+<p id="n1848" class="stm run hide_run"><a href="#n1848">1848</a></p>
+<p id="n1849" class="pln"><a href="#n1849">1849</a></p>
+<p id="n1850" class="pln"><a href="#n1850">1850</a></p>
+<p id="n1851" class="pln"><a href="#n1851">1851</a></p>
+<p id="n1852" class="pln"><a href="#n1852">1852</a></p>
+<p id="n1853" class="pln"><a href="#n1853">1853</a></p>
+<p id="n1854" class="pln"><a href="#n1854">1854</a></p>
+<p id="n1855" class="pln"><a href="#n1855">1855</a></p>
+<p id="n1856" class="pln"><a href="#n1856">1856</a></p>
+<p id="n1857" class="pln"><a href="#n1857">1857</a></p>
+<p id="n1858" class="pln"><a href="#n1858">1858</a></p>
+<p id="n1859" class="pln"><a href="#n1859">1859</a></p>
+<p id="n1860" class="pln"><a href="#n1860">1860</a></p>
+<p id="n1861" class="pln"><a href="#n1861">1861</a></p>
+<p id="n1862" class="pln"><a href="#n1862">1862</a></p>
+<p id="n1863" class="pln"><a href="#n1863">1863</a></p>
+<p id="n1864" class="pln"><a href="#n1864">1864</a></p>
+<p id="n1865" class="pln"><a href="#n1865">1865</a></p>
+<p id="n1866" class="pln"><a href="#n1866">1866</a></p>
+<p id="n1867" class="pln"><a href="#n1867">1867</a></p>
+<p id="n1868" class="stm run hide_run"><a href="#n1868">1868</a></p>
+<p id="n1869" class="stm run hide_run"><a href="#n1869">1869</a></p>
+<p id="n1870" class="stm run hide_run"><a href="#n1870">1870</a></p>
+<p id="n1871" class="pln"><a href="#n1871">1871</a></p>
+<p id="n1872" class="stm run hide_run"><a href="#n1872">1872</a></p>
+<p id="n1873" class="stm run hide_run"><a href="#n1873">1873</a></p>
+<p id="n1874" class="pln"><a href="#n1874">1874</a></p>
+<p id="n1875" class="pln"><a href="#n1875">1875</a></p>
+<p id="n1876" class="pln"><a href="#n1876">1876</a></p>
+<p id="n1877" class="pln"><a href="#n1877">1877</a></p>
+<p id="n1878" class="pln"><a href="#n1878">1878</a></p>
+<p id="n1879" class="pln"><a href="#n1879">1879</a></p>
+<p id="n1880" class="pln"><a href="#n1880">1880</a></p>
+<p id="n1881" class="pln"><a href="#n1881">1881</a></p>
+<p id="n1882" class="pln"><a href="#n1882">1882</a></p>
+<p id="n1883" class="pln"><a href="#n1883">1883</a></p>
+<p id="n1884" class="pln"><a href="#n1884">1884</a></p>
+<p id="n1885" class="pln"><a href="#n1885">1885</a></p>
+<p id="n1886" class="pln"><a href="#n1886">1886</a></p>
+<p id="n1887" class="pln"><a href="#n1887">1887</a></p>
+<p id="n1888" class="pln"><a href="#n1888">1888</a></p>
+<p id="n1889" class="pln"><a href="#n1889">1889</a></p>
+<p id="n1890" class="pln"><a href="#n1890">1890</a></p>
+<p id="n1891" class="pln"><a href="#n1891">1891</a></p>
+<p id="n1892" class="pln"><a href="#n1892">1892</a></p>
+<p id="n1893" class="pln"><a href="#n1893">1893</a></p>
+<p id="n1894" class="pln"><a href="#n1894">1894</a></p>
+<p id="n1895" class="pln"><a href="#n1895">1895</a></p>
+<p id="n1896" class="pln"><a href="#n1896">1896</a></p>
+<p id="n1897" class="stm run hide_run"><a href="#n1897">1897</a></p>
+<p id="n1898" class="stm run hide_run"><a href="#n1898">1898</a></p>
+<p id="n1899" class="stm run hide_run"><a href="#n1899">1899</a></p>
+<p id="n1900" class="pln"><a href="#n1900">1900</a></p>
+<p id="n1901" class="stm run hide_run"><a href="#n1901">1901</a></p>
+<p id="n1902" class="stm run hide_run"><a href="#n1902">1902</a></p>
+<p id="n1903" class="pln"><a href="#n1903">1903</a></p>
+<p id="n1904" class="pln"><a href="#n1904">1904</a></p>
+<p id="n1905" class="pln"><a href="#n1905">1905</a></p>
+<p id="n1906" class="pln"><a href="#n1906">1906</a></p>
+<p id="n1907" class="pln"><a href="#n1907">1907</a></p>
+<p id="n1908" class="pln"><a href="#n1908">1908</a></p>
+<p id="n1909" class="pln"><a href="#n1909">1909</a></p>
+<p id="n1910" class="pln"><a href="#n1910">1910</a></p>
+<p id="n1911" class="pln"><a href="#n1911">1911</a></p>
+<p id="n1912" class="pln"><a href="#n1912">1912</a></p>
+<p id="n1913" class="pln"><a href="#n1913">1913</a></p>
+<p id="n1914" class="pln"><a href="#n1914">1914</a></p>
+<p id="n1915" class="pln"><a href="#n1915">1915</a></p>
+<p id="n1916" class="pln"><a href="#n1916">1916</a></p>
+<p id="n1917" class="pln"><a href="#n1917">1917</a></p>
+<p id="n1918" class="pln"><a href="#n1918">1918</a></p>
+<p id="n1919" class="pln"><a href="#n1919">1919</a></p>
+<p id="n1920" class="pln"><a href="#n1920">1920</a></p>
+<p id="n1921" class="pln"><a href="#n1921">1921</a></p>
+<p id="n1922" class="pln"><a href="#n1922">1922</a></p>
+<p id="n1923" class="pln"><a href="#n1923">1923</a></p>
+<p id="n1924" class="pln"><a href="#n1924">1924</a></p>
+<p id="n1925" class="pln"><a href="#n1925">1925</a></p>
+<p id="n1926" class="stm run hide_run"><a href="#n1926">1926</a></p>
+<p id="n1927" class="stm run hide_run"><a href="#n1927">1927</a></p>
+<p id="n1928" class="stm run hide_run"><a href="#n1928">1928</a></p>
+<p id="n1929" class="pln"><a href="#n1929">1929</a></p>
+<p id="n1930" class="stm run hide_run"><a href="#n1930">1930</a></p>
+<p id="n1931" class="stm run hide_run"><a href="#n1931">1931</a></p>
+<p id="n1932" class="pln"><a href="#n1932">1932</a></p>
+<p id="n1933" class="pln"><a href="#n1933">1933</a></p>
+<p id="n1934" class="pln"><a href="#n1934">1934</a></p>
+<p id="n1935" class="pln"><a href="#n1935">1935</a></p>
+<p id="n1936" class="pln"><a href="#n1936">1936</a></p>
+<p id="n1937" class="pln"><a href="#n1937">1937</a></p>
+<p id="n1938" class="pln"><a href="#n1938">1938</a></p>
+<p id="n1939" class="pln"><a href="#n1939">1939</a></p>
+<p id="n1940" class="pln"><a href="#n1940">1940</a></p>
+<p id="n1941" class="pln"><a href="#n1941">1941</a></p>
+<p id="n1942" class="pln"><a href="#n1942">1942</a></p>
+<p id="n1943" class="pln"><a href="#n1943">1943</a></p>
+<p id="n1944" class="pln"><a href="#n1944">1944</a></p>
+<p id="n1945" class="pln"><a href="#n1945">1945</a></p>
+<p id="n1946" class="pln"><a href="#n1946">1946</a></p>
+<p id="n1947" class="pln"><a href="#n1947">1947</a></p>
+<p id="n1948" class="pln"><a href="#n1948">1948</a></p>
+<p id="n1949" class="pln"><a href="#n1949">1949</a></p>
+<p id="n1950" class="pln"><a href="#n1950">1950</a></p>
+<p id="n1951" class="pln"><a href="#n1951">1951</a></p>
+<p id="n1952" class="pln"><a href="#n1952">1952</a></p>
+<p id="n1953" class="pln"><a href="#n1953">1953</a></p>
+<p id="n1954" class="pln"><a href="#n1954">1954</a></p>
+<p id="n1955" class="pln"><a href="#n1955">1955</a></p>
+<p id="n1956" class="pln"><a href="#n1956">1956</a></p>
+<p id="n1957" class="pln"><a href="#n1957">1957</a></p>
+<p id="n1958" class="pln"><a href="#n1958">1958</a></p>
+<p id="n1959" class="pln"><a href="#n1959">1959</a></p>
+<p id="n1960" class="pln"><a href="#n1960">1960</a></p>
+<p id="n1961" class="pln"><a href="#n1961">1961</a></p>
+<p id="n1962" class="pln"><a href="#n1962">1962</a></p>
+<p id="n1963" class="pln"><a href="#n1963">1963</a></p>
+<p id="n1964" class="pln"><a href="#n1964">1964</a></p>
+<p id="n1965" class="pln"><a href="#n1965">1965</a></p>
+<p id="n1966" class="pln"><a href="#n1966">1966</a></p>
+<p id="n1967" class="pln"><a href="#n1967">1967</a></p>
+<p id="n1968" class="pln"><a href="#n1968">1968</a></p>
+<p id="n1969" class="pln"><a href="#n1969">1969</a></p>
+<p id="n1970" class="pln"><a href="#n1970">1970</a></p>
+<p id="n1971" class="pln"><a href="#n1971">1971</a></p>
+<p id="n1972" class="pln"><a href="#n1972">1972</a></p>
+<p id="n1973" class="pln"><a href="#n1973">1973</a></p>
+<p id="n1974" class="pln"><a href="#n1974">1974</a></p>
+<p id="n1975" class="pln"><a href="#n1975">1975</a></p>
+<p id="n1976" class="pln"><a href="#n1976">1976</a></p>
+<p id="n1977" class="pln"><a href="#n1977">1977</a></p>
+<p id="n1978" class="pln"><a href="#n1978">1978</a></p>
+<p id="n1979" class="pln"><a href="#n1979">1979</a></p>
+<p id="n1980" class="pln"><a href="#n1980">1980</a></p>
+<p id="n1981" class="pln"><a href="#n1981">1981</a></p>
+<p id="n1982" class="pln"><a href="#n1982">1982</a></p>
+<p id="n1983" class="pln"><a href="#n1983">1983</a></p>
+<p id="n1984" class="pln"><a href="#n1984">1984</a></p>
+<p id="n1985" class="pln"><a href="#n1985">1985</a></p>
+<p id="n1986" class="pln"><a href="#n1986">1986</a></p>
+<p id="n1987" class="pln"><a href="#n1987">1987</a></p>
+<p id="n1988" class="pln"><a href="#n1988">1988</a></p>
+<p id="n1989" class="pln"><a href="#n1989">1989</a></p>
+<p id="n1990" class="pln"><a href="#n1990">1990</a></p>
+<p id="n1991" class="pln"><a href="#n1991">1991</a></p>
+<p id="n1992" class="pln"><a href="#n1992">1992</a></p>
+<p id="n1993" class="pln"><a href="#n1993">1993</a></p>
+<p id="n1994" class="pln"><a href="#n1994">1994</a></p>
+<p id="n1995" class="pln"><a href="#n1995">1995</a></p>
+<p id="n1996" class="pln"><a href="#n1996">1996</a></p>
+<p id="n1997" class="pln"><a href="#n1997">1997</a></p>
+<p id="n1998" class="pln"><a href="#n1998">1998</a></p>
+<p id="n1999" class="pln"><a href="#n1999">1999</a></p>
+<p id="n2000" class="pln"><a href="#n2000">2000</a></p>
+<p id="n2001" class="pln"><a href="#n2001">2001</a></p>
+<p id="n2002" class="pln"><a href="#n2002">2002</a></p>
+<p id="n2003" class="pln"><a href="#n2003">2003</a></p>
+<p id="n2004" class="stm run hide_run"><a href="#n2004">2004</a></p>
+<p id="n2005" class="stm run hide_run"><a href="#n2005">2005</a></p>
+<p id="n2006" class="pln"><a href="#n2006">2006</a></p>
+<p id="n2007" class="stm run hide_run"><a href="#n2007">2007</a></p>
+<p id="n2008" class="stm run hide_run"><a href="#n2008">2008</a></p>
+<p id="n2009" class="pln"><a href="#n2009">2009</a></p>
+<p id="n2010" class="stm run hide_run"><a href="#n2010">2010</a></p>
+<p id="n2011" class="stm run hide_run"><a href="#n2011">2011</a></p>
+<p id="n2012" class="pln"><a href="#n2012">2012</a></p>
+<p id="n2013" class="stm run hide_run"><a href="#n2013">2013</a></p>
+<p id="n2014" class="stm run hide_run"><a href="#n2014">2014</a></p>
+<p id="n2015" class="pln"><a href="#n2015">2015</a></p>
+<p id="n2016" class="stm run hide_run"><a href="#n2016">2016</a></p>
+<p id="n2017" class="stm run hide_run"><a href="#n2017">2017</a></p>
+<p id="n2018" class="pln"><a href="#n2018">2018</a></p>
+<p id="n2019" class="stm run hide_run"><a href="#n2019">2019</a></p>
+<p id="n2020" class="stm run hide_run"><a href="#n2020">2020</a></p>
+<p id="n2021" class="pln"><a href="#n2021">2021</a></p>
+<p id="n2022" class="stm run hide_run"><a href="#n2022">2022</a></p>
+<p id="n2023" class="pln"><a href="#n2023">2023</a></p>
+<p id="n2024" class="stm run hide_run"><a href="#n2024">2024</a></p>
+<p id="n2025" class="stm run hide_run"><a href="#n2025">2025</a></p>
+<p id="n2026" class="stm run hide_run"><a href="#n2026">2026</a></p>
+<p id="n2027" class="stm run hide_run"><a href="#n2027">2027</a></p>
+<p id="n2028" class="stm run hide_run"><a href="#n2028">2028</a></p>
+<p id="n2029" class="pln"><a href="#n2029">2029</a></p>
+<p id="n2030" class="pln"><a href="#n2030">2030</a></p>
+<p id="n2031" class="stm run hide_run"><a href="#n2031">2031</a></p>
+<p id="n2032" class="pln"><a href="#n2032">2032</a></p>
+<p id="n2033" class="stm run hide_run"><a href="#n2033">2033</a></p>
+<p id="n2034" class="stm run hide_run"><a href="#n2034">2034</a></p>
+<p id="n2035" class="pln"><a href="#n2035">2035</a></p>
+<p id="n2036" class="pln"><a href="#n2036">2036</a></p>
+<p id="n2037" class="pln"><a href="#n2037">2037</a></p>
+<p id="n2038" class="pln"><a href="#n2038">2038</a></p>
+<p id="n2039" class="pln"><a href="#n2039">2039</a></p>
+<p id="n2040" class="pln"><a href="#n2040">2040</a></p>
+<p id="n2041" class="pln"><a href="#n2041">2041</a></p>
+<p id="n2042" class="pln"><a href="#n2042">2042</a></p>
+<p id="n2043" class="pln"><a href="#n2043">2043</a></p>
+<p id="n2044" class="pln"><a href="#n2044">2044</a></p>
+<p id="n2045" class="pln"><a href="#n2045">2045</a></p>
+<p id="n2046" class="pln"><a href="#n2046">2046</a></p>
+<p id="n2047" class="pln"><a href="#n2047">2047</a></p>
+<p id="n2048" class="pln"><a href="#n2048">2048</a></p>
+<p id="n2049" class="pln"><a href="#n2049">2049</a></p>
+<p id="n2050" class="pln"><a href="#n2050">2050</a></p>
+<p id="n2051" class="stm run hide_run"><a href="#n2051">2051</a></p>
+<p id="n2052" class="stm run hide_run"><a href="#n2052">2052</a></p>
+<p id="n2053" class="pln"><a href="#n2053">2053</a></p>
+<p id="n2054" class="pln"><a href="#n2054">2054</a></p>
+<p id="n2055" class="pln"><a href="#n2055">2055</a></p>
+<p id="n2056" class="pln"><a href="#n2056">2056</a></p>
+<p id="n2057" class="stm run hide_run"><a href="#n2057">2057</a></p>
+<p id="n2058" class="pln"><a href="#n2058">2058</a></p>
+<p id="n2059" class="stm run hide_run"><a href="#n2059">2059</a></p>
+<p id="n2060" class="pln"><a href="#n2060">2060</a></p>
+<p id="n2061" class="stm run hide_run"><a href="#n2061">2061</a></p>
+<p id="n2062" class="pln"><a href="#n2062">2062</a></p>
+<p id="n2063" class="pln"><a href="#n2063">2063</a></p>
+<p id="n2064" class="pln"><a href="#n2064">2064</a></p>
+<p id="n2065" class="pln"><a href="#n2065">2065</a></p>
+<p id="n2066" class="pln"><a href="#n2066">2066</a></p>
+<p id="n2067" class="pln"><a href="#n2067">2067</a></p>
+<p id="n2068" class="pln"><a href="#n2068">2068</a></p>
+<p id="n2069" class="pln"><a href="#n2069">2069</a></p>
+<p id="n2070" class="pln"><a href="#n2070">2070</a></p>
+<p id="n2071" class="pln"><a href="#n2071">2071</a></p>
+<p id="n2072" class="pln"><a href="#n2072">2072</a></p>
+<p id="n2073" class="pln"><a href="#n2073">2073</a></p>
+<p id="n2074" class="pln"><a href="#n2074">2074</a></p>
+<p id="n2075" class="pln"><a href="#n2075">2075</a></p>
+<p id="n2076" class="pln"><a href="#n2076">2076</a></p>
+<p id="n2077" class="pln"><a href="#n2077">2077</a></p>
+<p id="n2078" class="stm run hide_run"><a href="#n2078">2078</a></p>
+<p id="n2079" class="stm run hide_run"><a href="#n2079">2079</a></p>
+<p id="n2080" class="pln"><a href="#n2080">2080</a></p>
+<p id="n2081" class="pln"><a href="#n2081">2081</a></p>
+<p id="n2082" class="pln"><a href="#n2082">2082</a></p>
+<p id="n2083" class="pln"><a href="#n2083">2083</a></p>
+<p id="n2084" class="stm run hide_run"><a href="#n2084">2084</a></p>
+<p id="n2085" class="pln"><a href="#n2085">2085</a></p>
+<p id="n2086" class="stm run hide_run"><a href="#n2086">2086</a></p>
+<p id="n2087" class="stm run hide_run"><a href="#n2087">2087</a></p>
+<p id="n2088" class="pln"><a href="#n2088">2088</a></p>
+<p id="n2089" class="pln"><a href="#n2089">2089</a></p>
+<p id="n2090" class="pln"><a href="#n2090">2090</a></p>
+<p id="n2091" class="pln"><a href="#n2091">2091</a></p>
+<p id="n2092" class="pln"><a href="#n2092">2092</a></p>
+<p id="n2093" class="pln"><a href="#n2093">2093</a></p>
+<p id="n2094" class="pln"><a href="#n2094">2094</a></p>
+<p id="n2095" class="pln"><a href="#n2095">2095</a></p>
+<p id="n2096" class="pln"><a href="#n2096">2096</a></p>
+<p id="n2097" class="pln"><a href="#n2097">2097</a></p>
+<p id="n2098" class="pln"><a href="#n2098">2098</a></p>
+<p id="n2099" class="pln"><a href="#n2099">2099</a></p>
+<p id="n2100" class="pln"><a href="#n2100">2100</a></p>
+<p id="n2101" class="pln"><a href="#n2101">2101</a></p>
+<p id="n2102" class="pln"><a href="#n2102">2102</a></p>
+<p id="n2103" class="pln"><a href="#n2103">2103</a></p>
+<p id="n2104" class="stm run hide_run"><a href="#n2104">2104</a></p>
+<p id="n2105" class="stm run hide_run"><a href="#n2105">2105</a></p>
+<p id="n2106" class="pln"><a href="#n2106">2106</a></p>
+<p id="n2107" class="pln"><a href="#n2107">2107</a></p>
+<p id="n2108" class="pln"><a href="#n2108">2108</a></p>
+<p id="n2109" class="pln"><a href="#n2109">2109</a></p>
+<p id="n2110" class="stm run hide_run"><a href="#n2110">2110</a></p>
+<p id="n2111" class="pln"><a href="#n2111">2111</a></p>
+<p id="n2112" class="pln"><a href="#n2112">2112</a></p>
+<p id="n2113" class="stm run hide_run"><a href="#n2113">2113</a></p>
+<p id="n2114" class="pln"><a href="#n2114">2114</a></p>
+<p id="n2115" class="pln"><a href="#n2115">2115</a></p>
+<p id="n2116" class="stm run hide_run"><a href="#n2116">2116</a></p>
+<p id="n2117" class="pln"><a href="#n2117">2117</a></p>
+<p id="n2118" class="stm run hide_run"><a href="#n2118">2118</a></p>
+<p id="n2119" class="pln"><a href="#n2119">2119</a></p>
+<p id="n2120" class="pln"><a href="#n2120">2120</a></p>
+<p id="n2121" class="pln"><a href="#n2121">2121</a></p>
+<p id="n2122" class="pln"><a href="#n2122">2122</a></p>
+<p id="n2123" class="pln"><a href="#n2123">2123</a></p>
+<p id="n2124" class="pln"><a href="#n2124">2124</a></p>
+<p id="n2125" class="pln"><a href="#n2125">2125</a></p>
+<p id="n2126" class="pln"><a href="#n2126">2126</a></p>
+<p id="n2127" class="pln"><a href="#n2127">2127</a></p>
+<p id="n2128" class="pln"><a href="#n2128">2128</a></p>
+<p id="n2129" class="pln"><a href="#n2129">2129</a></p>
+<p id="n2130" class="pln"><a href="#n2130">2130</a></p>
+<p id="n2131" class="pln"><a href="#n2131">2131</a></p>
+<p id="n2132" class="pln"><a href="#n2132">2132</a></p>
+<p id="n2133" class="pln"><a href="#n2133">2133</a></p>
+<p id="n2134" class="pln"><a href="#n2134">2134</a></p>
+<p id="n2135" class="pln"><a href="#n2135">2135</a></p>
+<p id="n2136" class="pln"><a href="#n2136">2136</a></p>
+<p id="n2137" class="pln"><a href="#n2137">2137</a></p>
+<p id="n2138" class="pln"><a href="#n2138">2138</a></p>
+<p id="n2139" class="pln"><a href="#n2139">2139</a></p>
+<p id="n2140" class="stm run hide_run"><a href="#n2140">2140</a></p>
+<p id="n2141" class="stm run hide_run"><a href="#n2141">2141</a></p>
+<p id="n2142" class="stm run hide_run"><a href="#n2142">2142</a></p>
+<p id="n2143" class="pln"><a href="#n2143">2143</a></p>
+<p id="n2144" class="stm run hide_run"><a href="#n2144">2144</a></p>
+<p id="n2145" class="stm run hide_run"><a href="#n2145">2145</a></p>
+<p id="n2146" class="pln"><a href="#n2146">2146</a></p>
+<p id="n2147" class="pln"><a href="#n2147">2147</a></p>
+<p id="n2148" class="pln"><a href="#n2148">2148</a></p>
+<p id="n2149" class="pln"><a href="#n2149">2149</a></p>
+<p id="n2150" class="pln"><a href="#n2150">2150</a></p>
+<p id="n2151" class="stm run hide_run"><a href="#n2151">2151</a></p>
+<p id="n2152" class="stm run hide_run"><a href="#n2152">2152</a></p>
+<p id="n2153" class="stm run hide_run"><a href="#n2153">2153</a></p>
+<p id="n2154" class="pln"><a href="#n2154">2154</a></p>
+<p id="n2155" class="stm run hide_run"><a href="#n2155">2155</a></p>
+<p id="n2156" class="pln"><a href="#n2156">2156</a></p>
+<p id="n2157" class="pln"><a href="#n2157">2157</a></p>
+<p id="n2158" class="stm run hide_run"><a href="#n2158">2158</a></p>
+<p id="n2159" class="pln"><a href="#n2159">2159</a></p>
+<p id="n2160" class="pln"><a href="#n2160">2160</a></p>
+<p id="n2161" class="pln"><a href="#n2161">2161</a></p>
+<p id="n2162" class="pln"><a href="#n2162">2162</a></p>
+<p id="n2163" class="pln"><a href="#n2163">2163</a></p>
+<p id="n2164" class="pln"><a href="#n2164">2164</a></p>
+<p id="n2165" class="pln"><a href="#n2165">2165</a></p>
+<p id="n2166" class="pln"><a href="#n2166">2166</a></p>
+<p id="n2167" class="pln"><a href="#n2167">2167</a></p>
+<p id="n2168" class="pln"><a href="#n2168">2168</a></p>
+<p id="n2169" class="pln"><a href="#n2169">2169</a></p>
+<p id="n2170" class="pln"><a href="#n2170">2170</a></p>
+<p id="n2171" class="pln"><a href="#n2171">2171</a></p>
+<p id="n2172" class="pln"><a href="#n2172">2172</a></p>
+<p id="n2173" class="pln"><a href="#n2173">2173</a></p>
+<p id="n2174" class="pln"><a href="#n2174">2174</a></p>
+<p id="n2175" class="pln"><a href="#n2175">2175</a></p>
+<p id="n2176" class="stm run hide_run"><a href="#n2176">2176</a></p>
+<p id="n2177" class="stm run hide_run"><a href="#n2177">2177</a></p>
+<p id="n2178" class="stm run hide_run"><a href="#n2178">2178</a></p>
+<p id="n2179" class="stm run hide_run"><a href="#n2179">2179</a></p>
+<p id="n2180" class="stm run hide_run"><a href="#n2180">2180</a></p>
+<p id="n2181" class="stm run hide_run"><a href="#n2181">2181</a></p>
+<p id="n2182" class="pln"><a href="#n2182">2182</a></p>
+<p id="n2183" class="pln"><a href="#n2183">2183</a></p>
+<p id="n2184" class="stm run hide_run"><a href="#n2184">2184</a></p>
+<p id="n2185" class="pln"><a href="#n2185">2185</a></p>
+<p id="n2186" class="stm run hide_run"><a href="#n2186">2186</a></p>
+<p id="n2187" class="pln"><a href="#n2187">2187</a></p>
+<p id="n2188" class="stm run hide_run"><a href="#n2188">2188</a></p>
+<p id="n2189" class="pln"><a href="#n2189">2189</a></p>
+<p id="n2190" class="pln"><a href="#n2190">2190</a></p>
+<p id="n2191" class="pln"><a href="#n2191">2191</a></p>
+<p id="n2192" class="pln"><a href="#n2192">2192</a></p>
+<p id="n2193" class="pln"><a href="#n2193">2193</a></p>
+<p id="n2194" class="pln"><a href="#n2194">2194</a></p>
+<p id="n2195" class="pln"><a href="#n2195">2195</a></p>
+<p id="n2196" class="pln"><a href="#n2196">2196</a></p>
+<p id="n2197" class="stm run hide_run"><a href="#n2197">2197</a></p>
+<p id="n2198" class="stm run hide_run"><a href="#n2198">2198</a></p>
+<p id="n2199" class="stm run hide_run"><a href="#n2199">2199</a></p>
+<p id="n2200" class="stm run hide_run"><a href="#n2200">2200</a></p>
+<p id="n2201" class="pln"><a href="#n2201">2201</a></p>
+<p id="n2202" class="stm run hide_run"><a href="#n2202">2202</a></p>
+<p id="n2203" class="pln"><a href="#n2203">2203</a></p>
+<p id="n2204" class="stm run hide_run"><a href="#n2204">2204</a></p>
+<p id="n2205" class="pln"><a href="#n2205">2205</a></p>
+<p id="n2206" class="pln"><a href="#n2206">2206</a></p>
+<p id="n2207" class="pln"><a href="#n2207">2207</a></p>
+<p id="n2208" class="pln"><a href="#n2208">2208</a></p>
+<p id="n2209" class="pln"><a href="#n2209">2209</a></p>
+<p id="n2210" class="pln"><a href="#n2210">2210</a></p>
+<p id="n2211" class="pln"><a href="#n2211">2211</a></p>
+<p id="n2212" class="pln"><a href="#n2212">2212</a></p>
+<p id="n2213" class="stm run hide_run"><a href="#n2213">2213</a></p>
+<p id="n2214" class="stm run hide_run"><a href="#n2214">2214</a></p>
+<p id="n2215" class="stm run hide_run"><a href="#n2215">2215</a></p>
+<p id="n2216" class="stm run hide_run"><a href="#n2216">2216</a></p>
+<p id="n2217" class="stm run hide_run"><a href="#n2217">2217</a></p>
+<p id="n2218" class="stm run hide_run"><a href="#n2218">2218</a></p>
+<p id="n2219" class="pln"><a href="#n2219">2219</a></p>
+<p id="n2220" class="pln"><a href="#n2220">2220</a></p>
+<p id="n2221" class="pln"><a href="#n2221">2221</a></p>
+<p id="n2222" class="pln"><a href="#n2222">2222</a></p>
+
+ </td>
+ <td class="text">
+<p id="t1" class="pln"><span class="str">&quot;&quot;&quot; Test cogapp.</span><span class="strut">&nbsp;</span></p>
+<p id="t2" class="pln"><span class="str">&nbsp; &nbsp; http://nedbatchelder.com/code/cog</span><span class="strut">&nbsp;</span></p>
+<p id="t3" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t4" class="pln"><span class="str">&nbsp; &nbsp; Copyright 2004-2015, Ned Batchelder.</span><span class="strut">&nbsp;</span></p>
+<p id="t5" class="pln"><span class="str">&quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t6" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t7" class="stm run hide_run"><span class="key">from</span> <span class="nam">__future__</span> <span class="key">import</span> <span class="nam">absolute_import</span><span class="strut">&nbsp;</span></p>
+<p id="t8" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t9" class="stm run hide_run"><span class="key">import</span> <span class="nam">os</span><span class="op">,</span> <span class="nam">os</span><span class="op">.</span><span class="nam">path</span><span class="op">,</span> <span class="nam">random</span><span class="op">,</span> <span class="nam">re</span><span class="op">,</span> <span class="nam">shutil</span><span class="op">,</span> <span class="nam">stat</span><span class="op">,</span> <span class="nam">sys</span><span class="op">,</span> <span class="nam">tempfile</span><span class="strut">&nbsp;</span></p>
+<p id="t10" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t11" class="pln"><span class="com"># Use unittest2 if it&#39;s available, otherwise unittest.&nbsp; This gives us</span><span class="strut">&nbsp;</span></p>
+<p id="t12" class="pln"><span class="com"># back-ported features for 2.6.</span><span class="strut">&nbsp;</span></p>
+<p id="t13" class="stm run hide_run"><span class="key">try</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t14" class="stm run hide_run">&nbsp; &nbsp; <span class="key">import</span> <span class="nam">unittest2</span> <span class="key">as</span> <span class="nam">unittest</span><span class="strut">&nbsp;</span></p>
+<p id="t15" class="stm run hide_run"><span class="key">except</span> <span class="nam">ImportError</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t16" class="stm run hide_run">&nbsp; &nbsp; <span class="key">import</span> <span class="nam">unittest</span><span class="strut">&nbsp;</span></p>
+<p id="t17" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t18" class="stm run hide_run"><span class="key">from</span> <span class="op">.</span><span class="nam">backward</span> <span class="key">import</span> <span class="nam">StringIO</span><span class="op">,</span> <span class="nam">to_bytes</span><span class="op">,</span> <span class="nam">b</span><span class="strut">&nbsp;</span></p>
+<p id="t19" class="stm run hide_run"><span class="key">from</span> <span class="op">.</span><span class="nam">cogapp</span> <span class="key">import</span> <span class="nam">Cog</span><span class="op">,</span> <span class="nam">CogOptions</span><span class="op">,</span> <span class="nam">CogGenerator</span><span class="strut">&nbsp;</span></p>
+<p id="t20" class="stm run hide_run"><span class="key">from</span> <span class="op">.</span><span class="nam">cogapp</span> <span class="key">import</span> <span class="nam">CogError</span><span class="op">,</span> <span class="nam">CogUsageError</span><span class="op">,</span> <span class="nam">CogGeneratedError</span><span class="strut">&nbsp;</span></p>
+<p id="t21" class="stm run hide_run"><span class="key">from</span> <span class="op">.</span><span class="nam">cogapp</span> <span class="key">import</span> <span class="nam">usage</span><span class="op">,</span> <span class="nam">__version__</span><span class="strut">&nbsp;</span></p>
+<p id="t22" class="stm run hide_run"><span class="key">from</span> <span class="op">.</span><span class="nam">whiteutils</span> <span class="key">import</span> <span class="nam">reindentBlock</span><span class="strut">&nbsp;</span></p>
+<p id="t23" class="stm run hide_run"><span class="key">from</span> <span class="op">.</span><span class="nam">makefiles</span> <span class="key">import</span> <span class="op">*</span><span class="strut">&nbsp;</span></p>
+<p id="t24" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t25" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t26" class="stm run hide_run"><span class="nam">TestCase</span> <span class="op">=</span> <span class="nam">unittest</span><span class="op">.</span><span class="nam">TestCase</span><span class="strut">&nbsp;</span></p>
+<p id="t27" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t28" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t29" class="stm run hide_run"><span class="key">class</span> <span class="nam">CogTestsInMemory</span><span class="op">(</span><span class="nam">TestCase</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t30" class="pln">&nbsp; &nbsp; <span class="str">&quot;&quot;&quot; Test cases for cogapp.Cog()</span><span class="strut">&nbsp;</span></p>
+<p id="t31" class="pln"><span class="str">&nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t32" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t33" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testNoCog</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t34" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">strings</span> <span class="op">=</span> <span class="op">[</span><span class="strut">&nbsp;</span></p>
+<p id="t35" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;&#39;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t36" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39; &#39;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t37" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39; \t \t \tx&#39;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t38" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;hello&#39;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t39" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;the cat\nin the\nhat.&#39;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t40" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;Horton\n\tHears A\n\t\tWho&#39;</span><span class="strut">&nbsp;</span></p>
+<p id="t41" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">]</span><span class="strut">&nbsp;</span></p>
+<p id="t42" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">for</span> <span class="nam">s</span> <span class="key">in</span> <span class="nam">strings</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t43" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">Cog</span><span class="op">(</span><span class="op">)</span><span class="op">.</span><span class="nam">processString</span><span class="op">(</span><span class="nam">s</span><span class="op">)</span><span class="op">,</span> <span class="nam">s</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t44" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t45" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testSimple</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t46" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t47" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Some text.</span><span class="strut">&nbsp;</span></p>
+<p id="t48" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t49" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; import cog</span><span class="strut">&nbsp;</span></p>
+<p id="t50" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;This is line one\\n&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t51" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;This is line two&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t52" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t53" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; gobbledegook.</span><span class="strut">&nbsp;</span></p>
+<p id="t54" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t55" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; epilogue.</span><span class="strut">&nbsp;</span></p>
+<p id="t56" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t57" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t58" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">outfile</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t59" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Some text.</span><span class="strut">&nbsp;</span></p>
+<p id="t60" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t61" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; import cog</span><span class="strut">&nbsp;</span></p>
+<p id="t62" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;This is line one\\n&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t63" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;This is line two&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t64" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t65" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This is line one</span><span class="strut">&nbsp;</span></p>
+<p id="t66" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t67" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This is line two</span><span class="strut">&nbsp;</span></p>
+<p id="t68" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t69" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; epilogue.</span><span class="strut">&nbsp;</span></p>
+<p id="t70" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t71" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t72" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">Cog</span><span class="op">(</span><span class="op">)</span><span class="op">.</span><span class="nam">processString</span><span class="op">(</span><span class="nam">infile</span><span class="op">)</span><span class="op">,</span> <span class="nam">outfile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t73" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t74" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testEmptyCog</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t75" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># The cog clause can be totally empty.&nbsp; Not sure why you&#39;d want it,</span><span class="strut">&nbsp;</span></p>
+<p id="t76" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># but it works.</span><span class="strut">&nbsp;</span></p>
+<p id="t77" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t78" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; hello</span><span class="strut">&nbsp;</span></p>
+<p id="t79" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t80" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t81" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t82" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; goodbye</span><span class="strut">&nbsp;</span></p>
+<p id="t83" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t84" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t85" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="nam">reindentBlock</span><span class="op">(</span><span class="nam">infile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t86" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">Cog</span><span class="op">(</span><span class="op">)</span><span class="op">.</span><span class="nam">processString</span><span class="op">(</span><span class="nam">infile</span><span class="op">)</span><span class="op">,</span> <span class="nam">infile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t87" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t88" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testMultipleCogs</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t89" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># One file can have many cog chunks, even abutting each other.</span><span class="strut">&nbsp;</span></p>
+<p id="t90" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t91" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t92" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.out(&quot;chunk1&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t93" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t94" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; chunk1</span><span class="strut">&nbsp;</span></p>
+<p id="t95" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t96" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t97" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.out(&quot;chunk2&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t98" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t99" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; chunk2</span><span class="strut">&nbsp;</span></p>
+<p id="t100" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t101" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; between chunks</span><span class="strut">&nbsp;</span></p>
+<p id="t102" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t103" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.out(&quot;chunk3&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t104" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t105" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; chunk3</span><span class="strut">&nbsp;</span></p>
+<p id="t106" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t107" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t108" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t109" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="nam">reindentBlock</span><span class="op">(</span><span class="nam">infile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t110" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">Cog</span><span class="op">(</span><span class="op">)</span><span class="op">.</span><span class="nam">processString</span><span class="op">(</span><span class="nam">infile</span><span class="op">)</span><span class="op">,</span> <span class="nam">infile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t111" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t112" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testTrimBlankLines</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t113" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t114" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t115" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.out(&quot;This is line one\\n&quot;, trimblanklines=True)</span><span class="strut">&nbsp;</span></p>
+<p id="t116" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.out(&#39;&#39;&#39;</span><span class="strut">&nbsp;</span></p>
+<p id="t117" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This is line two</span><span class="strut">&nbsp;</span></p>
+<p id="t118" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#39;&#39;&#39;, dedent=True, trimblanklines=True)</span><span class="strut">&nbsp;</span></p>
+<p id="t119" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;This is line three&quot;, trimblanklines=True)</span><span class="strut">&nbsp;</span></p>
+<p id="t120" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t121" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This is line one</span><span class="strut">&nbsp;</span></p>
+<p id="t122" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This is line two</span><span class="strut">&nbsp;</span></p>
+<p id="t123" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This is line three</span><span class="strut">&nbsp;</span></p>
+<p id="t124" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t125" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t126" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t127" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="nam">reindentBlock</span><span class="op">(</span><span class="nam">infile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t128" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">Cog</span><span class="op">(</span><span class="op">)</span><span class="op">.</span><span class="nam">processString</span><span class="op">(</span><span class="nam">infile</span><span class="op">)</span><span class="op">,</span> <span class="nam">infile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t129" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t130" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testTrimEmptyBlankLines</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t131" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t132" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t133" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.out(&quot;This is line one\\n&quot;, trimblanklines=True)</span><span class="strut">&nbsp;</span></p>
+<p id="t134" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.out(&#39;&#39;&#39;</span><span class="strut">&nbsp;</span></p>
+<p id="t135" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This is line two</span><span class="strut">&nbsp;</span></p>
+<p id="t136" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#39;&#39;&#39;, dedent=True, trimblanklines=True)</span><span class="strut">&nbsp;</span></p>
+<p id="t137" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.out(&#39;&#39;, dedent=True, trimblanklines=True)</span><span class="strut">&nbsp;</span></p>
+<p id="t138" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;This is line three&quot;, trimblanklines=True)</span><span class="strut">&nbsp;</span></p>
+<p id="t139" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t140" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This is line one</span><span class="strut">&nbsp;</span></p>
+<p id="t141" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This is line two</span><span class="strut">&nbsp;</span></p>
+<p id="t142" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This is line three</span><span class="strut">&nbsp;</span></p>
+<p id="t143" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t144" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t145" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t146" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="nam">reindentBlock</span><span class="op">(</span><span class="nam">infile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t147" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">Cog</span><span class="op">(</span><span class="op">)</span><span class="op">.</span><span class="nam">processString</span><span class="op">(</span><span class="nam">infile</span><span class="op">)</span><span class="op">,</span> <span class="nam">infile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t148" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t149" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">test22EndOfLine</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t150" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># In Python 2.2, this cog file was not parsing because the</span><span class="strut">&nbsp;</span></p>
+<p id="t151" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># last line is indented but didn&#39;t end with a newline.</span><span class="strut">&nbsp;</span></p>
+<p id="t152" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t153" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t154" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; import cog</span><span class="strut">&nbsp;</span></p>
+<p id="t155" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for i in range(3):</span><span class="strut">&nbsp;</span></p>
+<p id="t156" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.out(&quot;%d\\n&quot; % i)</span><span class="strut">&nbsp;</span></p>
+<p id="t157" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t158" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0</span><span class="strut">&nbsp;</span></p>
+<p id="t159" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 1</span><span class="strut">&nbsp;</span></p>
+<p id="t160" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2</span><span class="strut">&nbsp;</span></p>
+<p id="t161" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t162" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t163" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t164" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="nam">reindentBlock</span><span class="op">(</span><span class="nam">infile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t165" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">Cog</span><span class="op">(</span><span class="op">)</span><span class="op">.</span><span class="nam">processString</span><span class="op">(</span><span class="nam">infile</span><span class="op">)</span><span class="op">,</span> <span class="nam">infile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t166" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t167" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testIndentedCode</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t168" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t169" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; first line</span><span class="strut">&nbsp;</span></p>
+<p id="t170" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t171" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; import cog</span><span class="strut">&nbsp;</span></p>
+<p id="t172" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for i in range(3):</span><span class="strut">&nbsp;</span></p>
+<p id="t173" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.out(&quot;xx%d\\n&quot; % i)</span><span class="strut">&nbsp;</span></p>
+<p id="t174" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t175" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; xx0</span><span class="strut">&nbsp;</span></p>
+<p id="t176" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; xx1</span><span class="strut">&nbsp;</span></p>
+<p id="t177" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; xx2</span><span class="strut">&nbsp;</span></p>
+<p id="t178" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t179" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; last line</span><span class="strut">&nbsp;</span></p>
+<p id="t180" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t181" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t182" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="nam">reindentBlock</span><span class="op">(</span><span class="nam">infile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t183" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">Cog</span><span class="op">(</span><span class="op">)</span><span class="op">.</span><span class="nam">processString</span><span class="op">(</span><span class="nam">infile</span><span class="op">)</span><span class="op">,</span> <span class="nam">infile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t184" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t185" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testPrefixedCode</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t186" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t187" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t188" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --import cog</span><span class="strut">&nbsp;</span></p>
+<p id="t189" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --for i in range(3):</span><span class="strut">&nbsp;</span></p>
+<p id="t190" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --&nbsp; &nbsp; cog.out(&quot;xx%d\\n&quot; % i)</span><span class="strut">&nbsp;</span></p>
+<p id="t191" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t192" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; xx0</span><span class="strut">&nbsp;</span></p>
+<p id="t193" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; xx1</span><span class="strut">&nbsp;</span></p>
+<p id="t194" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; xx2</span><span class="strut">&nbsp;</span></p>
+<p id="t195" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t196" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t197" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t198" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="nam">reindentBlock</span><span class="op">(</span><span class="nam">infile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t199" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">Cog</span><span class="op">(</span><span class="op">)</span><span class="op">.</span><span class="nam">processString</span><span class="op">(</span><span class="nam">infile</span><span class="op">)</span><span class="op">,</span> <span class="nam">infile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t200" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t201" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testPrefixedIndentedCode</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t202" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t203" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; prologue</span><span class="strut">&nbsp;</span></p>
+<p id="t204" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t205" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --&nbsp;&nbsp; import cog</span><span class="strut">&nbsp;</span></p>
+<p id="t206" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --&nbsp;&nbsp; for i in range(3):</span><span class="strut">&nbsp;</span></p>
+<p id="t207" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --&nbsp; &nbsp; &nbsp;&nbsp; cog.out(&quot;xy%d\\n&quot; % i)</span><span class="strut">&nbsp;</span></p>
+<p id="t208" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t209" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; xy0</span><span class="strut">&nbsp;</span></p>
+<p id="t210" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; xy1</span><span class="strut">&nbsp;</span></p>
+<p id="t211" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; xy2</span><span class="strut">&nbsp;</span></p>
+<p id="t212" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t213" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t214" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t215" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="nam">reindentBlock</span><span class="op">(</span><span class="nam">infile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t216" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">Cog</span><span class="op">(</span><span class="op">)</span><span class="op">.</span><span class="nam">processString</span><span class="op">(</span><span class="nam">infile</span><span class="op">)</span><span class="op">,</span> <span class="nam">infile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t217" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t218" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testBogusPrefixMatch</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t219" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t220" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; prologue</span><span class="strut">&nbsp;</span></p>
+<p id="t221" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t222" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; import cog</span><span class="strut">&nbsp;</span></p>
+<p id="t223" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # This comment should not be clobbered by removing the pound sign.</span><span class="strut">&nbsp;</span></p>
+<p id="t224" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for i in range(3):</span><span class="strut">&nbsp;</span></p>
+<p id="t225" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.out(&quot;xy%d\\n&quot; % i)</span><span class="strut">&nbsp;</span></p>
+<p id="t226" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t227" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; xy0</span><span class="strut">&nbsp;</span></p>
+<p id="t228" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; xy1</span><span class="strut">&nbsp;</span></p>
+<p id="t229" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; xy2</span><span class="strut">&nbsp;</span></p>
+<p id="t230" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t231" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t232" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t233" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="nam">reindentBlock</span><span class="op">(</span><span class="nam">infile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t234" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">Cog</span><span class="op">(</span><span class="op">)</span><span class="op">.</span><span class="nam">processString</span><span class="op">(</span><span class="nam">infile</span><span class="op">)</span><span class="op">,</span> <span class="nam">infile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t235" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t236" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testNoFinalNewline</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t237" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># If the cog&#39;ed output has no final newline,</span><span class="strut">&nbsp;</span></p>
+<p id="t238" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># it shouldn&#39;t eat up the cog terminator.</span><span class="strut">&nbsp;</span></p>
+<p id="t239" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t240" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; prologue</span><span class="strut">&nbsp;</span></p>
+<p id="t241" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t242" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; import cog</span><span class="strut">&nbsp;</span></p>
+<p id="t243" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for i in range(3):</span><span class="strut">&nbsp;</span></p>
+<p id="t244" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.out(&quot;%d&quot; % i)</span><span class="strut">&nbsp;</span></p>
+<p id="t245" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t246" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 012</span><span class="strut">&nbsp;</span></p>
+<p id="t247" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t248" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; epilogue</span><span class="strut">&nbsp;</span></p>
+<p id="t249" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t250" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t251" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="nam">reindentBlock</span><span class="op">(</span><span class="nam">infile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t252" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">Cog</span><span class="op">(</span><span class="op">)</span><span class="op">.</span><span class="nam">processString</span><span class="op">(</span><span class="nam">infile</span><span class="op">)</span><span class="op">,</span> <span class="nam">infile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t253" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t254" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testNoOutputAtAll</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t255" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># If there is absolutely no cog output, that&#39;s ok.</span><span class="strut">&nbsp;</span></p>
+<p id="t256" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t257" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; prologue</span><span class="strut">&nbsp;</span></p>
+<p id="t258" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t259" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; i = 1</span><span class="strut">&nbsp;</span></p>
+<p id="t260" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t261" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t262" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; epilogue</span><span class="strut">&nbsp;</span></p>
+<p id="t263" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t264" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t265" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="nam">reindentBlock</span><span class="op">(</span><span class="nam">infile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t266" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">Cog</span><span class="op">(</span><span class="op">)</span><span class="op">.</span><span class="nam">processString</span><span class="op">(</span><span class="nam">infile</span><span class="op">)</span><span class="op">,</span> <span class="nam">infile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t267" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t268" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testPurelyBlankLine</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t269" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># If there is a blank line in the cog code with no whitespace</span><span class="strut">&nbsp;</span></p>
+<p id="t270" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># prefix, that should be OK.</span><span class="strut">&nbsp;</span></p>
+<p id="t271" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t272" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t273" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; prologue</span><span class="strut">&nbsp;</span></p>
+<p id="t274" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t275" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; import sys</span><span class="strut">&nbsp;</span></p>
+<p id="t276" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.out(&quot;Hello&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t277" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $</span><span class="strut">&nbsp;</span></p>
+<p id="t278" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.out(&quot;There&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t279" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t280" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; HelloThere</span><span class="strut">&nbsp;</span></p>
+<p id="t281" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t282" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; epilogue</span><span class="strut">&nbsp;</span></p>
+<p id="t283" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t284" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t285" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="nam">reindentBlock</span><span class="op">(</span><span class="nam">infile</span><span class="op">.</span><span class="nam">replace</span><span class="op">(</span><span class="str">&#39;$&#39;</span><span class="op">,</span> <span class="str">&#39;&#39;</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t286" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">Cog</span><span class="op">(</span><span class="op">)</span><span class="op">.</span><span class="nam">processString</span><span class="op">(</span><span class="nam">infile</span><span class="op">)</span><span class="op">,</span> <span class="nam">infile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t287" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t288" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testEmptyOutl</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t289" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Alexander Belchenko suggested the string argument to outl should</span><span class="strut">&nbsp;</span></p>
+<p id="t290" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># be optional.&nbsp; Does it work?</span><span class="strut">&nbsp;</span></p>
+<p id="t291" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t292" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t293" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; prologue</span><span class="strut">&nbsp;</span></p>
+<p id="t294" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t295" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;x&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t296" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl()</span><span class="strut">&nbsp;</span></p>
+<p id="t297" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;y&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t298" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(trimblanklines=True)</span><span class="strut">&nbsp;</span></p>
+<p id="t299" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;z&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t300" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t301" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; x</span><span class="strut">&nbsp;</span></p>
+<p id="t302" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t303" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; y</span><span class="strut">&nbsp;</span></p>
+<p id="t304" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t305" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; z</span><span class="strut">&nbsp;</span></p>
+<p id="t306" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t307" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; epilogue</span><span class="strut">&nbsp;</span></p>
+<p id="t308" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t309" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t310" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="nam">reindentBlock</span><span class="op">(</span><span class="nam">infile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t311" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">Cog</span><span class="op">(</span><span class="op">)</span><span class="op">.</span><span class="nam">processString</span><span class="op">(</span><span class="nam">infile</span><span class="op">)</span><span class="op">,</span> <span class="nam">infile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t312" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t313" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testFirstLineNum</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t314" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t315" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fooey</span><span class="strut">&nbsp;</span></p>
+<p id="t316" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t317" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;started at line number %d&quot; % cog.firstLineNum)</span><span class="strut">&nbsp;</span></p>
+<p id="t318" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t319" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; started at line number 2</span><span class="strut">&nbsp;</span></p>
+<p id="t320" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t321" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; blah blah</span><span class="strut">&nbsp;</span></p>
+<p id="t322" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t323" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;and again at line %d&quot; % cog.firstLineNum)</span><span class="strut">&nbsp;</span></p>
+<p id="t324" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t325" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; and again at line 8</span><span class="strut">&nbsp;</span></p>
+<p id="t326" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t327" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t328" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t329" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="nam">reindentBlock</span><span class="op">(</span><span class="nam">infile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t330" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">Cog</span><span class="op">(</span><span class="op">)</span><span class="op">.</span><span class="nam">processString</span><span class="op">(</span><span class="nam">infile</span><span class="op">)</span><span class="op">,</span> <span class="nam">infile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t331" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t332" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testCompactOneLineCode</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t333" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t334" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; first line</span><span class="strut">&nbsp;</span></p>
+<p id="t335" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; hey: [[[cog cog.outl(&quot;hello %d&quot; % (3*3*3*3)) ]]] looky!</span><span class="strut">&nbsp;</span></p>
+<p id="t336" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; get rid of this!</span><span class="strut">&nbsp;</span></p>
+<p id="t337" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t338" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; last line</span><span class="strut">&nbsp;</span></p>
+<p id="t339" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t340" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t341" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">outfile</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t342" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; first line</span><span class="strut">&nbsp;</span></p>
+<p id="t343" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; hey: [[[cog cog.outl(&quot;hello %d&quot; % (3*3*3*3)) ]]] looky!</span><span class="strut">&nbsp;</span></p>
+<p id="t344" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; hello 81</span><span class="strut">&nbsp;</span></p>
+<p id="t345" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t346" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; last line</span><span class="strut">&nbsp;</span></p>
+<p id="t347" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t348" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t349" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="nam">reindentBlock</span><span class="op">(</span><span class="nam">infile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t350" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">Cog</span><span class="op">(</span><span class="op">)</span><span class="op">.</span><span class="nam">processString</span><span class="op">(</span><span class="nam">infile</span><span class="op">)</span><span class="op">,</span> <span class="nam">reindentBlock</span><span class="op">(</span><span class="nam">outfile</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t351" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t352" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testInsideOutCompact</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t353" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t354" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; first line</span><span class="strut">&nbsp;</span></p>
+<p id="t355" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; hey?: ]]] what is this? [[[cog strange!</span><span class="strut">&nbsp;</span></p>
+<p id="t356" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; get rid of this!</span><span class="strut">&nbsp;</span></p>
+<p id="t357" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t358" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; last line</span><span class="strut">&nbsp;</span></p>
+<p id="t359" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t360" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaisesRegexp</span><span class="op">(</span><span class="nam">CogError</span><span class="op">,</span> <span class="str">r&quot;infile.txt\(2\): Cog code markers inverted&quot;</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t361" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class="nam">Cog</span><span class="op">(</span><span class="op">)</span><span class="op">.</span><span class="nam">processString</span><span class="op">(</span><span class="nam">reindentBlock</span><span class="op">(</span><span class="nam">infile</span><span class="op">)</span><span class="op">,</span> <span class="str">&quot;infile.txt&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t362" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t363" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testSharingGlobals</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t364" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t365" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; first line</span><span class="strut">&nbsp;</span></p>
+<p id="t366" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; hey: [[[cog s=&quot;hey there&quot; ]]] looky!</span><span class="strut">&nbsp;</span></p>
+<p id="t367" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t368" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; more literal junk.</span><span class="strut">&nbsp;</span></p>
+<p id="t369" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[cog cog.outl(s) ]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t370" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t371" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; last line</span><span class="strut">&nbsp;</span></p>
+<p id="t372" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t373" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t374" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">outfile</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t375" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; first line</span><span class="strut">&nbsp;</span></p>
+<p id="t376" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; hey: [[[cog s=&quot;hey there&quot; ]]] looky!</span><span class="strut">&nbsp;</span></p>
+<p id="t377" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t378" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; more literal junk.</span><span class="strut">&nbsp;</span></p>
+<p id="t379" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[cog cog.outl(s) ]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t380" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; hey there</span><span class="strut">&nbsp;</span></p>
+<p id="t381" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t382" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; last line</span><span class="strut">&nbsp;</span></p>
+<p id="t383" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t384" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t385" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="nam">reindentBlock</span><span class="op">(</span><span class="nam">infile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t386" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">Cog</span><span class="op">(</span><span class="op">)</span><span class="op">.</span><span class="nam">processString</span><span class="op">(</span><span class="nam">infile</span><span class="op">)</span><span class="op">,</span> <span class="nam">reindentBlock</span><span class="op">(</span><span class="nam">outfile</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t387" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t388" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testAssertInCogCode</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t389" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Check that we can test assertions in cog code in the test framework.</span><span class="strut">&nbsp;</span></p>
+<p id="t390" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t391" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t392" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; assert 1 == 2, &quot;Oops&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t393" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t394" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t395" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t396" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="nam">reindentBlock</span><span class="op">(</span><span class="nam">infile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t397" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaisesRegexp</span><span class="op">(</span><span class="nam">AssertionError</span><span class="op">,</span> <span class="str">&quot;Oops&quot;</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t398" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">Cog</span><span class="op">(</span><span class="op">)</span><span class="op">.</span><span class="nam">processString</span><span class="op">(</span><span class="nam">infile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t399" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t400" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testCogPrevious</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t401" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Check that we can access the previous run&#39;s output.</span><span class="strut">&nbsp;</span></p>
+<p id="t402" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t403" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t404" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; assert cog.previous == &quot;Hello there!\\n&quot;, &quot;WTF??&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t405" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.out(cog.previous)</span><span class="strut">&nbsp;</span></p>
+<p id="t406" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;Ran again!&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t407" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t408" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Hello there!</span><span class="strut">&nbsp;</span></p>
+<p id="t409" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t410" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t411" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t412" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">outfile</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t413" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t414" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; assert cog.previous == &quot;Hello there!\\n&quot;, &quot;WTF??&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t415" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.out(cog.previous)</span><span class="strut">&nbsp;</span></p>
+<p id="t416" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;Ran again!&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t417" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t418" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Hello there!</span><span class="strut">&nbsp;</span></p>
+<p id="t419" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Ran again!</span><span class="strut">&nbsp;</span></p>
+<p id="t420" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t421" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t422" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t423" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="nam">reindentBlock</span><span class="op">(</span><span class="nam">infile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t424" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">Cog</span><span class="op">(</span><span class="op">)</span><span class="op">.</span><span class="nam">processString</span><span class="op">(</span><span class="nam">infile</span><span class="op">)</span><span class="op">,</span> <span class="nam">reindentBlock</span><span class="op">(</span><span class="nam">outfile</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t425" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t426" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t427" class="stm run hide_run"><span class="key">class</span> <span class="nam">CogOptionsTests</span><span class="op">(</span><span class="nam">TestCase</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t428" class="pln">&nbsp; &nbsp; <span class="str">&quot;&quot;&quot; Test the CogOptions class.</span><span class="strut">&nbsp;</span></p>
+<p id="t429" class="pln"><span class="str">&nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t430" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t431" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testEquality</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t432" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">o</span> <span class="op">=</span> <span class="nam">CogOptions</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t433" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">p</span> <span class="op">=</span> <span class="nam">CogOptions</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t434" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">o</span><span class="op">,</span> <span class="nam">p</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t435" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">o</span><span class="op">.</span><span class="nam">parseArgs</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;-r&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t436" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertNotEqual</span><span class="op">(</span><span class="nam">o</span><span class="op">,</span> <span class="nam">p</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t437" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">p</span><span class="op">.</span><span class="nam">parseArgs</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;-r&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t438" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">o</span><span class="op">,</span> <span class="nam">p</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t439" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t440" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testCloning</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t441" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">o</span> <span class="op">=</span> <span class="nam">CogOptions</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t442" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">o</span><span class="op">.</span><span class="nam">parseArgs</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;-I&#39;</span><span class="op">,</span> <span class="str">&#39;fooey&#39;</span><span class="op">,</span> <span class="str">&#39;-I&#39;</span><span class="op">,</span> <span class="str">&#39;booey&#39;</span><span class="op">,</span> <span class="str">&#39;-s&#39;</span><span class="op">,</span> <span class="str">&#39; /*x*/&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t443" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">p</span> <span class="op">=</span> <span class="nam">o</span><span class="op">.</span><span class="nam">clone</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t444" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">o</span><span class="op">,</span> <span class="nam">p</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t445" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">p</span><span class="op">.</span><span class="nam">parseArgs</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;-I&#39;</span><span class="op">,</span> <span class="str">&#39;huey&#39;</span><span class="op">,</span> <span class="str">&#39;-D&#39;</span><span class="op">,</span> <span class="str">&#39;foo=quux&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t446" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertNotEqual</span><span class="op">(</span><span class="nam">o</span><span class="op">,</span> <span class="nam">p</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t447" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">q</span> <span class="op">=</span> <span class="nam">CogOptions</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t448" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">q</span><span class="op">.</span><span class="nam">parseArgs</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;-I&#39;</span><span class="op">,</span> <span class="str">&#39;fooey&#39;</span><span class="op">,</span> <span class="str">&#39;-I&#39;</span><span class="op">,</span> <span class="str">&#39;booey&#39;</span><span class="op">,</span> <span class="str">&#39;-s&#39;</span><span class="op">,</span> <span class="str">&#39; /*x*/&#39;</span><span class="op">,</span> <span class="str">&#39;-I&#39;</span><span class="op">,</span> <span class="str">&#39;huey&#39;</span><span class="op">,</span> <span class="str">&#39;-D&#39;</span><span class="op">,</span> <span class="str">&#39;foo=quux&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t449" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">p</span><span class="op">,</span> <span class="nam">q</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t450" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t451" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testCombiningFlags</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t452" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Single-character flags can be combined.</span><span class="strut">&nbsp;</span></p>
+<p id="t453" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">o</span> <span class="op">=</span> <span class="nam">CogOptions</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t454" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">o</span><span class="op">.</span><span class="nam">parseArgs</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;-e&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-z&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t455" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">p</span> <span class="op">=</span> <span class="nam">CogOptions</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t456" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">p</span><span class="op">.</span><span class="nam">parseArgs</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;-erz&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t457" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">o</span><span class="op">,</span> <span class="nam">p</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t458" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t459" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testMarkers</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t460" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">o</span> <span class="op">=</span> <span class="nam">CogOptions</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t461" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">o</span><span class="op">.</span><span class="nam">_parse_markers</span><span class="op">(</span><span class="str">&#39;a b c&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t462" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="str">&#39;a&#39;</span><span class="op">,</span> <span class="nam">o</span><span class="op">.</span><span class="nam">sBeginSpec</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t463" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="str">&#39;b&#39;</span><span class="op">,</span> <span class="nam">o</span><span class="op">.</span><span class="nam">sEndSpec</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t464" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="str">&#39;c&#39;</span><span class="op">,</span> <span class="nam">o</span><span class="op">.</span><span class="nam">sEndOutput</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t465" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t466" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testMarkersSwitch</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t467" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">o</span> <span class="op">=</span> <span class="nam">CogOptions</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t468" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">o</span><span class="op">.</span><span class="nam">parseArgs</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;--markers&#39;</span><span class="op">,</span> <span class="str">&#39;a b c&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t469" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="str">&#39;a&#39;</span><span class="op">,</span> <span class="nam">o</span><span class="op">.</span><span class="nam">sBeginSpec</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t470" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="str">&#39;b&#39;</span><span class="op">,</span> <span class="nam">o</span><span class="op">.</span><span class="nam">sEndSpec</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t471" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="str">&#39;c&#39;</span><span class="op">,</span> <span class="nam">o</span><span class="op">.</span><span class="nam">sEndOutput</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t472" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t473" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t474" class="stm run hide_run"><span class="key">class</span> <span class="nam">FileStructureTests</span><span class="op">(</span><span class="nam">TestCase</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t475" class="pln">&nbsp; &nbsp; <span class="str">&quot;&quot;&quot; Test cases to check that we&#39;re properly strict about the structure</span><span class="strut">&nbsp;</span></p>
+<p id="t476" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; of files.</span><span class="strut">&nbsp;</span></p>
+<p id="t477" class="pln"><span class="str">&nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t478" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t479" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">isBad</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">infile</span><span class="op">,</span> <span class="nam">msg</span><span class="op">=</span><span class="nam">None</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t480" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="nam">reindentBlock</span><span class="op">(</span><span class="nam">infile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t481" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaisesRegexp</span><span class="op">(</span><span class="nam">CogError</span><span class="op">,</span> <span class="nam">re</span><span class="op">.</span><span class="nam">escape</span><span class="op">(</span><span class="nam">msg</span><span class="op">)</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t482" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">Cog</span><span class="op">(</span><span class="op">)</span><span class="op">.</span><span class="nam">processString</span><span class="op">(</span><span class="nam">infile</span><span class="op">,</span> <span class="str">&#39;infile.txt&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t483" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t484" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testBeginNoEnd</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t485" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t486" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Fooey</span><span class="strut">&nbsp;</span></p>
+<p id="t487" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t488" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&#39;hello&#39;)</span><span class="strut">&nbsp;</span></p>
+<p id="t489" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t490" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">isBad</span><span class="op">(</span><span class="nam">infile</span><span class="op">,</span> <span class="str">&quot;infile.txt(2): Cog block begun but never ended.&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t491" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t492" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testNoEoo</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t493" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t494" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Fooey</span><span class="strut">&nbsp;</span></p>
+<p id="t495" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t496" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&#39;hello&#39;)</span><span class="strut">&nbsp;</span></p>
+<p id="t497" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t498" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t499" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">isBad</span><span class="op">(</span><span class="nam">infile</span><span class="op">,</span> <span class="str">&quot;infile.txt(4): Missing &#39;[[[end]]]&#39; before end of file.&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t500" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t501" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile2</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t502" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Fooey</span><span class="strut">&nbsp;</span></p>
+<p id="t503" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t504" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&#39;hello&#39;)</span><span class="strut">&nbsp;</span></p>
+<p id="t505" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t506" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t507" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&#39;goodbye&#39;)</span><span class="strut">&nbsp;</span></p>
+<p id="t508" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t509" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t510" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">isBad</span><span class="op">(</span><span class="nam">infile2</span><span class="op">,</span> <span class="str">&quot;infile.txt(5): Unexpected &#39;[[[cog&#39;&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t511" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t512" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testStartWithEnd</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t513" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t514" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t515" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t516" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">isBad</span><span class="op">(</span><span class="nam">infile</span><span class="op">,</span> <span class="str">&quot;infile.txt(1): Unexpected &#39;]]]&#39;&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t517" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t518" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile2</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t519" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t520" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&#39;hello&#39;)</span><span class="strut">&nbsp;</span></p>
+<p id="t521" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t522" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t523" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t524" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t525" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">isBad</span><span class="op">(</span><span class="nam">infile2</span><span class="op">,</span> <span class="str">&quot;infile.txt(5): Unexpected &#39;]]]&#39;&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t526" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t527" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testStartWithEoo</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t528" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t529" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t530" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t531" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">isBad</span><span class="op">(</span><span class="nam">infile</span><span class="op">,</span> <span class="str">&quot;infile.txt(1): Unexpected &#39;[[[end]]]&#39;&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t532" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t533" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile2</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t534" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t535" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&#39;hello&#39;)</span><span class="strut">&nbsp;</span></p>
+<p id="t536" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t537" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t538" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t539" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t540" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">isBad</span><span class="op">(</span><span class="nam">infile2</span><span class="op">,</span> <span class="str">&quot;infile.txt(5): Unexpected &#39;[[[end]]]&#39;&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t541" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t542" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testNoEnd</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t543" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t544" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t545" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;hello&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t546" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t547" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t548" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">isBad</span><span class="op">(</span><span class="nam">infile</span><span class="op">,</span> <span class="str">&quot;infile.txt(3): Unexpected &#39;[[[end]]]&#39;&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t549" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t550" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile2</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t551" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t552" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&#39;hello&#39;)</span><span class="strut">&nbsp;</span></p>
+<p id="t553" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t554" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t555" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t556" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;hello&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t557" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t558" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t559" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">isBad</span><span class="op">(</span><span class="nam">infile2</span><span class="op">,</span> <span class="str">&quot;infile.txt(7): Unexpected &#39;[[[end]]]&#39;&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t560" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t561" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testTwoBegins</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t562" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t563" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t564" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t565" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;hello&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t566" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t567" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t568" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t569" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">isBad</span><span class="op">(</span><span class="nam">infile</span><span class="op">,</span> <span class="str">&quot;infile.txt(2): Unexpected &#39;[[[cog&#39;&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t570" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t571" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile2</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t572" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t573" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;hello&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t574" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t575" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t576" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t577" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t578" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;hello&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t579" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t580" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t581" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t582" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">isBad</span><span class="op">(</span><span class="nam">infile2</span><span class="op">,</span> <span class="str">&quot;infile.txt(6): Unexpected &#39;[[[cog&#39;&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t583" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t584" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testTwoEnds</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t585" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t586" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t587" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;hello&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t588" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t589" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t590" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t591" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t592" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">isBad</span><span class="op">(</span><span class="nam">infile</span><span class="op">,</span> <span class="str">&quot;infile.txt(4): Unexpected &#39;]]]&#39;&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t593" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t594" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile2</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t595" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t596" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;hello&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t597" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t598" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t599" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t600" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;hello&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t601" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t602" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t603" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t604" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t605" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">isBad</span><span class="op">(</span><span class="nam">infile2</span><span class="op">,</span> <span class="str">&quot;infile.txt(8): Unexpected &#39;]]]&#39;&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t606" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t607" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t608" class="stm run hide_run"><span class="key">class</span> <span class="nam">CogErrorTests</span><span class="op">(</span><span class="nam">TestCase</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t609" class="pln">&nbsp; &nbsp; <span class="str">&quot;&quot;&quot; Test cases for cog.error().</span><span class="strut">&nbsp;</span></p>
+<p id="t610" class="pln"><span class="str">&nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t611" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t612" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testErrorMsg</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t613" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t614" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[cog cog.error(&quot;This ain&#39;t right!&quot;)]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t615" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t616" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t617" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t618" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="nam">reindentBlock</span><span class="op">(</span><span class="nam">infile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t619" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaisesRegexp</span><span class="op">(</span><span class="nam">CogGeneratedError</span><span class="op">,</span> <span class="str">&quot;This ain&#39;t right!&quot;</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t620" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">Cog</span><span class="op">(</span><span class="op">)</span><span class="op">.</span><span class="nam">processString</span><span class="op">(</span><span class="nam">infile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t621" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t622" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testErrorNoMsg</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t623" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t624" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[cog cog.error()]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t625" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t626" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t627" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t628" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="nam">reindentBlock</span><span class="op">(</span><span class="nam">infile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t629" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaisesRegexp</span><span class="op">(</span><span class="nam">CogGeneratedError</span><span class="op">,</span> <span class="str">&quot;Error raised by cog generator.&quot;</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t630" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">Cog</span><span class="op">(</span><span class="op">)</span><span class="op">.</span><span class="nam">processString</span><span class="op">(</span><span class="nam">infile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t631" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t632" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testNoErrorIfErrorNotCalled</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t633" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t634" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t635" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --import cog</span><span class="strut">&nbsp;</span></p>
+<p id="t636" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --for i in range(3):</span><span class="strut">&nbsp;</span></p>
+<p id="t637" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --&nbsp; &nbsp; if i &gt; 10:</span><span class="strut">&nbsp;</span></p>
+<p id="t638" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --&nbsp; &nbsp; &nbsp; &nbsp; cog.error(&quot;Something is amiss!&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t639" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --&nbsp; &nbsp; cog.out(&quot;xx%d\\n&quot; % i)</span><span class="strut">&nbsp;</span></p>
+<p id="t640" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t641" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; xx0</span><span class="strut">&nbsp;</span></p>
+<p id="t642" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; xx1</span><span class="strut">&nbsp;</span></p>
+<p id="t643" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; xx2</span><span class="strut">&nbsp;</span></p>
+<p id="t644" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t645" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t646" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t647" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="nam">reindentBlock</span><span class="op">(</span><span class="nam">infile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t648" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">Cog</span><span class="op">(</span><span class="op">)</span><span class="op">.</span><span class="nam">processString</span><span class="op">(</span><span class="nam">infile</span><span class="op">)</span><span class="op">,</span> <span class="nam">infile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t649" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t650" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t651" class="stm run hide_run"><span class="key">class</span> <span class="nam">CogGeneratorGetCodeTests</span><span class="op">(</span><span class="nam">TestCase</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t652" class="pln">&nbsp; &nbsp; <span class="str">&quot;&quot;&quot; Unit tests against CogGenerator to see if its getCode() method works</span><span class="strut">&nbsp;</span></p>
+<p id="t653" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; properly.</span><span class="strut">&nbsp;</span></p>
+<p id="t654" class="pln"><span class="str">&nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t655" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t656" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">setUp</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t657" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&quot;&quot;&quot; All tests get a generator to use, and short same-length names for</span><span class="strut">&nbsp;</span></p>
+<p id="t658" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; the functions we&#39;re going to use.</span><span class="strut">&nbsp;</span></p>
+<p id="t659" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t660" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">gen</span> <span class="op">=</span> <span class="nam">CogGenerator</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t661" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">m</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">gen</span><span class="op">.</span><span class="nam">parseMarker</span><span class="strut">&nbsp;</span></p>
+<p id="t662" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">l</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">gen</span><span class="op">.</span><span class="nam">parseLine</span><span class="strut">&nbsp;</span></p>
+<p id="t663" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t664" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testEmpty</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t665" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">m</span><span class="op">(</span><span class="str">&#39;// [[[cog&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t666" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">m</span><span class="op">(</span><span class="str">&#39;// ]]]&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t667" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">gen</span><span class="op">.</span><span class="nam">getCode</span><span class="op">(</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t668" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t669" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testSimple</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t670" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">m</span><span class="op">(</span><span class="str">&#39;// [[[cog&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t671" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">l</span><span class="op">(</span><span class="str">&#39;&nbsp; print &quot;hello&quot;&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t672" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">l</span><span class="op">(</span><span class="str">&#39;&nbsp; print &quot;bye&quot;&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t673" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">m</span><span class="op">(</span><span class="str">&#39;// ]]]&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t674" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">gen</span><span class="op">.</span><span class="nam">getCode</span><span class="op">(</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;print &quot;hello&quot;\nprint &quot;bye&quot;&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t675" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t676" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testCompressed1</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t677" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># For a while, I supported compressed code blocks, but no longer.</span><span class="strut">&nbsp;</span></p>
+<p id="t678" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">m</span><span class="op">(</span><span class="str">&#39;// [[[cog: print &quot;&quot;&quot;&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t679" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">l</span><span class="op">(</span><span class="str">&#39;// hello&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t680" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">l</span><span class="op">(</span><span class="str">&#39;// bye&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t681" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">m</span><span class="op">(</span><span class="str">&#39;// &quot;&quot;&quot;)]]]&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t682" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">gen</span><span class="op">.</span><span class="nam">getCode</span><span class="op">(</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;hello\nbye&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t683" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t684" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testCompressed2</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t685" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># For a while, I supported compressed code blocks, but no longer.</span><span class="strut">&nbsp;</span></p>
+<p id="t686" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">m</span><span class="op">(</span><span class="str">&#39;// [[[cog: print &quot;&quot;&quot;&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t687" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">l</span><span class="op">(</span><span class="str">&#39;hello&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t688" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">l</span><span class="op">(</span><span class="str">&#39;bye&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t689" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">m</span><span class="op">(</span><span class="str">&#39;// &quot;&quot;&quot;)]]]&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t690" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">gen</span><span class="op">.</span><span class="nam">getCode</span><span class="op">(</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;hello\nbye&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t691" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t692" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testCompressed3</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t693" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># For a while, I supported compressed code blocks, but no longer.</span><span class="strut">&nbsp;</span></p>
+<p id="t694" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">m</span><span class="op">(</span><span class="str">&#39;// [[[cog&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t695" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">l</span><span class="op">(</span><span class="str">&#39;print &quot;&quot;&quot;hello&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t696" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">l</span><span class="op">(</span><span class="str">&#39;bye&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t697" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">m</span><span class="op">(</span><span class="str">&#39;// &quot;&quot;&quot;)]]]&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t698" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">gen</span><span class="op">.</span><span class="nam">getCode</span><span class="op">(</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;print &quot;&quot;&quot;hello\nbye&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t699" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t700" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testCompressed4</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t701" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># For a while, I supported compressed code blocks, but no longer.</span><span class="strut">&nbsp;</span></p>
+<p id="t702" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">m</span><span class="op">(</span><span class="str">&#39;// [[[cog: print &quot;&quot;&quot;&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t703" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">l</span><span class="op">(</span><span class="str">&#39;hello&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t704" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">l</span><span class="op">(</span><span class="str">&#39;bye&quot;&quot;&quot;)&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t705" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">m</span><span class="op">(</span><span class="str">&#39;// ]]]&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t706" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">gen</span><span class="op">.</span><span class="nam">getCode</span><span class="op">(</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;hello\nbye&quot;&quot;&quot;)&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t707" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t708" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testNoCommonPrefixForMarkers</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t709" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># It&#39;s important to be able to use #if 0 to hide lines from a</span><span class="strut">&nbsp;</span></p>
+<p id="t710" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># C++ compiler.</span><span class="strut">&nbsp;</span></p>
+<p id="t711" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">m</span><span class="op">(</span><span class="str">&#39;#if 0 //[[[cog&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t712" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">l</span><span class="op">(</span><span class="str">&#39;\timport cog, sys&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t713" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">l</span><span class="op">(</span><span class="str">&#39;&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t714" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">l</span><span class="op">(</span><span class="str">&#39;\tprint sys.argv&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t715" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">m</span><span class="op">(</span><span class="str">&#39;#endif //]]]&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t716" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">gen</span><span class="op">.</span><span class="nam">getCode</span><span class="op">(</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;import cog, sys\n\nprint sys.argv&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t717" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t718" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t719" class="stm run hide_run"><span class="key">class</span> <span class="nam">TestCaseWithTempDir</span><span class="op">(</span><span class="nam">TestCase</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t720" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t721" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">newCog</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t722" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&quot;&quot;&quot; Initialize the cog members for another run.</span><span class="strut">&nbsp;</span></p>
+<p id="t723" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t724" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Create a cog engine, and catch its output.</span><span class="strut">&nbsp;</span></p>
+<p id="t725" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span> <span class="op">=</span> <span class="nam">Cog</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t726" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">output</span> <span class="op">=</span> <span class="nam">StringIO</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t727" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">setOutput</span><span class="op">(</span><span class="nam">stdout</span><span class="op">=</span><span class="nam">self</span><span class="op">.</span><span class="nam">output</span><span class="op">,</span> <span class="nam">stderr</span><span class="op">=</span><span class="nam">self</span><span class="op">.</span><span class="nam">output</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t728" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t729" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">setUp</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t730" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Create a temporary directory.</span><span class="strut">&nbsp;</span></p>
+<p id="t731" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">tempdir</span> <span class="op">=</span> <span class="nam">os</span><span class="op">.</span><span class="nam">path</span><span class="op">.</span><span class="nam">join</span><span class="op">(</span><span class="nam">tempfile</span><span class="op">.</span><span class="nam">gettempdir</span><span class="op">(</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;testcog_tempdir_&#39;</span> <span class="op">+</span> <span class="nam">str</span><span class="op">(</span><span class="nam">random</span><span class="op">.</span><span class="nam">random</span><span class="op">(</span><span class="op">)</span><span class="op">)</span><span class="op">[</span><span class="num">2</span><span class="op">:</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t732" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">os</span><span class="op">.</span><span class="nam">mkdir</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">tempdir</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t733" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">olddir</span> <span class="op">=</span> <span class="nam">os</span><span class="op">.</span><span class="nam">getcwd</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t734" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">os</span><span class="op">.</span><span class="nam">chdir</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">tempdir</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t735" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">newCog</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t736" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t737" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">tearDown</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t738" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">os</span><span class="op">.</span><span class="nam">chdir</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">olddir</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t739" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Get rid of the temporary directory.</span><span class="strut">&nbsp;</span></p>
+<p id="t740" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">shutil</span><span class="op">.</span><span class="nam">rmtree</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">tempdir</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t741" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t742" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">assertFilesSame</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">sFName1</span><span class="op">,</span> <span class="nam">sFName2</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t743" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">text1</span> <span class="op">=</span> <span class="nam">open</span><span class="op">(</span><span class="nam">os</span><span class="op">.</span><span class="nam">path</span><span class="op">.</span><span class="nam">join</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">tempdir</span><span class="op">,</span> <span class="nam">sFName1</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;rb&#39;</span><span class="op">)</span><span class="op">.</span><span class="nam">read</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t744" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">text2</span> <span class="op">=</span> <span class="nam">open</span><span class="op">(</span><span class="nam">os</span><span class="op">.</span><span class="nam">path</span><span class="op">.</span><span class="nam">join</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">tempdir</span><span class="op">,</span> <span class="nam">sFName2</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;rb&#39;</span><span class="op">)</span><span class="op">.</span><span class="nam">read</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t745" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">text1</span><span class="op">,</span> <span class="nam">text2</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t746" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t747" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">assertFileContent</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">sFName</span><span class="op">,</span> <span class="nam">sContent</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t748" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">sAbsName</span> <span class="op">=</span> <span class="nam">os</span><span class="op">.</span><span class="nam">path</span><span class="op">.</span><span class="nam">join</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">tempdir</span><span class="op">,</span> <span class="nam">sFName</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t749" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">f</span> <span class="op">=</span> <span class="nam">open</span><span class="op">(</span><span class="nam">sAbsName</span><span class="op">,</span> <span class="str">&#39;rb&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t750" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">try</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t751" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">sFileContent</span> <span class="op">=</span> <span class="nam">f</span><span class="op">.</span><span class="nam">read</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t752" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">finally</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t753" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">f</span><span class="op">.</span><span class="nam">close</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t754" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">sFileContent</span><span class="op">,</span> <span class="nam">to_bytes</span><span class="op">(</span><span class="nam">sContent</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t755" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t756" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t757" class="stm run hide_run"><span class="key">class</span> <span class="nam">ArgumentHandlingTests</span><span class="op">(</span><span class="nam">TestCaseWithTempDir</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t758" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t759" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testArgumentFailure</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t760" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Return value 2 means usage problem.</span><span class="strut">&nbsp;</span></p>
+<p id="t761" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">main</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-j&#39;</span><span class="op">]</span><span class="op">)</span><span class="op">,</span> <span class="num">2</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t762" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">output</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">output</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t763" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertIn</span><span class="op">(</span><span class="str">&quot;option -j not recognized&quot;</span><span class="op">,</span> <span class="nam">output</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t764" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaises</span><span class="op">(</span><span class="nam">CogUsageError</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t765" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t766" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaises</span><span class="op">(</span><span class="nam">CogUsageError</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t767" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-j&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t768" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t769" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testNoDashOAndAtFile</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t770" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t771" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;cogfiles.txt&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t772" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # Please run cog</span><span class="strut">&nbsp;</span></p>
+<p id="t773" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t774" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
+<p id="t775" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t776" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t777" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaises</span><span class="op">(</span><span class="nam">CogUsageError</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t778" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-o&#39;</span><span class="op">,</span> <span class="str">&#39;foo&#39;</span><span class="op">,</span> <span class="str">&#39;@cogfiles.txt&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t779" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t780" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testDashV</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t781" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">main</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-v&#39;</span><span class="op">]</span><span class="op">)</span><span class="op">,</span> <span class="num">0</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t782" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">output</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">output</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t783" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="str">&#39;Cog version %s\n&#39;</span> <span class="op">%</span> <span class="nam">__version__</span><span class="op">,</span> <span class="nam">output</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t784" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t785" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">producesHelp</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">args</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t786" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">newCog</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t787" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">argv</span> <span class="op">=</span> <span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">]</span> <span class="op">+</span> <span class="nam">args</span><span class="op">.</span><span class="nam">split</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t788" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">main</span><span class="op">(</span><span class="nam">argv</span><span class="op">)</span><span class="op">,</span> <span class="num">0</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t789" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">usage</span><span class="op">,</span> <span class="nam">self</span><span class="op">.</span><span class="nam">output</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t790" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t791" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testDashH</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t792" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># -h or -? anywhere on the command line should just print help.</span><span class="strut">&nbsp;</span></p>
+<p id="t793" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">producesHelp</span><span class="op">(</span><span class="str">&quot;-h&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t794" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">producesHelp</span><span class="op">(</span><span class="str">&quot;-?&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t795" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">producesHelp</span><span class="op">(</span><span class="str">&quot;fooey.txt -h&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t796" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">producesHelp</span><span class="op">(</span><span class="str">&quot;-o -r @fooey.txt -? @booey.txt&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t797" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t798" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testDashOAndDashR</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t799" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t800" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;cogfile.txt&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t801" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # Please run cog</span><span class="strut">&nbsp;</span></p>
+<p id="t802" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t803" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
+<p id="t804" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t805" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t806" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaises</span><span class="op">(</span><span class="nam">CogUsageError</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t807" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-o&#39;</span><span class="op">,</span> <span class="str">&#39;foo&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;cogfile.txt&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t808" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t809" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testDashZ</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t810" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t811" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;test.cog&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t812" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // This is my C++ file.</span><span class="strut">&nbsp;</span></p>
+<p id="t813" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t814" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fnames = [&#39;DoSomething&#39;, &#39;DoAnotherThing&#39;, &#39;DoLastThing&#39;]</span><span class="strut">&nbsp;</span></p>
+<p id="t815" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for fn in fnames:</span><span class="strut">&nbsp;</span></p>
+<p id="t816" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;void %s();&quot; % fn)</span><span class="strut">&nbsp;</span></p>
+<p id="t817" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t818" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t819" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t820" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;test.out&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t821" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // This is my C++ file.</span><span class="strut">&nbsp;</span></p>
+<p id="t822" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t823" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fnames = [&#39;DoSomething&#39;, &#39;DoAnotherThing&#39;, &#39;DoLastThing&#39;]</span><span class="strut">&nbsp;</span></p>
+<p id="t824" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for fn in fnames:</span><span class="strut">&nbsp;</span></p>
+<p id="t825" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;void %s();&quot; % fn)</span><span class="strut">&nbsp;</span></p>
+<p id="t826" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t827" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; void DoSomething();</span><span class="strut">&nbsp;</span></p>
+<p id="t828" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; void DoAnotherThing();</span><span class="strut">&nbsp;</span></p>
+<p id="t829" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; void DoLastThing();</span><span class="strut">&nbsp;</span></p>
+<p id="t830" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t831" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
+<p id="t832" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t833" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t834" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaisesRegexp</span><span class="op">(</span><span class="nam">CogError</span><span class="op">,</span> <span class="nam">re</span><span class="op">.</span><span class="nam">escape</span><span class="op">(</span><span class="str">&quot;test.cog(6): Missing &#39;[[[end]]]&#39; before end of file.&quot;</span><span class="op">)</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t835" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t836" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">newCog</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t837" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-z&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t838" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t839" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t840" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testBadDashD</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t841" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaises</span><span class="op">(</span><span class="nam">CogUsageError</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t842" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-Dfooey&#39;</span><span class="op">,</span> <span class="str">&#39;cog.txt&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t843" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaises</span><span class="op">(</span><span class="nam">CogUsageError</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t844" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-D&#39;</span><span class="op">,</span> <span class="str">&#39;fooey&#39;</span><span class="op">,</span> <span class="str">&#39;cog.txt&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t845" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t846" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testBadMarkers</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t847" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaises</span><span class="op">(</span><span class="nam">CogUsageError</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t848" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;--markers=X&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t849" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaises</span><span class="op">(</span><span class="nam">CogUsageError</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t850" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;--markers=A B C D&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t851" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t852" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t853" class="stm run hide_run"><span class="key">class</span> <span class="nam">TestFileHandling</span><span class="op">(</span><span class="nam">TestCaseWithTempDir</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t854" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t855" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testSimple</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t856" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t857" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;test.cog&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t858" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // This is my C++ file.</span><span class="strut">&nbsp;</span></p>
+<p id="t859" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t860" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fnames = [&#39;DoSomething&#39;, &#39;DoAnotherThing&#39;, &#39;DoLastThing&#39;]</span><span class="strut">&nbsp;</span></p>
+<p id="t861" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for fn in fnames:</span><span class="strut">&nbsp;</span></p>
+<p id="t862" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;void %s();&quot; % fn)</span><span class="strut">&nbsp;</span></p>
+<p id="t863" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t864" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t865" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t866" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t867" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;test.out&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t868" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // This is my C++ file.</span><span class="strut">&nbsp;</span></p>
+<p id="t869" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t870" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fnames = [&#39;DoSomething&#39;, &#39;DoAnotherThing&#39;, &#39;DoLastThing&#39;]</span><span class="strut">&nbsp;</span></p>
+<p id="t871" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for fn in fnames:</span><span class="strut">&nbsp;</span></p>
+<p id="t872" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;void %s();&quot; % fn)</span><span class="strut">&nbsp;</span></p>
+<p id="t873" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t874" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; void DoSomething();</span><span class="strut">&nbsp;</span></p>
+<p id="t875" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; void DoAnotherThing();</span><span class="strut">&nbsp;</span></p>
+<p id="t876" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; void DoLastThing();</span><span class="strut">&nbsp;</span></p>
+<p id="t877" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t878" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t879" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
+<p id="t880" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t881" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t882" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t883" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t884" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">output</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">output</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t885" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertIn</span><span class="op">(</span><span class="str">&quot;(changed)&quot;</span><span class="op">,</span> <span class="nam">output</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t886" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t887" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testOutputFile</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t888" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># -o sets the output file.</span><span class="strut">&nbsp;</span></p>
+<p id="t889" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t890" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;test.cog&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t891" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // This is my C++ file.</span><span class="strut">&nbsp;</span></p>
+<p id="t892" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t893" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fnames = [&#39;DoSomething&#39;, &#39;DoAnotherThing&#39;, &#39;DoLastThing&#39;]</span><span class="strut">&nbsp;</span></p>
+<p id="t894" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for fn in fnames:</span><span class="strut">&nbsp;</span></p>
+<p id="t895" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;void %s();&quot; % fn)</span><span class="strut">&nbsp;</span></p>
+<p id="t896" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t897" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t898" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t899" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t900" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;test.out&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t901" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // This is my C++ file.</span><span class="strut">&nbsp;</span></p>
+<p id="t902" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t903" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fnames = [&#39;DoSomething&#39;, &#39;DoAnotherThing&#39;, &#39;DoLastThing&#39;]</span><span class="strut">&nbsp;</span></p>
+<p id="t904" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for fn in fnames:</span><span class="strut">&nbsp;</span></p>
+<p id="t905" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;void %s();&quot; % fn)</span><span class="strut">&nbsp;</span></p>
+<p id="t906" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t907" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; void DoSomething();</span><span class="strut">&nbsp;</span></p>
+<p id="t908" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; void DoAnotherThing();</span><span class="strut">&nbsp;</span></p>
+<p id="t909" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; void DoLastThing();</span><span class="strut">&nbsp;</span></p>
+<p id="t910" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t911" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t912" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
+<p id="t913" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t914" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t915" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-o&#39;</span><span class="op">,</span> <span class="str">&#39;test.cogged&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t916" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cogged&#39;</span><span class="op">,</span> <span class="str">&#39;test.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t917" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t918" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testAtFile</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t919" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t920" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;one.cog&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t921" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t922" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;hello world&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t923" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t924" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t925" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t926" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t927" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;one.out&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t928" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t929" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;hello world&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t930" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t931" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; hello world</span><span class="strut">&nbsp;</span></p>
+<p id="t932" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t933" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t934" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t935" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;two.cog&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t936" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t937" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;goodbye cruel world&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t938" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t939" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t940" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t941" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t942" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;two.out&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t943" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t944" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;goodbye cruel world&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t945" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t946" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; goodbye cruel world</span><span class="strut">&nbsp;</span></p>
+<p id="t947" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t948" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t949" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t950" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;cogfiles.txt&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t951" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # Please run cog</span><span class="strut">&nbsp;</span></p>
+<p id="t952" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; one.cog</span><span class="strut">&nbsp;</span></p>
+<p id="t953" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t954" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; two.cog</span><span class="strut">&nbsp;</span></p>
+<p id="t955" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t956" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
+<p id="t957" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t958" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t959" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;@cogfiles.txt&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t960" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;one.cog&#39;</span><span class="op">,</span> <span class="str">&#39;one.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t961" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;two.cog&#39;</span><span class="op">,</span> <span class="str">&#39;two.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t962" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">output</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">output</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t963" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertIn</span><span class="op">(</span><span class="str">&quot;(changed)&quot;</span><span class="op">,</span> <span class="nam">output</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t964" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t965" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testNestedAtFile</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t966" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t967" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;one.cog&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t968" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t969" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;hello world&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t970" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t971" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t972" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t973" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t974" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;one.out&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t975" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t976" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;hello world&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t977" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t978" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; hello world</span><span class="strut">&nbsp;</span></p>
+<p id="t979" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t980" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t981" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t982" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;two.cog&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t983" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t984" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;goodbye cruel world&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t985" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t986" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t987" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t988" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t989" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;two.out&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t990" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t991" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;goodbye cruel world&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t992" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t993" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; goodbye cruel world</span><span class="strut">&nbsp;</span></p>
+<p id="t994" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t995" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t996" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t997" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;cogfiles.txt&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t998" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # Please run cog</span><span class="strut">&nbsp;</span></p>
+<p id="t999" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; one.cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1000" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; @cogfiles2.txt</span><span class="strut">&nbsp;</span></p>
+<p id="t1001" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1002" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1003" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;cogfiles2.txt&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1004" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # This one too, please.</span><span class="strut">&nbsp;</span></p>
+<p id="t1005" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; two.cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1006" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1007" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
+<p id="t1008" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1009" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1010" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;@cogfiles.txt&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1011" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;one.cog&#39;</span><span class="op">,</span> <span class="str">&#39;one.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1012" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;two.cog&#39;</span><span class="op">,</span> <span class="str">&#39;two.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1013" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">output</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">output</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1014" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertIn</span><span class="op">(</span><span class="str">&quot;(changed)&quot;</span><span class="op">,</span> <span class="nam">output</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1015" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1016" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testAtFileWithArgs</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1017" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t1018" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;both.cog&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1019" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1020" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;one: %s&quot; % (&#39;one&#39; in globals()))</span><span class="strut">&nbsp;</span></p>
+<p id="t1021" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;two: %s&quot; % (&#39;two&#39; in globals()))</span><span class="strut">&nbsp;</span></p>
+<p id="t1022" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1023" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1024" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1025" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1026" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;one.out&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1027" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1028" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;one: %s&quot; % (&#39;one&#39; in globals()))</span><span class="strut">&nbsp;</span></p>
+<p id="t1029" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;two: %s&quot; % (&#39;two&#39; in globals()))</span><span class="strut">&nbsp;</span></p>
+<p id="t1030" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1031" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; one: True // ONE</span><span class="strut">&nbsp;</span></p>
+<p id="t1032" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; two: False // ONE</span><span class="strut">&nbsp;</span></p>
+<p id="t1033" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1034" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1035" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1036" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;two.out&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1037" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1038" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;one: %s&quot; % (&#39;one&#39; in globals()))</span><span class="strut">&nbsp;</span></p>
+<p id="t1039" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;two: %s&quot; % (&#39;two&#39; in globals()))</span><span class="strut">&nbsp;</span></p>
+<p id="t1040" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1041" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; one: False // TWO</span><span class="strut">&nbsp;</span></p>
+<p id="t1042" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; two: True // TWO</span><span class="strut">&nbsp;</span></p>
+<p id="t1043" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1044" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1045" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1046" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;cogfiles.txt&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1047" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # Please run cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1048" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; both.cog -o both.one -s &#39; // ONE&#39; -D one=x</span><span class="strut">&nbsp;</span></p>
+<p id="t1049" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; both.cog -o both.two -s &#39; // TWO&#39; -D two=x</span><span class="strut">&nbsp;</span></p>
+<p id="t1050" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t1051" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
+<p id="t1052" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1053" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1054" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;@cogfiles.txt&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1055" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;both.one&#39;</span><span class="op">,</span> <span class="str">&#39;one.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1056" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;both.two&#39;</span><span class="op">,</span> <span class="str">&#39;two.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1057" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1058" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testAtFileWithBadArgCombo</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1059" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t1060" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;both.cog&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1061" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1062" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;one: %s&quot; % (&#39;one&#39; in globals()))</span><span class="strut">&nbsp;</span></p>
+<p id="t1063" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;two: %s&quot; % (&#39;two&#39; in globals()))</span><span class="strut">&nbsp;</span></p>
+<p id="t1064" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1065" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1066" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1067" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1068" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;cogfiles.txt&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1069" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # Please run cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1070" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; both.cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1071" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; both.cog -d # This is bad: -r and -d</span><span class="strut">&nbsp;</span></p>
+<p id="t1072" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t1073" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
+<p id="t1074" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1075" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1076" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaises</span><span class="op">(</span><span class="nam">CogUsageError</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1077" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;@cogfiles.txt&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1078" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1079" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testAtFileWithTrickyFilenames</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1080" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">def</span> <span class="nam">fix_backslashes</span><span class="op">(</span><span class="nam">files_txt</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1081" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&quot;&quot;&quot;Make the contents of a files.txt sensitive to the platform.&quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t1082" class="stm par run hide_run"><span class="annotate" title="Line 1082 was executed, but never jumped to line 1084">1082&#x202F;&#x219B;&#x202F;1084 [?]</span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">sys</span><span class="op">.</span><span class="nam">platform</span> <span class="op">!=</span> <span class="str">&quot;win32&quot;</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1083" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">files_txt</span> <span class="op">=</span> <span class="nam">files_txt</span><span class="op">.</span><span class="nam">replace</span><span class="op">(</span><span class="str">&quot;\\&quot;</span><span class="op">,</span> <span class="str">&quot;/&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1084" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">return</span> <span class="nam">files_txt</span><span class="strut">&nbsp;</span></p>
+<p id="t1085" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1086" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t1087" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;one 1.cog&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1088" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog cog.outl(&quot;hello world&quot;) ]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1089" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1090" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1091" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;one.out&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1092" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog cog.outl(&quot;hello world&quot;) ]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1093" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; hello world //xxx</span><span class="strut">&nbsp;</span></p>
+<p id="t1094" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1095" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1096" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;subdir&#39;</span><span class="op">:</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t1097" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;subback.cog&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1098" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog cog.outl(&quot;down deep with backslashes&quot;) ]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1099" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1100" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1101" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;subfwd.cog&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1102" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog cog.outl(&quot;down deep with slashes&quot;) ]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1103" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1104" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1105" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1106" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;subback.out&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1107" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog cog.outl(&quot;down deep with backslashes&quot;) ]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1108" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; down deep with backslashes //yyy</span><span class="strut">&nbsp;</span></p>
+<p id="t1109" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1110" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1111" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;subfwd.out&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1112" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog cog.outl(&quot;down deep with slashes&quot;) ]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1113" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; down deep with slashes //zzz</span><span class="strut">&nbsp;</span></p>
+<p id="t1114" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1115" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1116" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;cogfiles.txt&#39;</span><span class="op">:</span> <span class="nam">fix_backslashes</span><span class="op">(</span><span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1117" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # Please run cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1118" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#39;one 1.cog&#39; -s &#39; //xxx&#39;</span><span class="strut">&nbsp;</span></p>
+<p id="t1119" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; subdir\\subback.cog -s &#39; //yyy&#39;</span><span class="strut">&nbsp;</span></p>
+<p id="t1120" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; subdir/subfwd.cog -s &#39; //zzz&#39;</span><span class="strut">&nbsp;</span></p>
+<p id="t1121" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1122" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
+<p id="t1123" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1124" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1125" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-z&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;@cogfiles.txt&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1126" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;one 1.cog&#39;</span><span class="op">,</span> <span class="str">&#39;one.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1127" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;subdir/subback.cog&#39;</span><span class="op">,</span> <span class="str">&#39;subback.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1128" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;subdir/subfwd.cog&#39;</span><span class="op">,</span> <span class="str">&#39;subfwd.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1129" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1130" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">run_with_verbosity</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">verbosity</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1131" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t1132" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;unchanged.cog&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1133" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1134" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;hello world&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t1135" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1136" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; hello world</span><span class="strut">&nbsp;</span></p>
+<p id="t1137" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1138" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1139" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1140" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;changed.cog&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1141" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1142" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;goodbye cruel world&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t1143" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1144" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1145" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1146" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1147" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;cogfiles.txt&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1148" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; unchanged.cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1149" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; changed.cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1150" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t1151" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
+<p id="t1152" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1153" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1154" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;--verbosity=&#39;</span><span class="op">+</span><span class="nam">verbosity</span><span class="op">,</span> <span class="str">&#39;@cogfiles.txt&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1155" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">output</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">output</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1156" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">return</span> <span class="nam">output</span><span class="strut">&nbsp;</span></p>
+<p id="t1157" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1158" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">test_verbosity0</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1159" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">output</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">run_with_verbosity</span><span class="op">(</span><span class="str">&quot;0&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1160" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">output</span><span class="op">,</span> <span class="str">&quot;&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1161" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1162" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">test_verbosity1</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1163" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">output</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">run_with_verbosity</span><span class="op">(</span><span class="str">&quot;1&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1164" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">output</span><span class="op">,</span> <span class="str">&quot;Cogging changed.cog&nbsp; (changed)\n&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1165" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1166" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">test_verbosity2</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1167" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">output</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">run_with_verbosity</span><span class="op">(</span><span class="str">&quot;2&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1168" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">output</span><span class="op">,</span> <span class="str">&quot;Cogging unchanged.cog\nCogging changed.cog&nbsp; (changed)\n&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1169" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1170" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1171" class="stm run hide_run"><span class="key">class</span> <span class="nam">CogTestLineEndings</span><span class="op">(</span><span class="nam">TestCaseWithTempDir</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1172" class="pln">&nbsp; &nbsp; <span class="str">&quot;&quot;&quot;Tests for -U option (force LF line-endings in output).&quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t1173" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1174" class="stm run hide_run">&nbsp; &nbsp; <span class="nam">lines_in</span> <span class="op">=</span> <span class="op">[</span><span class="str">&#39;Some text.&#39;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1175" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;//[[[cog&#39;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1176" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;cog.outl(&quot;Cog text&quot;)&#39;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1177" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;//]]]&#39;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1178" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;gobbledegook.&#39;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1179" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;//[[[end]]]&#39;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1180" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;epilogue.&#39;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1181" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;&#39;</span><span class="op">]</span><span class="strut">&nbsp;</span></p>
+<p id="t1182" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1183" class="stm run hide_run">&nbsp; &nbsp; <span class="nam">lines_out</span> <span class="op">=</span> <span class="op">[</span><span class="str">&#39;Some text.&#39;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1184" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class="str">&#39;//[[[cog&#39;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1185" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class="str">&#39;cog.outl(&quot;Cog text&quot;)&#39;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1186" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class="str">&#39;//]]]&#39;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1187" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class="str">&#39;Cog text&#39;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1188" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class="str">&#39;//[[[end]]]&#39;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1189" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class="str">&#39;epilogue.&#39;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1190" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class="str">&#39;&#39;</span><span class="op">]</span><span class="strut">&nbsp;</span></p>
+<p id="t1191" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1192" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testOutputNativeEol</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1193" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="op">{</span><span class="str">&#39;infile&#39;</span><span class="op">:</span> <span class="str">&#39;\n&#39;</span><span class="op">.</span><span class="nam">join</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">lines_in</span><span class="op">)</span><span class="op">}</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1194" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-o&#39;</span><span class="op">,</span> <span class="str">&#39;outfile&#39;</span><span class="op">,</span> <span class="str">&#39;infile&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1195" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFileContent</span><span class="op">(</span><span class="str">&#39;outfile&#39;</span><span class="op">,</span> <span class="nam">os</span><span class="op">.</span><span class="nam">linesep</span><span class="op">.</span><span class="nam">join</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">lines_out</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1196" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1197" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testOutputLfEol</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1198" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="op">{</span><span class="str">&#39;infile&#39;</span><span class="op">:</span> <span class="str">&#39;\n&#39;</span><span class="op">.</span><span class="nam">join</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">lines_in</span><span class="op">)</span><span class="op">}</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1199" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-U&#39;</span><span class="op">,</span> <span class="str">&#39;-o&#39;</span><span class="op">,</span> <span class="str">&#39;outfile&#39;</span><span class="op">,</span> <span class="str">&#39;infile&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1200" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFileContent</span><span class="op">(</span><span class="str">&#39;outfile&#39;</span><span class="op">,</span> <span class="str">&#39;\n&#39;</span><span class="op">.</span><span class="nam">join</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">lines_out</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1201" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1202" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testReplaceNativeEol</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1203" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="op">{</span><span class="str">&#39;test.cog&#39;</span><span class="op">:</span> <span class="str">&#39;\n&#39;</span><span class="op">.</span><span class="nam">join</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">lines_in</span><span class="op">)</span><span class="op">}</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1204" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1205" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFileContent</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="nam">os</span><span class="op">.</span><span class="nam">linesep</span><span class="op">.</span><span class="nam">join</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">lines_out</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1206" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1207" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testReplaceLfEol</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1208" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="op">{</span><span class="str">&#39;test.cog&#39;</span><span class="op">:</span> <span class="str">&#39;\n&#39;</span><span class="op">.</span><span class="nam">join</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">lines_in</span><span class="op">)</span><span class="op">}</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1209" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-U&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1210" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFileContent</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;\n&#39;</span><span class="op">.</span><span class="nam">join</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">lines_out</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1211" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1212" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1213" class="stm run hide_run"><span class="key">class</span> <span class="nam">CogTestCharacterEncoding</span><span class="op">(</span><span class="nam">TestCaseWithTempDir</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1214" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1215" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testSimple</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1216" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t1217" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;test.cog&#39;</span><span class="op">:</span> <span class="nam">b</span><span class="op">(</span><span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1218" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // This is my C++ file.</span><span class="strut">&nbsp;</span></p>
+<p id="t1219" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1220" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;// Unicode: \xe1\x88\xb4 (U+1234)&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t1221" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1222" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1223" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1224" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1225" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;test.out&#39;</span><span class="op">:</span> <span class="nam">b</span><span class="op">(</span><span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1226" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // This is my C++ file.</span><span class="strut">&nbsp;</span></p>
+<p id="t1227" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1228" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;// Unicode: \xe1\x88\xb4 (U+1234)&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t1229" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1230" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // Unicode: \xe1\x88\xb4 (U+1234)</span><span class="strut">&nbsp;</span></p>
+<p id="t1231" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1232" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1233" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
+<p id="t1234" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1235" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1236" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1237" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1238" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">output</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">output</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1239" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertIn</span><span class="op">(</span><span class="str">&quot;(changed)&quot;</span><span class="op">,</span> <span class="nam">output</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1240" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1241" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testFileEncodingOption</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1242" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t1243" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;test.cog&#39;</span><span class="op">:</span> <span class="nam">b</span><span class="op">(</span><span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1244" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // \xca\xee\xe4\xe8\xf0\xe2\xea\xe0 Windows</span><span class="strut">&nbsp;</span></p>
+<p id="t1245" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1246" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;\xd1\xfa\xe5\xf8\xfc \xe5\xf9\xb8 \xfd\xf2\xe8\xf5 \xec\xff\xe3\xea\xe8\xf5 \xf4\xf0\xe0\xed\xf6\xf3\xe7\xf1\xea\xe8\xf5 \xe1\xf3\xeb\xee\xea \xe4\xe0 \xe2\xfb\xef\xe5\xe9 \xf7\xe0\xfe&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t1247" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1248" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1249" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1250" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1251" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;test.out&#39;</span><span class="op">:</span> <span class="nam">b</span><span class="op">(</span><span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1252" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // \xca\xee\xe4\xe8\xf0\xe2\xea\xe0 Windows</span><span class="strut">&nbsp;</span></p>
+<p id="t1253" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1254" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;\xd1\xfa\xe5\xf8\xfc \xe5\xf9\xb8 \xfd\xf2\xe8\xf5 \xec\xff\xe3\xea\xe8\xf5 \xf4\xf0\xe0\xed\xf6\xf3\xe7\xf1\xea\xe8\xf5 \xe1\xf3\xeb\xee\xea \xe4\xe0 \xe2\xfb\xef\xe5\xe9 \xf7\xe0\xfe&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t1255" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1256" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \xd1\xfa\xe5\xf8\xfc \xe5\xf9\xb8 \xfd\xf2\xe8\xf5 \xec\xff\xe3\xea\xe8\xf5 \xf4\xf0\xe0\xed\xf6\xf3\xe7\xf1\xea\xe8\xf5 \xe1\xf3\xeb\xee\xea \xe4\xe0 \xe2\xfb\xef\xe5\xe9 \xf7\xe0\xfe</span><span class="strut">&nbsp;</span></p>
+<p id="t1257" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1258" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1259" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
+<p id="t1260" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1261" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1262" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-n&#39;</span><span class="op">,</span> <span class="str">&#39;cp1251&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1263" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1264" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">output</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">output</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1265" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertIn</span><span class="op">(</span><span class="str">&quot;(changed)&quot;</span><span class="op">,</span> <span class="nam">output</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1266" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1267" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1268" class="stm run hide_run"><span class="key">class</span> <span class="nam">TestCaseWithImports</span><span class="op">(</span><span class="nam">TestCaseWithTempDir</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1269" class="pln">&nbsp; &nbsp; <span class="str">&quot;&quot;&quot; When running tests which import modules, the sys.modules list</span><span class="strut">&nbsp;</span></p>
+<p id="t1270" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; leaks from one test to the next.&nbsp; This test case class scrubs</span><span class="strut">&nbsp;</span></p>
+<p id="t1271" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; the list after each run to keep the tests isolated from each other.</span><span class="strut">&nbsp;</span></p>
+<p id="t1272" class="pln"><span class="str">&nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t1273" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1274" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">setUp</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1275" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">TestCaseWithTempDir</span><span class="op">.</span><span class="nam">setUp</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1276" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">sysmodulekeys</span> <span class="op">=</span> <span class="nam">list</span><span class="op">(</span><span class="nam">sys</span><span class="op">.</span><span class="nam">modules</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1277" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1278" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">tearDown</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1279" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">modstoscrub</span> <span class="op">=</span> <span class="op">[</span><span class="strut">&nbsp;</span></p>
+<p id="t1280" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">modname</span><span class="strut">&nbsp;</span></p>
+<p id="t1281" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">for</span> <span class="nam">modname</span> <span class="key">in</span> <span class="nam">sys</span><span class="op">.</span><span class="nam">modules</span><span class="strut">&nbsp;</span></p>
+<p id="t1282" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">modname</span> <span class="key">not</span> <span class="key">in</span> <span class="nam">self</span><span class="op">.</span><span class="nam">sysmodulekeys</span><span class="strut">&nbsp;</span></p>
+<p id="t1283" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">]</span><span class="strut">&nbsp;</span></p>
+<p id="t1284" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">for</span> <span class="nam">modname</span> <span class="key">in</span> <span class="nam">modstoscrub</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1285" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">del</span> <span class="nam">sys</span><span class="op">.</span><span class="nam">modules</span><span class="op">[</span><span class="nam">modname</span><span class="op">]</span><span class="strut">&nbsp;</span></p>
+<p id="t1286" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">TestCaseWithTempDir</span><span class="op">.</span><span class="nam">tearDown</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1287" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1288" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1289" class="stm run hide_run"><span class="key">class</span> <span class="nam">CogIncludeTests</span><span class="op">(</span><span class="nam">TestCaseWithImports</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1290" class="stm run hide_run">&nbsp; &nbsp; <span class="nam">dincludes</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t1291" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;test.cog&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1292" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1293" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; import mymodule</span><span class="strut">&nbsp;</span></p>
+<p id="t1294" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1295" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1296" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1297" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1298" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;test.out&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1299" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1300" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; import mymodule</span><span class="strut">&nbsp;</span></p>
+<p id="t1301" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1302" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Hello from mymodule</span><span class="strut">&nbsp;</span></p>
+<p id="t1303" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1304" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1305" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1306" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;test2.out&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1307" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1308" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; import mymodule</span><span class="strut">&nbsp;</span></p>
+<p id="t1309" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1310" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Hello from mymodule in inc2</span><span class="strut">&nbsp;</span></p>
+<p id="t1311" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1312" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1313" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1314" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;include&#39;</span><span class="op">:</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t1315" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;mymodule.py&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1316" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; import cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1317" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;Hello from mymodule&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t1318" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t1319" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1320" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1321" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;inc2&#39;</span><span class="op">:</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t1322" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;mymodule.py&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1323" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; import cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1324" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;Hello from mymodule in inc2&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t1325" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t1326" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1327" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1328" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;inc3&#39;</span><span class="op">:</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t1329" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;someothermodule.py&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1330" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; import cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1331" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;This is some other module.&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t1332" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t1333" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1334" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
+<p id="t1335" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1336" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testNeedIncludePath</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1337" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Try it without the -I, to see that an ImportError happens.</span><span class="strut">&nbsp;</span></p>
+<p id="t1338" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">dincludes</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1339" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaises</span><span class="op">(</span><span class="nam">ImportError</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1340" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1341" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1342" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testIncludePath</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1343" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Test that -I adds include directories properly.</span><span class="strut">&nbsp;</span></p>
+<p id="t1344" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">dincludes</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1345" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-I&#39;</span><span class="op">,</span> <span class="str">&#39;include&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1346" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1347" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1348" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testTwoIncludePaths</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1349" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Test that two -I&#39;s add include directories properly.</span><span class="strut">&nbsp;</span></p>
+<p id="t1350" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">dincludes</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1351" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-I&#39;</span><span class="op">,</span> <span class="str">&#39;include&#39;</span><span class="op">,</span> <span class="str">&#39;-I&#39;</span><span class="op">,</span> <span class="str">&#39;inc2&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1352" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1353" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1354" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testTwoIncludePaths2</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1355" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Test that two -I&#39;s add include directories properly.</span><span class="strut">&nbsp;</span></p>
+<p id="t1356" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">dincludes</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1357" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-I&#39;</span><span class="op">,</span> <span class="str">&#39;inc2&#39;</span><span class="op">,</span> <span class="str">&#39;-I&#39;</span><span class="op">,</span> <span class="str">&#39;include&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1358" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test2.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1359" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1360" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testUselessIncludePath</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1361" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Test that the search will continue past the first directory.</span><span class="strut">&nbsp;</span></p>
+<p id="t1362" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">dincludes</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1363" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-I&#39;</span><span class="op">,</span> <span class="str">&#39;inc3&#39;</span><span class="op">,</span> <span class="str">&#39;-I&#39;</span><span class="op">,</span> <span class="str">&#39;include&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1364" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1365" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1366" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testSysPathIsUnchanged</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1367" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t1368" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;bad.cog&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1369" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog cog.error(&quot;Oh no!&quot;) ]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1370" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1371" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1372" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;good.cog&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1373" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog cog.outl(&quot;Oh yes!&quot;) ]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1374" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1375" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1376" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
+<p id="t1377" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1378" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1379" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Is it unchanged just by creating a cog engine?</span><span class="strut">&nbsp;</span></p>
+<p id="t1380" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">oldsyspath</span> <span class="op">=</span> <span class="nam">sys</span><span class="op">.</span><span class="nam">path</span><span class="op">[</span><span class="op">:</span><span class="op">]</span><span class="strut">&nbsp;</span></p>
+<p id="t1381" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">newCog</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1382" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">oldsyspath</span><span class="op">,</span> <span class="nam">sys</span><span class="op">.</span><span class="nam">path</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1383" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Is it unchanged for a successful run?</span><span class="strut">&nbsp;</span></p>
+<p id="t1384" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">newCog</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1385" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;good.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1386" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">oldsyspath</span><span class="op">,</span> <span class="nam">sys</span><span class="op">.</span><span class="nam">path</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1387" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Is it unchanged for a successful run with includes?</span><span class="strut">&nbsp;</span></p>
+<p id="t1388" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">newCog</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1389" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-I&#39;</span><span class="op">,</span> <span class="str">&#39;xyzzy&#39;</span><span class="op">,</span> <span class="str">&#39;good.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1390" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">oldsyspath</span><span class="op">,</span> <span class="nam">sys</span><span class="op">.</span><span class="nam">path</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1391" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Is it unchanged for a successful run with two includes?</span><span class="strut">&nbsp;</span></p>
+<p id="t1392" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">newCog</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1393" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-I&#39;</span><span class="op">,</span> <span class="str">&#39;xyzzy&#39;</span><span class="op">,</span> <span class="str">&#39;-I&#39;</span><span class="op">,</span> <span class="str">&#39;quux&#39;</span><span class="op">,</span> <span class="str">&#39;good.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1394" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">oldsyspath</span><span class="op">,</span> <span class="nam">sys</span><span class="op">.</span><span class="nam">path</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1395" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Is it unchanged for a failed run?</span><span class="strut">&nbsp;</span></p>
+<p id="t1396" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">newCog</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1397" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaises</span><span class="op">(</span><span class="nam">CogError</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1398" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;bad.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1399" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">oldsyspath</span><span class="op">,</span> <span class="nam">sys</span><span class="op">.</span><span class="nam">path</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1400" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Is it unchanged for a failed run with includes?</span><span class="strut">&nbsp;</span></p>
+<p id="t1401" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">newCog</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1402" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaises</span><span class="op">(</span><span class="nam">CogError</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1403" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-I&#39;</span><span class="op">,</span> <span class="str">&#39;xyzzy&#39;</span><span class="op">,</span> <span class="str">&#39;bad.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1404" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">oldsyspath</span><span class="op">,</span> <span class="nam">sys</span><span class="op">.</span><span class="nam">path</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1405" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Is it unchanged for a failed run with two includes?</span><span class="strut">&nbsp;</span></p>
+<p id="t1406" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">newCog</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1407" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaises</span><span class="op">(</span><span class="nam">CogError</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1408" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-I&#39;</span><span class="op">,</span> <span class="str">&#39;xyzzy&#39;</span><span class="op">,</span> <span class="str">&#39;-I&#39;</span><span class="op">,</span> <span class="str">&#39;quux&#39;</span><span class="op">,</span> <span class="str">&#39;bad.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1409" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">oldsyspath</span><span class="op">,</span> <span class="nam">sys</span><span class="op">.</span><span class="nam">path</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1410" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1411" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testSubDirectories</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1412" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Test that relative paths on the command line work, with includes.</span><span class="strut">&nbsp;</span></p>
+<p id="t1413" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1414" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t1415" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;code&#39;</span><span class="op">:</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t1416" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;test.cog&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1417" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1418" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; import mysubmodule</span><span class="strut">&nbsp;</span></p>
+<p id="t1419" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1420" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1421" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1422" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1423" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;test.out&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1424" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1425" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; import mysubmodule</span><span class="strut">&nbsp;</span></p>
+<p id="t1426" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1427" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Hello from mysubmodule</span><span class="strut">&nbsp;</span></p>
+<p id="t1428" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1429" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1430" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1431" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;mysubmodule.py&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1432" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; import cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1433" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;Hello from mysubmodule&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t1434" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t1435" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
+<p id="t1436" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
+<p id="t1437" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1438" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1439" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># We should be able to invoke cog without the -I switch, and it will</span><span class="strut">&nbsp;</span></p>
+<p id="t1440" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># auto-include the current directory</span><span class="strut">&nbsp;</span></p>
+<p id="t1441" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;code/test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1442" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;code/test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;code/test.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1443" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1444" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1445" class="stm run hide_run"><span class="key">class</span> <span class="nam">CogTestsInFiles</span><span class="op">(</span><span class="nam">TestCaseWithTempDir</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1446" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1447" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testWarnIfNoCogCode</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1448" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Test that the -e switch warns if there is no Cog code.</span><span class="strut">&nbsp;</span></p>
+<p id="t1449" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t1450" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;with.cog&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1451" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1452" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;hello world&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t1453" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1454" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; hello world</span><span class="strut">&nbsp;</span></p>
+<p id="t1455" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1456" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1457" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1458" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;without.cog&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1459" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; There&#39;s no cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1460" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; code in this file.</span><span class="strut">&nbsp;</span></p>
+<p id="t1461" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1462" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
+<p id="t1463" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1464" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1465" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-e&#39;</span><span class="op">,</span> <span class="str">&#39;with.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1466" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">output</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">output</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1467" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertNotIn</span><span class="op">(</span><span class="str">&quot;Warning&quot;</span><span class="op">,</span> <span class="nam">output</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1468" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">newCog</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1469" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-e&#39;</span><span class="op">,</span> <span class="str">&#39;without.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1470" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">output</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">output</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1471" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertIn</span><span class="op">(</span><span class="str">&quot;Warning: no cog code found in without.cog&quot;</span><span class="op">,</span> <span class="nam">output</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1472" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">newCog</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1473" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;without.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1474" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">output</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">output</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1475" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertNotIn</span><span class="op">(</span><span class="str">&quot;Warning&quot;</span><span class="op">,</span> <span class="nam">output</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1476" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1477" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testFileNameProps</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1478" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t1479" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;cog1.txt&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1480" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1481" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;This is %s in, %s out&quot; % (cog.inFile, cog.outFile))</span><span class="strut">&nbsp;</span></p>
+<p id="t1482" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1483" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; this is cog1.txt in, cog1.txt out</span><span class="strut">&nbsp;</span></p>
+<p id="t1484" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1485" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1486" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1487" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;cog1.out&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1488" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1489" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;This is %s in, %s out&quot; % (cog.inFile, cog.outFile))</span><span class="strut">&nbsp;</span></p>
+<p id="t1490" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1491" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This is cog1.txt in, cog1.txt out</span><span class="strut">&nbsp;</span></p>
+<p id="t1492" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1493" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1494" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1495" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;cog1out.out&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1496" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1497" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;This is %s in, %s out&quot; % (cog.inFile, cog.outFile))</span><span class="strut">&nbsp;</span></p>
+<p id="t1498" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1499" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This is cog1.txt in, cog1out.txt out</span><span class="strut">&nbsp;</span></p>
+<p id="t1500" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1501" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1502" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
+<p id="t1503" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1504" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1505" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;cog1.txt&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1506" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;cog1.txt&#39;</span><span class="op">,</span> <span class="str">&#39;cog1.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1507" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">newCog</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1508" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-o&#39;</span><span class="op">,</span> <span class="str">&#39;cog1out.txt&#39;</span><span class="op">,</span> <span class="str">&#39;cog1.txt&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1509" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;cog1out.txt&#39;</span><span class="op">,</span> <span class="str">&#39;cog1out.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1510" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1511" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testGlobalsDontCrossFiles</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1512" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Make sure that global values don&#39;t get shared between files.</span><span class="strut">&nbsp;</span></p>
+<p id="t1513" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t1514" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;one.cog&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1515" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog s = &quot;This was set in one.cog&quot; ]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1516" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1517" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog cog.outl(s) ]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1518" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1519" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1520" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1521" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;one.out&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1522" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog s = &quot;This was set in one.cog&quot; ]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1523" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1524" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog cog.outl(s) ]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1525" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This was set in one.cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1526" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1527" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1528" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1529" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;two.cog&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1530" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1531" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; try:</span><span class="strut">&nbsp;</span></p>
+<p id="t1532" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(s)</span><span class="strut">&nbsp;</span></p>
+<p id="t1533" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; except NameError:</span><span class="strut">&nbsp;</span></p>
+<p id="t1534" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;s isn&#39;t set!&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t1535" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1536" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1537" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1538" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1539" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;two.out&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1540" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1541" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; try:</span><span class="strut">&nbsp;</span></p>
+<p id="t1542" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(s)</span><span class="strut">&nbsp;</span></p>
+<p id="t1543" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; except NameError:</span><span class="strut">&nbsp;</span></p>
+<p id="t1544" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;s isn&#39;t set!&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t1545" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1546" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; s isn&#39;t set!</span><span class="strut">&nbsp;</span></p>
+<p id="t1547" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1548" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1549" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1550" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;cogfiles.txt&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1551" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # Please run cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1552" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; one.cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1553" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1554" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; two.cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1555" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t1556" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
+<p id="t1557" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1558" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1559" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;@cogfiles.txt&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1560" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;one.cog&#39;</span><span class="op">,</span> <span class="str">&#39;one.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1561" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;two.cog&#39;</span><span class="op">,</span> <span class="str">&#39;two.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1562" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">output</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">output</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1563" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertIn</span><span class="op">(</span><span class="str">&quot;(changed)&quot;</span><span class="op">,</span> <span class="nam">output</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1564" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1565" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testRemoveGeneratedOutput</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1566" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t1567" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;cog1.txt&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1568" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1569" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;This line was generated.&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t1570" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1571" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This line was generated.</span><span class="strut">&nbsp;</span></p>
+<p id="t1572" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1573" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This line was not.</span><span class="strut">&nbsp;</span></p>
+<p id="t1574" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1575" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1576" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;cog1.out&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1577" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1578" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;This line was generated.&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t1579" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1580" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1581" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This line was not.</span><span class="strut">&nbsp;</span></p>
+<p id="t1582" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1583" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1584" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;cog1.out2&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1585" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1586" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;This line was generated.&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t1587" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1588" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This line was generated.</span><span class="strut">&nbsp;</span></p>
+<p id="t1589" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1590" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This line was not.</span><span class="strut">&nbsp;</span></p>
+<p id="t1591" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1592" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
+<p id="t1593" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1594" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1595" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Remove generated output.</span><span class="strut">&nbsp;</span></p>
+<p id="t1596" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-x&#39;</span><span class="op">,</span> <span class="str">&#39;cog1.txt&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1597" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;cog1.txt&#39;</span><span class="op">,</span> <span class="str">&#39;cog1.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1598" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">newCog</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1599" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Regenerate the generated output.</span><span class="strut">&nbsp;</span></p>
+<p id="t1600" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;cog1.txt&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1601" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;cog1.txt&#39;</span><span class="op">,</span> <span class="str">&#39;cog1.out2&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1602" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">newCog</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1603" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Remove the generated output again.</span><span class="strut">&nbsp;</span></p>
+<p id="t1604" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-x&#39;</span><span class="op">,</span> <span class="str">&#39;cog1.txt&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1605" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;cog1.txt&#39;</span><span class="op">,</span> <span class="str">&#39;cog1.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1606" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1607" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testMsgCall</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1608" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1609" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1610" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.msg(&quot;Hello there!&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t1611" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1612" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1613" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t1614" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="nam">reindentBlock</span><span class="op">(</span><span class="nam">infile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1615" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">processString</span><span class="op">(</span><span class="nam">infile</span><span class="op">)</span><span class="op">,</span> <span class="nam">infile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1616" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">output</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">output</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1617" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">output</span><span class="op">,</span> <span class="str">&quot;Message: Hello there!\n&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1618" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1619" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testErrorMessageHasNoTraceback</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1620" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Test that a Cog error is printed to stderr with no traceback.</span><span class="strut">&nbsp;</span></p>
+<p id="t1621" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1622" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t1623" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;cog1.txt&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1624" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1625" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;This line was newly&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t1626" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;generated by cog&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t1627" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;blah blah.&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t1628" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1629" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Xhis line was newly</span><span class="strut">&nbsp;</span></p>
+<p id="t1630" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; generated by cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1631" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; blah blah.</span><span class="strut">&nbsp;</span></p>
+<p id="t1632" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]] (checksum: a8540982e5ad6b95c9e9a184b26f4346)</span><span class="strut">&nbsp;</span></p>
+<p id="t1633" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1634" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
+<p id="t1635" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1636" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1637" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">stderr</span> <span class="op">=</span> <span class="nam">StringIO</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1638" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">setOutput</span><span class="op">(</span><span class="nam">stderr</span><span class="op">=</span><span class="nam">stderr</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1639" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">main</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-c&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&quot;cog1.txt&quot;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1640" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">output</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="op">,</span> <span class="str">&quot;Cogging cog1.txt\n&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1641" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">stderr</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="op">,</span> <span class="str">&quot;cog1.txt(9): Output has been edited! Delete old checksum to unprotect.\n&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1642" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1643" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testDashD</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1644" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t1645" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;test.cog&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1646" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --[[[cog cog.outl(&quot;Defined fooey as &quot; + fooey) ]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1647" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1648" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1649" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1650" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;test.kablooey&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1651" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --[[[cog cog.outl(&quot;Defined fooey as &quot; + fooey) ]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1652" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Defined fooey as kablooey</span><span class="strut">&nbsp;</span></p>
+<p id="t1653" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1654" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1655" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1656" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;test.einstein&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1657" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --[[[cog cog.outl(&quot;Defined fooey as &quot; + fooey) ]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1658" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Defined fooey as e=mc2</span><span class="strut">&nbsp;</span></p>
+<p id="t1659" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1660" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1661" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
+<p id="t1662" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1663" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1664" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-D&#39;</span><span class="op">,</span> <span class="str">&#39;fooey=kablooey&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1665" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.kablooey&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1666" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1667" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-Dfooey=kablooey&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1668" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.kablooey&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1669" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1670" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-Dfooey=e=mc2&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1671" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.einstein&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1672" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1673" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-Dbar=quux&#39;</span><span class="op">,</span> <span class="str">&#39;-Dfooey=kablooey&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1674" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.kablooey&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1675" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1676" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-Dfooey=kablooey&#39;</span><span class="op">,</span> <span class="str">&#39;-Dbar=quux&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1677" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.kablooey&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1678" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1679" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-Dfooey=gooey&#39;</span><span class="op">,</span> <span class="str">&#39;-Dfooey=kablooey&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1680" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.kablooey&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1681" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1682" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testOutputToStdout</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1683" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t1684" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;test.cog&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1685" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --[[[cog cog.outl(&#39;Hey there!&#39;) ]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1686" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1687" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t1688" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
+<p id="t1689" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1690" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1691" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">stderr</span> <span class="op">=</span> <span class="nam">StringIO</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1692" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">setOutput</span><span class="op">(</span><span class="nam">stderr</span><span class="op">=</span><span class="nam">stderr</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1693" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1694" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">output</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">output</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1695" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">outerr</span> <span class="op">=</span> <span class="nam">stderr</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1696" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">output</span><span class="op">,</span> <span class="str">&quot;--[[[cog cog.outl(&#39;Hey there!&#39;) ]]]\nHey there!\n--[[[end]]]\n&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1697" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">outerr</span><span class="op">,</span> <span class="str">&quot;&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1698" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1699" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testReadFromStdin</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1700" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">stdin</span> <span class="op">=</span> <span class="nam">StringIO</span><span class="op">(</span><span class="str">&quot;--[[[cog cog.outl(&#39;Wow&#39;) ]]]\n--[[[end]]]\n&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1701" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">def</span> <span class="nam">restore_stdin</span><span class="op">(</span><span class="nam">old_stdin</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1702" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">sys</span><span class="op">.</span><span class="nam">stdin</span> <span class="op">=</span> <span class="nam">old_stdin</span><span class="strut">&nbsp;</span></p>
+<p id="t1703" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">addCleanup</span><span class="op">(</span><span class="nam">restore_stdin</span><span class="op">,</span> <span class="nam">sys</span><span class="op">.</span><span class="nam">stdin</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1704" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">sys</span><span class="op">.</span><span class="nam">stdin</span> <span class="op">=</span> <span class="nam">stdin</span><span class="strut">&nbsp;</span></p>
+<p id="t1705" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1706" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">stderr</span> <span class="op">=</span> <span class="nam">StringIO</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1707" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">setOutput</span><span class="op">(</span><span class="nam">stderr</span><span class="op">=</span><span class="nam">stderr</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1708" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1709" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">output</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">output</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1710" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">outerr</span> <span class="op">=</span> <span class="nam">stderr</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1711" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">output</span><span class="op">,</span> <span class="str">&quot;--[[[cog cog.outl(&#39;Wow&#39;) ]]]\nWow\n--[[[end]]]\n&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1712" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">outerr</span><span class="op">,</span> <span class="str">&quot;&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1713" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1714" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1715" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testSuffixOutputLines</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1716" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t1717" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;test.cog&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1718" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Hey there.</span><span class="strut">&nbsp;</span></p>
+<p id="t1719" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ;[[[cog cog.outl(&#39;a\\nb\\n&nbsp;&nbsp; \\nc&#39;) ]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1720" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ;[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1721" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Good bye.</span><span class="strut">&nbsp;</span></p>
+<p id="t1722" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1723" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1724" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;test.out&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1725" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Hey there.</span><span class="strut">&nbsp;</span></p>
+<p id="t1726" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ;[[[cog cog.outl(&#39;a\\nb\\n&nbsp;&nbsp; \\nc&#39;) ]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1727" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; a (foo)</span><span class="strut">&nbsp;</span></p>
+<p id="t1728" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; b (foo)</span><span class="strut">&nbsp;</span></p>
+<p id="t1729" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &quot;&quot;&quot;</span>&nbsp; <span class="com"># These three trailing spaces are important.</span><span class="strut">&nbsp;</span></p>
+<p id="t1730" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># The suffix is not applied to completely blank lines.</span><span class="strut">&nbsp;</span></p>
+<p id="t1731" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t1732" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; c (foo)</span><span class="strut">&nbsp;</span></p>
+<p id="t1733" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ;[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1734" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Good bye.</span><span class="strut">&nbsp;</span></p>
+<p id="t1735" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1736" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
+<p id="t1737" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1738" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1739" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-s&#39;</span><span class="op">,</span> <span class="str">&#39; (foo)&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1740" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1741" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1742" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testEmptySuffix</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1743" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t1744" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;test.cog&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1745" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ;[[[cog cog.outl(&#39;a\\nb\\nc&#39;) ]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1746" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ;[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1747" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1748" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1749" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;test.out&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1750" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ;[[[cog cog.outl(&#39;a\\nb\\nc&#39;) ]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1751" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; a</span><span class="strut">&nbsp;</span></p>
+<p id="t1752" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; b</span><span class="strut">&nbsp;</span></p>
+<p id="t1753" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; c</span><span class="strut">&nbsp;</span></p>
+<p id="t1754" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ;[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1755" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1756" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
+<p id="t1757" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1758" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1759" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-s&#39;</span><span class="op">,</span> <span class="str">&#39;&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1760" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1761" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1762" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testHellishSuffix</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1763" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t1764" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;test.cog&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1765" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ;[[[cog cog.outl(&#39;a\\n\\nb&#39;) ]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1766" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1767" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1768" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;test.out&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1769" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ;[[[cog cog.outl(&#39;a\\n\\nb&#39;) ]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1770" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; a /\\n*+([)]&gt;&lt;</span><span class="strut">&nbsp;</span></p>
+<p id="t1771" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1772" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; b /\\n*+([)]&gt;&lt;</span><span class="strut">&nbsp;</span></p>
+<p id="t1773" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1774" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
+<p id="t1775" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1776" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1777" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-z&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-s&#39;</span><span class="op">,</span> <span class="str">r&#39; /\n*+([)]&gt;&lt;&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1778" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1779" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1780" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1781" class="stm run hide_run"><span class="key">class</span> <span class="nam">WritabilityTests</span><span class="op">(</span><span class="nam">TestCaseWithTempDir</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1782" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1783" class="stm run hide_run">&nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t1784" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;test.cog&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1785" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1786" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for fn in [&#39;DoSomething&#39;, &#39;DoAnotherThing&#39;, &#39;DoLastThing&#39;]:</span><span class="strut">&nbsp;</span></p>
+<p id="t1787" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;void %s();&quot; % fn)</span><span class="strut">&nbsp;</span></p>
+<p id="t1788" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1789" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1790" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1791" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1792" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;test.out&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1793" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1794" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for fn in [&#39;DoSomething&#39;, &#39;DoAnotherThing&#39;, &#39;DoLastThing&#39;]:</span><span class="strut">&nbsp;</span></p>
+<p id="t1795" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;void %s();&quot; % fn)</span><span class="strut">&nbsp;</span></p>
+<p id="t1796" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1797" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; void DoSomething();</span><span class="strut">&nbsp;</span></p>
+<p id="t1798" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; void DoAnotherThing();</span><span class="strut">&nbsp;</span></p>
+<p id="t1799" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; void DoLastThing();</span><span class="strut">&nbsp;</span></p>
+<p id="t1800" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1801" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1802" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
+<p id="t1803" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1804" class="exc">&nbsp; &nbsp; <span class="key">if</span> <span class="nam">os</span><span class="op">.</span><span class="nam">name</span> <span class="op">==</span> <span class="str">&#39;nt&#39;</span><span class="op">:</span>&nbsp; &nbsp;&nbsp; <span class="com">#pragma: no cover</span><span class="strut">&nbsp;</span></p>
+<p id="t1805" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># for Windows</span><span class="strut">&nbsp;</span></p>
+<p id="t1806" class="exc">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">cmd_w_args</span> <span class="op">=</span> <span class="str">&#39;attrib -R %s&#39;</span><span class="strut">&nbsp;</span></p>
+<p id="t1807" class="exc">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">cmd_w_asterisk</span> <span class="op">=</span> <span class="str">&#39;attrib -R *&#39;</span><span class="strut">&nbsp;</span></p>
+<p id="t1808" class="exc">&nbsp; &nbsp; <span class="key">else</span><span class="op">:</span>&nbsp;&nbsp; <span class="com">#pragma: no cover</span><span class="strut">&nbsp;</span></p>
+<p id="t1809" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># for unix-like</span><span class="strut">&nbsp;</span></p>
+<p id="t1810" class="exc">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">cmd_w_args</span> <span class="op">=</span> <span class="str">&#39;chmod +w %s&#39;</span><span class="strut">&nbsp;</span></p>
+<p id="t1811" class="exc">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">cmd_w_asterisk</span> <span class="op">=</span> <span class="str">&#39;chmod +w *&#39;</span><span class="strut">&nbsp;</span></p>
+<p id="t1812" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1813" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">setUp</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1814" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">TestCaseWithTempDir</span><span class="op">.</span><span class="nam">setUp</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1815" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1816" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">testcog</span> <span class="op">=</span> <span class="nam">os</span><span class="op">.</span><span class="nam">path</span><span class="op">.</span><span class="nam">join</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">tempdir</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1817" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">os</span><span class="op">.</span><span class="nam">chmod</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">testcog</span><span class="op">,</span> <span class="nam">stat</span><span class="op">.</span><span class="nam">S_IREAD</span><span class="op">)</span>&nbsp;&nbsp; <span class="com"># Make the file readonly.</span><span class="strut">&nbsp;</span></p>
+<p id="t1818" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">assert</span> <span class="key">not</span> <span class="nam">os</span><span class="op">.</span><span class="nam">access</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">testcog</span><span class="op">,</span> <span class="nam">os</span><span class="op">.</span><span class="nam">W_OK</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1819" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1820" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">tearDown</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1821" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">os</span><span class="op">.</span><span class="nam">chmod</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">testcog</span><span class="op">,</span> <span class="nam">stat</span><span class="op">.</span><span class="nam">S_IWRITE</span><span class="op">)</span>&nbsp;&nbsp; <span class="com"># Make the file writable again.</span><span class="strut">&nbsp;</span></p>
+<p id="t1822" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">TestCaseWithTempDir</span><span class="op">.</span><span class="nam">tearDown</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1823" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1824" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testReadonlyNoCommand</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1825" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaisesRegexp</span><span class="op">(</span><span class="nam">CogError</span><span class="op">,</span> <span class="str">&quot;Can&#39;t overwrite test.cog&quot;</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1826" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1827" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">assert</span> <span class="key">not</span> <span class="nam">os</span><span class="op">.</span><span class="nam">access</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">testcog</span><span class="op">,</span> <span class="nam">os</span><span class="op">.</span><span class="nam">W_OK</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1828" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1829" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testReadonlyWithCommand</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1830" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-w&#39;</span><span class="op">,</span> <span class="nam">self</span><span class="op">.</span><span class="nam">cmd_w_args</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1831" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1832" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">assert</span> <span class="nam">os</span><span class="op">.</span><span class="nam">access</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">testcog</span><span class="op">,</span> <span class="nam">os</span><span class="op">.</span><span class="nam">W_OK</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1833" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1834" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testReadonlyWithCommandWithNoSlot</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1835" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-w&#39;</span><span class="op">,</span> <span class="nam">self</span><span class="op">.</span><span class="nam">cmd_w_asterisk</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1836" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1837" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">assert</span> <span class="nam">os</span><span class="op">.</span><span class="nam">access</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">testcog</span><span class="op">,</span> <span class="nam">os</span><span class="op">.</span><span class="nam">W_OK</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1838" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1839" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testReadonlyWithIneffectualCommand</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1840" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaisesRegexp</span><span class="op">(</span><span class="nam">CogError</span><span class="op">,</span> <span class="str">&quot;Couldn&#39;t make test.cog writable&quot;</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1841" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-w&#39;</span><span class="op">,</span> <span class="str">&#39;echo %s&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1842" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">assert</span> <span class="key">not</span> <span class="nam">os</span><span class="op">.</span><span class="nam">access</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">testcog</span><span class="op">,</span> <span class="nam">os</span><span class="op">.</span><span class="nam">W_OK</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1843" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1844" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1845" class="stm run hide_run"><span class="key">class</span> <span class="nam">ChecksumTests</span><span class="op">(</span><span class="nam">TestCaseWithTempDir</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1846" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1847" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testCreateChecksumOutput</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1848" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t1849" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;cog1.txt&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1850" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1851" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;This line was generated.&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t1852" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1853" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This line was generated.</span><span class="strut">&nbsp;</span></p>
+<p id="t1854" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1855" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This line was not.</span><span class="strut">&nbsp;</span></p>
+<p id="t1856" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1857" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1858" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;cog1.out&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1859" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1860" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;This line was generated.&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t1861" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1862" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This line was generated.</span><span class="strut">&nbsp;</span></p>
+<p id="t1863" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]] (checksum: 8adb13fb59b996a1c7f0065ea9f3d893)</span><span class="strut">&nbsp;</span></p>
+<p id="t1864" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This line was not.</span><span class="strut">&nbsp;</span></p>
+<p id="t1865" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1866" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
+<p id="t1867" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1868" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1869" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-c&#39;</span><span class="op">,</span> <span class="str">&#39;cog1.txt&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1870" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;cog1.txt&#39;</span><span class="op">,</span> <span class="str">&#39;cog1.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1871" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1872" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testCheckChecksumOutput</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1873" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t1874" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;cog1.txt&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1875" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1876" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;This line was newly&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t1877" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;generated by cog&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t1878" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;blah blah.&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t1879" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1880" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This line was generated.</span><span class="strut">&nbsp;</span></p>
+<p id="t1881" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]] (checksum: 8adb13fb59b996a1c7f0065ea9f3d893)</span><span class="strut">&nbsp;</span></p>
+<p id="t1882" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1883" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1884" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;cog1.out&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1885" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1886" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;This line was newly&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t1887" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;generated by cog&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t1888" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;blah blah.&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t1889" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1890" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This line was newly</span><span class="strut">&nbsp;</span></p>
+<p id="t1891" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; generated by cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1892" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; blah blah.</span><span class="strut">&nbsp;</span></p>
+<p id="t1893" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]] (checksum: a8540982e5ad6b95c9e9a184b26f4346)</span><span class="strut">&nbsp;</span></p>
+<p id="t1894" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1895" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
+<p id="t1896" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1897" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1898" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-c&#39;</span><span class="op">,</span> <span class="str">&#39;cog1.txt&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1899" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;cog1.txt&#39;</span><span class="op">,</span> <span class="str">&#39;cog1.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1900" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1901" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testRemoveChecksumOutput</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1902" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t1903" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;cog1.txt&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1904" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1905" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;This line was newly&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t1906" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;generated by cog&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t1907" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;blah blah.&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t1908" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1909" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This line was generated.</span><span class="strut">&nbsp;</span></p>
+<p id="t1910" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]] (checksum: 8adb13fb59b996a1c7f0065ea9f3d893) fooey</span><span class="strut">&nbsp;</span></p>
+<p id="t1911" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1912" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1913" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;cog1.out&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1914" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1915" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;This line was newly&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t1916" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;generated by cog&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t1917" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;blah blah.&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t1918" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1919" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This line was newly</span><span class="strut">&nbsp;</span></p>
+<p id="t1920" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; generated by cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1921" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; blah blah.</span><span class="strut">&nbsp;</span></p>
+<p id="t1922" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]] fooey</span><span class="strut">&nbsp;</span></p>
+<p id="t1923" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1924" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
+<p id="t1925" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1926" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1927" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;cog1.txt&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1928" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;cog1.txt&#39;</span><span class="op">,</span> <span class="str">&#39;cog1.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1929" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1930" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testTamperedChecksumOutput</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1931" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t1932" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;cog1.txt&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1933" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1934" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;This line was newly&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t1935" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;generated by cog&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t1936" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;blah blah.&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t1937" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1938" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Xhis line was newly</span><span class="strut">&nbsp;</span></p>
+<p id="t1939" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; generated by cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1940" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; blah blah.</span><span class="strut">&nbsp;</span></p>
+<p id="t1941" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]] (checksum: a8540982e5ad6b95c9e9a184b26f4346)</span><span class="strut">&nbsp;</span></p>
+<p id="t1942" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1943" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1944" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;cog2.txt&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1945" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1946" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;This line was newly&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t1947" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;generated by cog&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t1948" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;blah blah.&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t1949" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1950" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This line was newly</span><span class="strut">&nbsp;</span></p>
+<p id="t1951" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; generated by cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1952" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; blah blah!</span><span class="strut">&nbsp;</span></p>
+<p id="t1953" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]] (checksum: a8540982e5ad6b95c9e9a184b26f4346)</span><span class="strut">&nbsp;</span></p>
+<p id="t1954" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1955" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1956" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;cog3.txt&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1957" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1958" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;This line was newly&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t1959" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;generated by cog&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t1960" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;blah blah.&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t1961" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1962" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1963" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This line was newly</span><span class="strut">&nbsp;</span></p>
+<p id="t1964" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; generated by cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1965" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; blah blah.</span><span class="strut">&nbsp;</span></p>
+<p id="t1966" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]] (checksum: a8540982e5ad6b95c9e9a184b26f4346)</span><span class="strut">&nbsp;</span></p>
+<p id="t1967" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1968" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1969" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;cog4.txt&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1970" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1971" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;This line was newly&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t1972" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;generated by cog&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t1973" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;blah blah.&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t1974" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1975" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This line was newly</span><span class="strut">&nbsp;</span></p>
+<p id="t1976" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; generated by cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1977" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; blah blah..</span><span class="strut">&nbsp;</span></p>
+<p id="t1978" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]] (checksum: a8540982e5ad6b95c9e9a184b26f4346)</span><span class="strut">&nbsp;</span></p>
+<p id="t1979" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1980" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1981" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;cog5.txt&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1982" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1983" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;This line was newly&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t1984" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;generated by cog&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t1985" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;blah blah.&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t1986" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t1987" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This line was newly</span><span class="strut">&nbsp;</span></p>
+<p id="t1988" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; generated by cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1989" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; blah blah.</span><span class="strut">&nbsp;</span></p>
+<p id="t1990" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; extra</span><span class="strut">&nbsp;</span></p>
+<p id="t1991" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]] (checksum: a8540982e5ad6b95c9e9a184b26f4346)</span><span class="strut">&nbsp;</span></p>
+<p id="t1992" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t1993" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t1994" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;cog6.txt&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1995" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t1996" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;This line was newly&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t1997" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;generated by cog&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t1998" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;blah blah.&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t1999" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t2000" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]] (checksum: a8540982e5ad6b95c9e9a184b26f4346)</span><span class="strut">&nbsp;</span></p>
+<p id="t2001" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t2002" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
+<p id="t2003" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t2004" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2005" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaisesRegexp</span><span class="op">(</span><span class="nam">CogError</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t2006" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">r&quot;cog1.txt\(9\): Output has been edited! Delete old checksum to unprotect.&quot;</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t2007" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-c&#39;</span><span class="op">,</span> <span class="str">&quot;cog1.txt&quot;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2008" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaisesRegexp</span><span class="op">(</span><span class="nam">CogError</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t2009" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">r&quot;cog2.txt\(9\): Output has been edited! Delete old checksum to unprotect.&quot;</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t2010" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-c&#39;</span><span class="op">,</span> <span class="str">&quot;cog2.txt&quot;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2011" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaisesRegexp</span><span class="op">(</span><span class="nam">CogError</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t2012" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">r&quot;cog3.txt\(10\): Output has been edited! Delete old checksum to unprotect.&quot;</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t2013" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-c&#39;</span><span class="op">,</span> <span class="str">&quot;cog3.txt&quot;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2014" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaisesRegexp</span><span class="op">(</span><span class="nam">CogError</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t2015" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">r&quot;cog4.txt\(9\): Output has been edited! Delete old checksum to unprotect.&quot;</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t2016" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-c&#39;</span><span class="op">,</span> <span class="str">&quot;cog4.txt&quot;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2017" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaisesRegexp</span><span class="op">(</span><span class="nam">CogError</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t2018" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">r&quot;cog5.txt\(10\): Output has been edited! Delete old checksum to unprotect.&quot;</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t2019" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-c&#39;</span><span class="op">,</span> <span class="str">&quot;cog5.txt&quot;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2020" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaisesRegexp</span><span class="op">(</span><span class="nam">CogError</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t2021" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">r&quot;cog6.txt\(6\): Output has been edited! Delete old checksum to unprotect.&quot;</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t2022" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-c&#39;</span><span class="op">,</span> <span class="str">&quot;cog6.txt&quot;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2023" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t2024" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testArgvIsntModified</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t2025" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">argv</span> <span class="op">=</span> <span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-v&#39;</span><span class="op">]</span><span class="strut">&nbsp;</span></p>
+<p id="t2026" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">orig_argv</span> <span class="op">=</span> <span class="nam">argv</span><span class="op">[</span><span class="op">:</span><span class="op">]</span><span class="strut">&nbsp;</span></p>
+<p id="t2027" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="nam">argv</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2028" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">argv</span><span class="op">,</span> <span class="nam">orig_argv</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2029" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t2030" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t2031" class="stm run hide_run"><span class="key">class</span> <span class="nam">CustomMarkerTests</span><span class="op">(</span><span class="nam">TestCaseWithTempDir</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t2032" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t2033" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testCustomerMarkers</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t2034" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t2035" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;test.cog&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t2036" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //{{</span><span class="strut">&nbsp;</span></p>
+<p id="t2037" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;void %s();&quot; % &quot;MyFunction&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t2038" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //}}</span><span class="strut">&nbsp;</span></p>
+<p id="t2039" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //{{end}}</span><span class="strut">&nbsp;</span></p>
+<p id="t2040" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t2041" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t2042" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;test.out&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t2043" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //{{</span><span class="strut">&nbsp;</span></p>
+<p id="t2044" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;void %s();&quot; % &quot;MyFunction&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t2045" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //}}</span><span class="strut">&nbsp;</span></p>
+<p id="t2046" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; void MyFunction();</span><span class="strut">&nbsp;</span></p>
+<p id="t2047" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //{{end}}</span><span class="strut">&nbsp;</span></p>
+<p id="t2048" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t2049" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
+<p id="t2050" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t2051" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2052" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="strut">&nbsp;</span></p>
+<p id="t2053" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t2054" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;--markers={{ }} {{end}}&#39;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t2055" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;test.cog&#39;</span><span class="strut">&nbsp;</span></p>
+<p id="t2056" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2057" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2058" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t2059" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testTrulyWackyMarkers</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t2060" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Make sure the markers are properly re-escaped.</span><span class="strut">&nbsp;</span></p>
+<p id="t2061" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t2062" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;test.cog&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t2063" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //**(</span><span class="strut">&nbsp;</span></p>
+<p id="t2064" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;void %s();&quot; % &quot;MyFunction&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t2065" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //**)</span><span class="strut">&nbsp;</span></p>
+<p id="t2066" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //**(end)**</span><span class="strut">&nbsp;</span></p>
+<p id="t2067" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t2068" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t2069" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;test.out&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t2070" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //**(</span><span class="strut">&nbsp;</span></p>
+<p id="t2071" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;void %s();&quot; % &quot;MyFunction&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t2072" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //**)</span><span class="strut">&nbsp;</span></p>
+<p id="t2073" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; void MyFunction();</span><span class="strut">&nbsp;</span></p>
+<p id="t2074" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //**(end)**</span><span class="strut">&nbsp;</span></p>
+<p id="t2075" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t2076" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
+<p id="t2077" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t2078" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2079" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="strut">&nbsp;</span></p>
+<p id="t2080" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t2081" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;--markers=**( **) **(end)**&#39;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t2082" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;test.cog&#39;</span><span class="strut">&nbsp;</span></p>
+<p id="t2083" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2084" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2085" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t2086" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testChangeJustOneMarker</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t2087" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t2088" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;test.cog&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t2089" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //**(</span><span class="strut">&nbsp;</span></p>
+<p id="t2090" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;void %s();&quot; % &quot;MyFunction&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t2091" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t2092" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t2093" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t2094" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t2095" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;test.out&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t2096" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //**(</span><span class="strut">&nbsp;</span></p>
+<p id="t2097" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;void %s();&quot; % &quot;MyFunction&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t2098" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t2099" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; void MyFunction();</span><span class="strut">&nbsp;</span></p>
+<p id="t2100" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t2101" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t2102" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
+<p id="t2103" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t2104" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2105" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="strut">&nbsp;</span></p>
+<p id="t2106" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t2107" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;--markers=**( ]]] [[[end]]]&#39;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t2108" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;test.cog&#39;</span><span class="strut">&nbsp;</span></p>
+<p id="t2109" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2110" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2111" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t2112" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t2113" class="stm run hide_run"><span class="key">class</span> <span class="nam">BlakeTests</span><span class="op">(</span><span class="nam">TestCaseWithTempDir</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t2114" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t2115" class="pln">&nbsp; &nbsp; <span class="com"># Blake Winton&#39;s contributions.</span><span class="strut">&nbsp;</span></p>
+<p id="t2116" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testDeleteCode</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t2117" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># -o sets the output file.</span><span class="strut">&nbsp;</span></p>
+<p id="t2118" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t2119" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;test.cog&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t2120" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // This is my C++ file.</span><span class="strut">&nbsp;</span></p>
+<p id="t2121" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t2122" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fnames = [&#39;DoSomething&#39;, &#39;DoAnotherThing&#39;, &#39;DoLastThing&#39;]</span><span class="strut">&nbsp;</span></p>
+<p id="t2123" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for fn in fnames:</span><span class="strut">&nbsp;</span></p>
+<p id="t2124" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;void %s();&quot; % fn)</span><span class="strut">&nbsp;</span></p>
+<p id="t2125" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t2126" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Some Sample Code Here</span><span class="strut">&nbsp;</span></p>
+<p id="t2127" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]Data Data</span><span class="strut">&nbsp;</span></p>
+<p id="t2128" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; And Some More</span><span class="strut">&nbsp;</span></p>
+<p id="t2129" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t2130" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t2131" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;test.out&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t2132" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // This is my C++ file.</span><span class="strut">&nbsp;</span></p>
+<p id="t2133" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; void DoSomething();</span><span class="strut">&nbsp;</span></p>
+<p id="t2134" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; void DoAnotherThing();</span><span class="strut">&nbsp;</span></p>
+<p id="t2135" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; void DoLastThing();</span><span class="strut">&nbsp;</span></p>
+<p id="t2136" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; And Some More</span><span class="strut">&nbsp;</span></p>
+<p id="t2137" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t2138" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
+<p id="t2139" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t2140" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2141" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-d&#39;</span><span class="op">,</span> <span class="str">&#39;-o&#39;</span><span class="op">,</span> <span class="str">&#39;test.cogged&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2142" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cogged&#39;</span><span class="op">,</span> <span class="str">&#39;test.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2143" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t2144" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testDeleteCodeWithDashRFails</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t2145" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t2146" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;test.cog&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t2147" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // This is my C++ file.</span><span class="strut">&nbsp;</span></p>
+<p id="t2148" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t2149" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
+<p id="t2150" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t2151" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2152" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaises</span><span class="op">(</span><span class="nam">CogUsageError</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t2153" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-d&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2154" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t2155" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testSettingGlobals</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t2156" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Blake Winton contributed a way to set the globals that will be used in</span><span class="strut">&nbsp;</span></p>
+<p id="t2157" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># processFile().</span><span class="strut">&nbsp;</span></p>
+<p id="t2158" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t2159" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;test.cog&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t2160" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // This is my C++ file.</span><span class="strut">&nbsp;</span></p>
+<p id="t2161" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t2162" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for fn in fnames:</span><span class="strut">&nbsp;</span></p>
+<p id="t2163" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;void %s();&quot; % fn)</span><span class="strut">&nbsp;</span></p>
+<p id="t2164" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t2165" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Some Sample Code Here</span><span class="strut">&nbsp;</span></p>
+<p id="t2166" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]&quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t2167" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t2168" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;test.out&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t2169" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // This is my C++ file.</span><span class="strut">&nbsp;</span></p>
+<p id="t2170" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; void DoBlake();</span><span class="strut">&nbsp;</span></p>
+<p id="t2171" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; void DoWinton();</span><span class="strut">&nbsp;</span></p>
+<p id="t2172" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; void DoContribution();</span><span class="strut">&nbsp;</span></p>
+<p id="t2173" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t2174" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
+<p id="t2175" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t2176" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2177" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">globals</span> <span class="op">=</span> <span class="op">{</span><span class="op">}</span><span class="strut">&nbsp;</span></p>
+<p id="t2178" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">globals</span><span class="op">[</span><span class="str">&#39;fnames&#39;</span><span class="op">]</span> <span class="op">=</span> <span class="op">[</span><span class="str">&#39;DoBlake&#39;</span><span class="op">,</span> <span class="str">&#39;DoWinton&#39;</span><span class="op">,</span> <span class="str">&#39;DoContribution&#39;</span><span class="op">]</span><span class="strut">&nbsp;</span></p>
+<p id="t2179" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">bDeleteCode</span> <span class="op">=</span> <span class="nam">True</span><span class="strut">&nbsp;</span></p>
+<p id="t2180" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">processFile</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.cogged&#39;</span><span class="op">,</span> <span class="nam">globals</span><span class="op">=</span><span class="nam">globals</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2181" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cogged&#39;</span><span class="op">,</span> <span class="str">&#39;test.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2182" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t2183" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t2184" class="stm run hide_run"><span class="key">class</span> <span class="nam">ErrorCallTests</span><span class="op">(</span><span class="nam">TestCaseWithTempDir</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t2185" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t2186" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testErrorCallHasNoTraceback</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t2187" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Test that cog.error() doesn&#39;t show a traceback.</span><span class="strut">&nbsp;</span></p>
+<p id="t2188" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t2189" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;error.cog&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t2190" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t2191" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.error(&quot;Something Bad!&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t2192" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t2193" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t2194" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t2195" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
+<p id="t2196" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t2197" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2198" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">main</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;error.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2199" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">output</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">output</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2200" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">output</span><span class="op">,</span> <span class="str">&quot;Cogging error.cog\nError: Something Bad!\n&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2201" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t2202" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testRealErrorHasTraceback</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t2203" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Test that a genuine error does show a traceback.</span><span class="strut">&nbsp;</span></p>
+<p id="t2204" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t2205" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;error.cog&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t2206" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
+<p id="t2207" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; raise RuntimeError(&quot;Hey!&quot;)</span><span class="strut">&nbsp;</span></p>
+<p id="t2208" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t2209" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class="strut">&nbsp;</span></p>
+<p id="t2210" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t2211" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
+<p id="t2212" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t2213" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2214" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">main</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;error.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2215" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">output</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">output</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2216" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">msg</span> <span class="op">=</span> <span class="str">&#39;Actual output:\n&#39;</span> <span class="op">+</span> <span class="nam">output</span><span class="strut">&nbsp;</span></p>
+<p id="t2217" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assert_</span><span class="op">(</span><span class="nam">output</span><span class="op">.</span><span class="nam">startswith</span><span class="op">(</span><span class="str">&quot;Cogging error.cog\nTraceback (most recent&quot;</span><span class="op">)</span><span class="op">,</span> <span class="nam">msg</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2218" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertIn</span><span class="op">(</span><span class="str">&quot;RuntimeError: Hey!&quot;</span><span class="op">,</span> <span class="nam">output</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2219" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t2220" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t2221" class="pln"><span class="com"># Things not yet tested:</span><span class="strut">&nbsp;</span></p>
+<p id="t2222" class="pln"><span class="com"># - A bad -w command (currently fails silently).</span><span class="strut">&nbsp;</span></p>
+
+ </td>
+ </tr>
+ </table>
+</div>
+
+<div id="footer">
+ <div class="content">
+ <p>
+ <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.org">coverage.py v4.0</a>,
+ created at 2015-09-20 10:28
+ </p>
+ </div>
+</div>
+
+</body>
+</html>
diff --git a/doc/sample_html/cogapp_test_makefiles.html b/doc/sample_html/cogapp_test_makefiles.html
deleted file mode 100644
index bb9ef2e6..00000000
--- a/doc/sample_html/cogapp_test_makefiles.html
+++ /dev/null
@@ -1,270 +0,0 @@
-<!doctype html PUBLIC "-//W3C//DTD html 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
- <meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
-
-
- <meta http-equiv='X-UA-Compatible' content='IE=emulateIE7' />
- <title>Coverage for cogapp/test_makefiles: 0%</title>
- <link rel='stylesheet' href='style.css' type='text/css'>
-
- <script type='text/javascript' src='jquery.min.js'></script>
- <script type='text/javascript' src='jquery.hotkeys.js'></script>
- <script type='text/javascript' src='jquery.isonscreen.js'></script>
- <script type='text/javascript' src='coverage_html.js'></script>
- <script type='text/javascript' charset='utf-8'>
- jQuery(document).ready(coverage.pyfile_ready);
- </script>
-</head>
-<body id='pyfile'>
-
-<div id='header'>
- <div class='content'>
- <h1>Coverage for <b>cogapp/test_makefiles</b> :
- <span class='pc_cov'>0%</span>
- </h1>
- <img id='keyboard_icon' src='keybd_closed.png'>
- <h2 class='stats'>
- 55 statements &nbsp;
- <span class='run hide_run shortkey_r button_toggle_run'>0 run</span>
- <span class='mis shortkey_m button_toggle_mis'>55 missing</span>
- <span class='exc shortkey_x button_toggle_exc'>2 excluded</span>
-
- <span class='par run hide_run shortkey_p button_toggle_par'>0 partial</span>
-
- </h2>
- </div>
-</div>
-
-<div class='help_panel'>
- <img id='panel_icon' src='keybd_open.png'>
-<p class='legend'>Hot-keys on this page</p>
- <div>
-<p class='keyhelp'>
- <span class='key'>r</span>
- <span class='key'>m</span>
- <span class='key'>x</span>
- <span class='key'>p</span> &nbsp; toggle line displays
- </p>
-<p class='keyhelp'>
- <span class='key'>j</span>
- <span class='key'>k</span> &nbsp; next/prev highlighted chunk
- </p>
-<p class='keyhelp'>
- <span class='key'>0</span> &nbsp; (zero) top of page
- </p>
-<p class='keyhelp'>
- <span class='key'>1</span> &nbsp; (one) first highlighted chunk
- </p>
- </div>
-</div>
-
-<div id='source'>
- <table cellspacing='0' cellpadding='0'>
- <tr>
- <td class='linenos' valign='top'>
-<p id='n1' class='pln'><a href='#n1'>1</a></p>
-<p id='n2' class='pln'><a href='#n2'>2</a></p>
-<p id='n3' class='pln'><a href='#n3'>3</a></p>
-<p id='n4' class='pln'><a href='#n4'>4</a></p>
-<p id='n5' class='pln'><a href='#n5'>5</a></p>
-<p id='n6' class='pln'><a href='#n6'>6</a></p>
-<p id='n7' class='stm mis'><a href='#n7'>7</a></p>
-<p id='n8' class='stm mis'><a href='#n8'>8</a></p>
-<p id='n9' class='stm mis'><a href='#n9'>9</a></p>
-<p id='n10' class='stm mis'><a href='#n10'>10</a></p>
-<p id='n11' class='pln'><a href='#n11'>11</a></p>
-<p id='n12' class='stm mis'><a href='#n12'>12</a></p>
-<p id='n13' class='pln'><a href='#n13'>13</a></p>
-<p id='n14' class='stm mis'><a href='#n14'>14</a></p>
-<p id='n15' class='pln'><a href='#n15'>15</a></p>
-<p id='n16' class='stm mis'><a href='#n16'>16</a></p>
-<p id='n17' class='stm mis'><a href='#n17'>17</a></p>
-<p id='n18' class='stm mis'><a href='#n18'>18</a></p>
-<p id='n19' class='pln'><a href='#n19'>19</a></p>
-<p id='n20' class='stm mis'><a href='#n20'>20</a></p>
-<p id='n21' class='pln'><a href='#n21'>21</a></p>
-<p id='n22' class='stm mis'><a href='#n22'>22</a></p>
-<p id='n23' class='pln'><a href='#n23'>23</a></p>
-<p id='n24' class='stm mis'><a href='#n24'>24</a></p>
-<p id='n25' class='stm mis'><a href='#n25'>25</a></p>
-<p id='n26' class='pln'><a href='#n26'>26</a></p>
-<p id='n27' class='stm mis'><a href='#n27'>27</a></p>
-<p id='n28' class='stm mis'><a href='#n28'>28</a></p>
-<p id='n29' class='stm mis'><a href='#n29'>29</a></p>
-<p id='n30' class='stm mis'><a href='#n30'>30</a></p>
-<p id='n31' class='stm mis'><a href='#n31'>31</a></p>
-<p id='n32' class='pln'><a href='#n32'>32</a></p>
-<p id='n33' class='stm mis'><a href='#n33'>33</a></p>
-<p id='n34' class='stm mis'><a href='#n34'>34</a></p>
-<p id='n35' class='stm mis'><a href='#n35'>35</a></p>
-<p id='n36' class='pln'><a href='#n36'>36</a></p>
-<p id='n37' class='stm mis'><a href='#n37'>37</a></p>
-<p id='n38' class='stm mis'><a href='#n38'>38</a></p>
-<p id='n39' class='stm mis'><a href='#n39'>39</a></p>
-<p id='n40' class='stm mis'><a href='#n40'>40</a></p>
-<p id='n41' class='stm mis'><a href='#n41'>41</a></p>
-<p id='n42' class='stm mis'><a href='#n42'>42</a></p>
-<p id='n43' class='pln'><a href='#n43'>43</a></p>
-<p id='n44' class='stm mis'><a href='#n44'>44</a></p>
-<p id='n45' class='stm mis'><a href='#n45'>45</a></p>
-<p id='n46' class='stm mis'><a href='#n46'>46</a></p>
-<p id='n47' class='pln'><a href='#n47'>47</a></p>
-<p id='n48' class='stm mis'><a href='#n48'>48</a></p>
-<p id='n49' class='stm mis'><a href='#n49'>49</a></p>
-<p id='n50' class='stm mis'><a href='#n50'>50</a></p>
-<p id='n51' class='pln'><a href='#n51'>51</a></p>
-<p id='n52' class='stm mis'><a href='#n52'>52</a></p>
-<p id='n53' class='stm mis'><a href='#n53'>53</a></p>
-<p id='n54' class='pln'><a href='#n54'>54</a></p>
-<p id='n55' class='pln'><a href='#n55'>55</a></p>
-<p id='n56' class='pln'><a href='#n56'>56</a></p>
-<p id='n57' class='pln'><a href='#n57'>57</a></p>
-<p id='n58' class='pln'><a href='#n58'>58</a></p>
-<p id='n59' class='pln'><a href='#n59'>59</a></p>
-<p id='n60' class='pln'><a href='#n60'>60</a></p>
-<p id='n61' class='pln'><a href='#n61'>61</a></p>
-<p id='n62' class='stm mis'><a href='#n62'>62</a></p>
-<p id='n63' class='stm mis'><a href='#n63'>63</a></p>
-<p id='n64' class='stm mis'><a href='#n64'>64</a></p>
-<p id='n65' class='stm mis'><a href='#n65'>65</a></p>
-<p id='n66' class='stm mis'><a href='#n66'>66</a></p>
-<p id='n67' class='pln'><a href='#n67'>67</a></p>
-<p id='n68' class='stm mis'><a href='#n68'>68</a></p>
-<p id='n69' class='stm mis'><a href='#n69'>69</a></p>
-<p id='n70' class='stm mis'><a href='#n70'>70</a></p>
-<p id='n71' class='stm mis'><a href='#n71'>71</a></p>
-<p id='n72' class='stm mis'><a href='#n72'>72</a></p>
-<p id='n73' class='stm mis'><a href='#n73'>73</a></p>
-<p id='n74' class='stm mis'><a href='#n74'>74</a></p>
-<p id='n75' class='stm mis'><a href='#n75'>75</a></p>
-<p id='n76' class='pln'><a href='#n76'>76</a></p>
-<p id='n77' class='stm mis'><a href='#n77'>77</a></p>
-<p id='n78' class='stm mis'><a href='#n78'>78</a></p>
-<p id='n79' class='stm mis'><a href='#n79'>79</a></p>
-<p id='n80' class='pln'><a href='#n80'>80</a></p>
-<p id='n81' class='pln'><a href='#n81'>81</a></p>
-<p id='n82' class='pln'><a href='#n82'>82</a></p>
-<p id='n83' class='pln'><a href='#n83'>83</a></p>
-<p id='n84' class='pln'><a href='#n84'>84</a></p>
-<p id='n85' class='pln'><a href='#n85'>85</a></p>
-<p id='n86' class='stm mis'><a href='#n86'>86</a></p>
-<p id='n87' class='stm mis'><a href='#n87'>87</a></p>
-<p id='n88' class='stm mis'><a href='#n88'>88</a></p>
-<p id='n89' class='stm mis'><a href='#n89'>89</a></p>
-<p id='n90' class='pln'><a href='#n90'>90</a></p>
-<p id='n91' class='pln'><a href='#n91'>91</a></p>
-<p id='n92' class='exc'><a href='#n92'>92</a></p>
-<p id='n93' class='exc'><a href='#n93'>93</a></p>
-
- </td>
- <td class='text' valign='top'>
-<p id='t1' class='pln'><span class='str'>&quot;&quot;&quot; Test the cogapp.makefiles modules</span><span class='strut'>&nbsp;</span></p>
-<p id='t2' class='pln'><span class='str'>&nbsp; &nbsp; http://nedbatchelder.com/code/cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t3' class='pln'><span class='str'>&nbsp; &nbsp; </span><span class='strut'>&nbsp;</span></p>
-<p id='t4' class='pln'><span class='str'>&nbsp; &nbsp; Copyright 2004-2012, Ned Batchelder.</span><span class='strut'>&nbsp;</span></p>
-<p id='t5' class='pln'><span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t6' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t7' class='stm mis'><span class='key'>from</span> <span class='nam'>__future__</span> <span class='key'>import</span> <span class='nam'>absolute_import</span><span class='strut'>&nbsp;</span></p>
-<p id='t8' class='stm mis'><span class='key'>import</span> <span class='nam'>unittest</span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class='com'># This is a unittest, so this is fundamental.</span><span class='strut'>&nbsp;</span></p>
-<p id='t9' class='stm mis'><span class='key'>import</span> <span class='nam'>shutil</span><span class='op'>,</span> <span class='nam'>os</span><span class='op'>,</span> <span class='nam'>random</span><span class='op'>,</span> <span class='nam'>types</span><span class='op'>,</span> <span class='nam'>tempfile</span>&nbsp; &nbsp; <span class='com'># We need these modules to write the tests.</span><span class='strut'>&nbsp;</span></p>
-<p id='t10' class='stm mis'><span class='key'>from</span> <span class='op'>.</span> <span class='key'>import</span> <span class='nam'>makefiles</span><span class='strut'>&nbsp;</span></p>
-<p id='t11' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t12' class='stm mis'><span class='key'>class</span> <span class='nam'>SimpleTests</span><span class='op'>(</span><span class='nam'>unittest</span><span class='op'>.</span><span class='nam'>TestCase</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t13' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t14' class='stm mis'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>setUp</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t15' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Create a temporary directory.</span><span class='strut'>&nbsp;</span></p>
-<p id='t16' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>my_dir</span> <span class='op'>=</span> <span class='str'>&#39;testmakefiles_tempdir_&#39;</span> <span class='op'>+</span> <span class='nam'>str</span><span class='op'>(</span><span class='nam'>random</span><span class='op'>.</span><span class='nam'>random</span><span class='op'>(</span><span class='op'>)</span><span class='op'>)</span><span class='op'>[</span><span class='num'>2</span><span class='op'>:</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t17' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>tempdir</span> <span class='op'>=</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>join</span><span class='op'>(</span><span class='nam'>tempfile</span><span class='op'>.</span><span class='nam'>gettempdir</span><span class='op'>(</span><span class='op'>)</span><span class='op'>,</span> <span class='nam'>my_dir</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t18' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>os</span><span class='op'>.</span><span class='nam'>mkdir</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>tempdir</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t19' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t20' class='stm mis'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>tearDown</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t21' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Get rid of the temporary directory.</span><span class='strut'>&nbsp;</span></p>
-<p id='t22' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>shutil</span><span class='op'>.</span><span class='nam'>rmtree</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>tempdir</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t23' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t24' class='stm mis'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>exists</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>dname</span><span class='op'>,</span> <span class='nam'>fname</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t25' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>exists</span><span class='op'>(</span><span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>join</span><span class='op'>(</span><span class='nam'>dname</span><span class='op'>,</span> <span class='nam'>fname</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t26' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t27' class='stm mis'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>checkFilesExist</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>d</span><span class='op'>,</span> <span class='nam'>dname</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t28' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>fname</span> <span class='key'>in</span> <span class='nam'>d</span><span class='op'>.</span><span class='nam'>keys</span><span class='op'>(</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t29' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>assert</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>exists</span><span class='op'>(</span><span class='nam'>dname</span><span class='op'>,</span> <span class='nam'>fname</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t30' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>type</span><span class='op'>(</span><span class='nam'>d</span><span class='op'>[</span><span class='nam'>fname</span><span class='op'>]</span><span class='op'>)</span> <span class='op'>==</span> <span class='nam'>type</span><span class='op'>(</span><span class='op'>{</span><span class='op'>}</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t31' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>checkFilesExist</span><span class='op'>(</span><span class='nam'>d</span><span class='op'>[</span><span class='nam'>fname</span><span class='op'>]</span><span class='op'>,</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>join</span><span class='op'>(</span><span class='nam'>dname</span><span class='op'>,</span> <span class='nam'>fname</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t32' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t33' class='stm mis'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>checkFilesDontExist</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>d</span><span class='op'>,</span> <span class='nam'>dname</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t34' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>fname</span> <span class='key'>in</span> <span class='nam'>d</span><span class='op'>.</span><span class='nam'>keys</span><span class='op'>(</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t35' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>assert</span><span class='op'>(</span><span class='key'>not</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>exists</span><span class='op'>(</span><span class='nam'>dname</span><span class='op'>,</span> <span class='nam'>fname</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t36' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t37' class='stm mis'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testOneFile</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t38' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>fname</span> <span class='op'>=</span> <span class='str'>&#39;foo.txt&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t39' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>notfname</span> <span class='op'>=</span> <span class='str'>&#39;not_here.txt&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t40' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>d</span> <span class='op'>=</span> <span class='op'>{</span> <span class='nam'>fname</span><span class='op'>:</span> <span class='str'>&quot;howdy&quot;</span> <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t41' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>assert</span><span class='op'>(</span><span class='key'>not</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>exists</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>tempdir</span><span class='op'>,</span> <span class='nam'>fname</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t42' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>assert</span><span class='op'>(</span><span class='key'>not</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>exists</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>tempdir</span><span class='op'>,</span> <span class='nam'>notfname</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t43' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t44' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>makefiles</span><span class='op'>.</span><span class='nam'>makeFiles</span><span class='op'>(</span><span class='nam'>d</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>tempdir</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t45' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>assert</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>exists</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>tempdir</span><span class='op'>,</span> <span class='nam'>fname</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t46' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>assert</span><span class='op'>(</span><span class='key'>not</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>exists</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>tempdir</span><span class='op'>,</span> <span class='nam'>notfname</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t47' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t48' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>makefiles</span><span class='op'>.</span><span class='nam'>removeFiles</span><span class='op'>(</span><span class='nam'>d</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>tempdir</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t49' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>assert</span><span class='op'>(</span><span class='key'>not</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>exists</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>tempdir</span><span class='op'>,</span> <span class='nam'>fname</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t50' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>assert</span><span class='op'>(</span><span class='key'>not</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>exists</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>tempdir</span><span class='op'>,</span> <span class='nam'>notfname</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t51' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t52' class='stm mis'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testManyFiles</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t53' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>d</span> <span class='op'>=</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t54' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;top1.txt&#39;</span><span class='op'>:</span> <span class='str'>&quot;howdy&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t55' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;top2.txt&#39;</span><span class='op'>:</span> <span class='str'>&quot;hello&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t56' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;sub&#39;</span><span class='op'>:</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t57' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class='str'>&#39;sub1.txt&#39;</span><span class='op'>:</span> <span class='str'>&quot;inside&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t58' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class='str'>&#39;sub2.txt&#39;</span><span class='op'>:</span> <span class='str'>&quot;inside2&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t59' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class='op'>}</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t60' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t61' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t62' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>checkFilesDontExist</span><span class='op'>(</span><span class='nam'>d</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>tempdir</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t63' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>makefiles</span><span class='op'>.</span><span class='nam'>makeFiles</span><span class='op'>(</span><span class='nam'>d</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>tempdir</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t64' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>checkFilesExist</span><span class='op'>(</span><span class='nam'>d</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>tempdir</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t65' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>makefiles</span><span class='op'>.</span><span class='nam'>removeFiles</span><span class='op'>(</span><span class='nam'>d</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>tempdir</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t66' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>checkFilesDontExist</span><span class='op'>(</span><span class='nam'>d</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>tempdir</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t67' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t68' class='stm mis'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testContents</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t69' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>fname</span> <span class='op'>=</span> <span class='str'>&#39;bar.txt&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t70' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>cont0</span> <span class='op'>=</span> <span class='str'>&quot;I am bar.txt&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t71' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>d</span> <span class='op'>=</span> <span class='op'>{</span> <span class='nam'>fname</span><span class='op'>:</span> <span class='nam'>cont0</span> <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t72' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>makefiles</span><span class='op'>.</span><span class='nam'>makeFiles</span><span class='op'>(</span><span class='nam'>d</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>tempdir</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t73' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>fcont1</span> <span class='op'>=</span> <span class='nam'>open</span><span class='op'>(</span><span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>join</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>tempdir</span><span class='op'>,</span> <span class='nam'>fname</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t74' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>assert</span><span class='op'>(</span><span class='nam'>fcont1</span><span class='op'>.</span><span class='nam'>read</span><span class='op'>(</span><span class='op'>)</span> <span class='op'>==</span> <span class='nam'>cont0</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t75' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>fcont1</span><span class='op'>.</span><span class='nam'>close</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t76' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t77' class='stm mis'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testDedent</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t78' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>fname</span> <span class='op'>=</span> <span class='str'>&#39;dedent.txt&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t79' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>d</span> <span class='op'>=</span> <span class='op'>{</span> <span class='nam'>fname</span><span class='op'>:</span> <span class='str'>&quot;&quot;&quot;\</span><span class='strut'>&nbsp;</span></p>
-<p id='t80' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This is dedent.txt</span><span class='strut'>&nbsp;</span></p>
-<p id='t81' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \tTabbed in.</span><span class='strut'>&nbsp;</span></p>
-<p id='t82' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; spaced in.</span><span class='strut'>&nbsp;</span></p>
-<p id='t83' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; OK.</span><span class='strut'>&nbsp;</span></p>
-<p id='t84' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t85' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t86' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>makefiles</span><span class='op'>.</span><span class='nam'>makeFiles</span><span class='op'>(</span><span class='nam'>d</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>tempdir</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t87' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>fcont</span> <span class='op'>=</span> <span class='nam'>open</span><span class='op'>(</span><span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>join</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>tempdir</span><span class='op'>,</span> <span class='nam'>fname</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t88' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>assert</span><span class='op'>(</span><span class='nam'>fcont</span><span class='op'>.</span><span class='nam'>read</span><span class='op'>(</span><span class='op'>)</span> <span class='op'>==</span> <span class='str'>&quot;This is dedent.txt\n\tTabbed in.\n&nbsp; spaced in.\nOK.\n&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t89' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>fcont</span><span class='op'>.</span><span class='nam'>close</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t90' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t91' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t92' class='exc'><span class='key'>if</span> <span class='nam'>__name__</span> <span class='op'>==</span> <span class='str'>&#39;__main__&#39;</span><span class='op'>:</span>&nbsp; &nbsp; &nbsp; <span class='com'>#pragma: no cover</span><span class='strut'>&nbsp;</span></p>
-<p id='t93' class='exc'>&nbsp; &nbsp; <span class='nam'>unittest</span><span class='op'>.</span><span class='nam'>main</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-
- </td>
- </tr>
- </table>
-</div>
-
-<div id='footer'>
- <div class='content'>
- <p>
- <a class='nav' href='index.html'>&#xab; index</a> &nbsp; &nbsp; <a class='nav' href='http://nedbatchelder.com/code/coverage'>coverage.py v3.7.1</a>
- </p>
- </div>
-</div>
-
-</body>
-</html>
diff --git a/doc/sample_html/cogapp_test_makefiles_py.html b/doc/sample_html/cogapp_test_makefiles_py.html
new file mode 100644
index 00000000..459c83fc
--- /dev/null
+++ b/doc/sample_html/cogapp_test_makefiles_py.html
@@ -0,0 +1,275 @@
+
+
+
+<!DOCTYPE html>
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+
+
+ <meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
+ <title>Coverage for cogapp/test_makefiles.py: 0.00%</title>
+ <link rel="stylesheet" href="style.css" type="text/css">
+
+ <script type="text/javascript" src="jquery.min.js"></script>
+ <script type="text/javascript" src="jquery.hotkeys.js"></script>
+ <script type="text/javascript" src="jquery.isonscreen.js"></script>
+ <script type="text/javascript" src="coverage_html.js"></script>
+ <script type="text/javascript">
+ jQuery(document).ready(coverage.pyfile_ready);
+ </script>
+</head>
+<body class="pyfile">
+
+<div id="header">
+ <div class="content">
+ <h1>Coverage for <b>cogapp/test_makefiles.py</b> :
+ <span class="pc_cov">0.00%</span>
+ </h1>
+
+ <img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
+
+ <h2 class="stats">
+ 55 statements &nbsp;
+ <span class="run hide_run shortkey_r button_toggle_run">0 run</span>
+ <span class="mis shortkey_m button_toggle_mis">55 missing</span>
+ <span class="exc shortkey_x button_toggle_exc">0 excluded</span>
+
+
+ <span class="par run hide_run shortkey_p button_toggle_par">0 partial</span>
+
+ </h2>
+ </div>
+</div>
+
+<div class="help_panel">
+ <img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
+<p class="legend">Hot-keys on this page</p>
+ <div>
+<p class="keyhelp">
+ <span class="key">r</span>
+ <span class="key">m</span>
+ <span class="key">x</span>
+ <span class="key">p</span> &nbsp; toggle line displays
+ </p>
+<p class="keyhelp">
+ <span class="key">j</span>
+ <span class="key">k</span> &nbsp; next/prev highlighted chunk
+ </p>
+<p class="keyhelp">
+ <span class="key">0</span> &nbsp; (zero) top of page
+ </p>
+<p class="keyhelp">
+ <span class="key">1</span> &nbsp; (one) first highlighted chunk
+ </p>
+ </div>
+</div>
+
+<div id="source">
+ <table>
+ <tr>
+ <td class="linenos">
+<p id="n1" class="pln"><a href="#n1">1</a></p>
+<p id="n2" class="pln"><a href="#n2">2</a></p>
+<p id="n3" class="pln"><a href="#n3">3</a></p>
+<p id="n4" class="pln"><a href="#n4">4</a></p>
+<p id="n5" class="pln"><a href="#n5">5</a></p>
+<p id="n6" class="pln"><a href="#n6">6</a></p>
+<p id="n7" class="stm mis"><a href="#n7">7</a></p>
+<p id="n8" class="pln"><a href="#n8">8</a></p>
+<p id="n9" class="stm mis"><a href="#n9">9</a></p>
+<p id="n10" class="stm mis"><a href="#n10">10</a></p>
+<p id="n11" class="pln"><a href="#n11">11</a></p>
+<p id="n12" class="stm mis"><a href="#n12">12</a></p>
+<p id="n13" class="pln"><a href="#n13">13</a></p>
+<p id="n14" class="pln"><a href="#n14">14</a></p>
+<p id="n15" class="stm mis"><a href="#n15">15</a></p>
+<p id="n16" class="pln"><a href="#n16">16</a></p>
+<p id="n17" class="stm mis"><a href="#n17">17</a></p>
+<p id="n18" class="pln"><a href="#n18">18</a></p>
+<p id="n19" class="stm mis"><a href="#n19">19</a></p>
+<p id="n20" class="stm mis"><a href="#n20">20</a></p>
+<p id="n21" class="stm mis"><a href="#n21">21</a></p>
+<p id="n22" class="pln"><a href="#n22">22</a></p>
+<p id="n23" class="stm mis"><a href="#n23">23</a></p>
+<p id="n24" class="pln"><a href="#n24">24</a></p>
+<p id="n25" class="stm mis"><a href="#n25">25</a></p>
+<p id="n26" class="pln"><a href="#n26">26</a></p>
+<p id="n27" class="stm mis"><a href="#n27">27</a></p>
+<p id="n28" class="stm mis"><a href="#n28">28</a></p>
+<p id="n29" class="pln"><a href="#n29">29</a></p>
+<p id="n30" class="stm mis"><a href="#n30">30</a></p>
+<p id="n31" class="stm mis"><a href="#n31">31</a></p>
+<p id="n32" class="stm mis"><a href="#n32">32</a></p>
+<p id="n33" class="stm mis"><a href="#n33">33</a></p>
+<p id="n34" class="stm mis"><a href="#n34">34</a></p>
+<p id="n35" class="pln"><a href="#n35">35</a></p>
+<p id="n36" class="stm mis"><a href="#n36">36</a></p>
+<p id="n37" class="stm mis"><a href="#n37">37</a></p>
+<p id="n38" class="stm mis"><a href="#n38">38</a></p>
+<p id="n39" class="pln"><a href="#n39">39</a></p>
+<p id="n40" class="stm mis"><a href="#n40">40</a></p>
+<p id="n41" class="stm mis"><a href="#n41">41</a></p>
+<p id="n42" class="stm mis"><a href="#n42">42</a></p>
+<p id="n43" class="stm mis"><a href="#n43">43</a></p>
+<p id="n44" class="stm mis"><a href="#n44">44</a></p>
+<p id="n45" class="stm mis"><a href="#n45">45</a></p>
+<p id="n46" class="pln"><a href="#n46">46</a></p>
+<p id="n47" class="stm mis"><a href="#n47">47</a></p>
+<p id="n48" class="stm mis"><a href="#n48">48</a></p>
+<p id="n49" class="stm mis"><a href="#n49">49</a></p>
+<p id="n50" class="pln"><a href="#n50">50</a></p>
+<p id="n51" class="stm mis"><a href="#n51">51</a></p>
+<p id="n52" class="stm mis"><a href="#n52">52</a></p>
+<p id="n53" class="stm mis"><a href="#n53">53</a></p>
+<p id="n54" class="pln"><a href="#n54">54</a></p>
+<p id="n55" class="stm mis"><a href="#n55">55</a></p>
+<p id="n56" class="stm mis"><a href="#n56">56</a></p>
+<p id="n57" class="pln"><a href="#n57">57</a></p>
+<p id="n58" class="pln"><a href="#n58">58</a></p>
+<p id="n59" class="pln"><a href="#n59">59</a></p>
+<p id="n60" class="pln"><a href="#n60">60</a></p>
+<p id="n61" class="pln"><a href="#n61">61</a></p>
+<p id="n62" class="pln"><a href="#n62">62</a></p>
+<p id="n63" class="pln"><a href="#n63">63</a></p>
+<p id="n64" class="pln"><a href="#n64">64</a></p>
+<p id="n65" class="stm mis"><a href="#n65">65</a></p>
+<p id="n66" class="stm mis"><a href="#n66">66</a></p>
+<p id="n67" class="stm mis"><a href="#n67">67</a></p>
+<p id="n68" class="stm mis"><a href="#n68">68</a></p>
+<p id="n69" class="stm mis"><a href="#n69">69</a></p>
+<p id="n70" class="pln"><a href="#n70">70</a></p>
+<p id="n71" class="stm mis"><a href="#n71">71</a></p>
+<p id="n72" class="stm mis"><a href="#n72">72</a></p>
+<p id="n73" class="stm mis"><a href="#n73">73</a></p>
+<p id="n74" class="stm mis"><a href="#n74">74</a></p>
+<p id="n75" class="stm mis"><a href="#n75">75</a></p>
+<p id="n76" class="stm mis"><a href="#n76">76</a></p>
+<p id="n77" class="stm mis"><a href="#n77">77</a></p>
+<p id="n78" class="stm mis"><a href="#n78">78</a></p>
+<p id="n79" class="pln"><a href="#n79">79</a></p>
+<p id="n80" class="stm mis"><a href="#n80">80</a></p>
+<p id="n81" class="stm mis"><a href="#n81">81</a></p>
+<p id="n82" class="stm mis"><a href="#n82">82</a></p>
+<p id="n83" class="pln"><a href="#n83">83</a></p>
+<p id="n84" class="pln"><a href="#n84">84</a></p>
+<p id="n85" class="pln"><a href="#n85">85</a></p>
+<p id="n86" class="pln"><a href="#n86">86</a></p>
+<p id="n87" class="pln"><a href="#n87">87</a></p>
+<p id="n88" class="pln"><a href="#n88">88</a></p>
+<p id="n89" class="stm mis"><a href="#n89">89</a></p>
+<p id="n90" class="stm mis"><a href="#n90">90</a></p>
+<p id="n91" class="stm mis"><a href="#n91">91</a></p>
+<p id="n92" class="stm mis"><a href="#n92">92</a></p>
+
+ </td>
+ <td class="text">
+<p id="t1" class="pln"><span class="str">&quot;&quot;&quot; Test the cogapp.makefiles modules</span><span class="strut">&nbsp;</span></p>
+<p id="t2" class="pln"><span class="str">&nbsp; &nbsp; http://nedbatchelder.com/code/cog</span><span class="strut">&nbsp;</span></p>
+<p id="t3" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t4" class="pln"><span class="str">&nbsp; &nbsp; Copyright 2004-2015, Ned Batchelder.</span><span class="strut">&nbsp;</span></p>
+<p id="t5" class="pln"><span class="str">&quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t6" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t7" class="stm mis"><span class="key">from</span> <span class="nam">__future__</span> <span class="key">import</span> <span class="nam">absolute_import</span><span class="strut">&nbsp;</span></p>
+<p id="t8" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t9" class="stm mis"><span class="key">import</span> <span class="nam">unittest</span><span class="strut">&nbsp;</span></p>
+<p id="t10" class="stm mis"><span class="key">import</span> <span class="nam">shutil</span><span class="op">,</span> <span class="nam">os</span><span class="op">,</span> <span class="nam">random</span><span class="op">,</span> <span class="nam">tempfile</span><span class="strut">&nbsp;</span></p>
+<p id="t11" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t12" class="stm mis"><span class="key">from</span> <span class="op">.</span> <span class="key">import</span> <span class="nam">makefiles</span><span class="strut">&nbsp;</span></p>
+<p id="t13" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t14" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t15" class="stm mis"><span class="key">class</span> <span class="nam">SimpleTests</span><span class="op">(</span><span class="nam">unittest</span><span class="op">.</span><span class="nam">TestCase</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t16" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t17" class="stm mis">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">setUp</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t18" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Create a temporary directory.</span><span class="strut">&nbsp;</span></p>
+<p id="t19" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">my_dir</span> <span class="op">=</span> <span class="str">&#39;testmakefiles_tempdir_&#39;</span> <span class="op">+</span> <span class="nam">str</span><span class="op">(</span><span class="nam">random</span><span class="op">.</span><span class="nam">random</span><span class="op">(</span><span class="op">)</span><span class="op">)</span><span class="op">[</span><span class="num">2</span><span class="op">:</span><span class="op">]</span><span class="strut">&nbsp;</span></p>
+<p id="t20" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">tempdir</span> <span class="op">=</span> <span class="nam">os</span><span class="op">.</span><span class="nam">path</span><span class="op">.</span><span class="nam">join</span><span class="op">(</span><span class="nam">tempfile</span><span class="op">.</span><span class="nam">gettempdir</span><span class="op">(</span><span class="op">)</span><span class="op">,</span> <span class="nam">my_dir</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t21" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">os</span><span class="op">.</span><span class="nam">mkdir</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">tempdir</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t22" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t23" class="stm mis">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">tearDown</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t24" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Get rid of the temporary directory.</span><span class="strut">&nbsp;</span></p>
+<p id="t25" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">shutil</span><span class="op">.</span><span class="nam">rmtree</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">tempdir</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t26" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t27" class="stm mis">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">exists</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">dname</span><span class="op">,</span> <span class="nam">fname</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t28" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">return</span> <span class="nam">os</span><span class="op">.</span><span class="nam">path</span><span class="op">.</span><span class="nam">exists</span><span class="op">(</span><span class="nam">os</span><span class="op">.</span><span class="nam">path</span><span class="op">.</span><span class="nam">join</span><span class="op">(</span><span class="nam">dname</span><span class="op">,</span> <span class="nam">fname</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t29" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t30" class="stm mis">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">checkFilesExist</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">d</span><span class="op">,</span> <span class="nam">dname</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t31" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">for</span> <span class="nam">fname</span> <span class="key">in</span> <span class="nam">d</span><span class="op">.</span><span class="nam">keys</span><span class="op">(</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t32" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">assert</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">exists</span><span class="op">(</span><span class="nam">dname</span><span class="op">,</span> <span class="nam">fname</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t33" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">type</span><span class="op">(</span><span class="nam">d</span><span class="op">[</span><span class="nam">fname</span><span class="op">]</span><span class="op">)</span> <span class="op">==</span> <span class="nam">type</span><span class="op">(</span><span class="op">{</span><span class="op">}</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t34" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">checkFilesExist</span><span class="op">(</span><span class="nam">d</span><span class="op">[</span><span class="nam">fname</span><span class="op">]</span><span class="op">,</span> <span class="nam">os</span><span class="op">.</span><span class="nam">path</span><span class="op">.</span><span class="nam">join</span><span class="op">(</span><span class="nam">dname</span><span class="op">,</span> <span class="nam">fname</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t35" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t36" class="stm mis">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">checkFilesDontExist</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">d</span><span class="op">,</span> <span class="nam">dname</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t37" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">for</span> <span class="nam">fname</span> <span class="key">in</span> <span class="nam">d</span><span class="op">.</span><span class="nam">keys</span><span class="op">(</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t38" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">assert</span><span class="op">(</span><span class="key">not</span> <span class="nam">self</span><span class="op">.</span><span class="nam">exists</span><span class="op">(</span><span class="nam">dname</span><span class="op">,</span> <span class="nam">fname</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t39" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t40" class="stm mis">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testOneFile</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t41" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">fname</span> <span class="op">=</span> <span class="str">&#39;foo.txt&#39;</span><span class="strut">&nbsp;</span></p>
+<p id="t42" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">notfname</span> <span class="op">=</span> <span class="str">&#39;not_here.txt&#39;</span><span class="strut">&nbsp;</span></p>
+<p id="t43" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span> <span class="nam">fname</span><span class="op">:</span> <span class="str">&quot;howdy&quot;</span> <span class="op">}</span><span class="strut">&nbsp;</span></p>
+<p id="t44" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">assert</span><span class="op">(</span><span class="key">not</span> <span class="nam">self</span><span class="op">.</span><span class="nam">exists</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">tempdir</span><span class="op">,</span> <span class="nam">fname</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t45" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">assert</span><span class="op">(</span><span class="key">not</span> <span class="nam">self</span><span class="op">.</span><span class="nam">exists</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">tempdir</span><span class="op">,</span> <span class="nam">notfname</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t46" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t47" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makefiles</span><span class="op">.</span><span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">,</span> <span class="nam">self</span><span class="op">.</span><span class="nam">tempdir</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t48" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">assert</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">exists</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">tempdir</span><span class="op">,</span> <span class="nam">fname</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t49" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">assert</span><span class="op">(</span><span class="key">not</span> <span class="nam">self</span><span class="op">.</span><span class="nam">exists</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">tempdir</span><span class="op">,</span> <span class="nam">notfname</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t50" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t51" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makefiles</span><span class="op">.</span><span class="nam">removeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">,</span> <span class="nam">self</span><span class="op">.</span><span class="nam">tempdir</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t52" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">assert</span><span class="op">(</span><span class="key">not</span> <span class="nam">self</span><span class="op">.</span><span class="nam">exists</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">tempdir</span><span class="op">,</span> <span class="nam">fname</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t53" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">assert</span><span class="op">(</span><span class="key">not</span> <span class="nam">self</span><span class="op">.</span><span class="nam">exists</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">tempdir</span><span class="op">,</span> <span class="nam">notfname</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t54" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t55" class="stm mis">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testManyFiles</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t56" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t57" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;top1.txt&#39;</span><span class="op">:</span> <span class="str">&quot;howdy&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t58" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;top2.txt&#39;</span><span class="op">:</span> <span class="str">&quot;hello&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t59" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;sub&#39;</span><span class="op">:</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t60" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class="str">&#39;sub1.txt&#39;</span><span class="op">:</span> <span class="str">&quot;inside&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t61" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class="str">&#39;sub2.txt&#39;</span><span class="op">:</span> <span class="str">&quot;inside2&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t62" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class="op">}</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t63" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
+<p id="t64" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t65" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">checkFilesDontExist</span><span class="op">(</span><span class="nam">d</span><span class="op">,</span> <span class="nam">self</span><span class="op">.</span><span class="nam">tempdir</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t66" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makefiles</span><span class="op">.</span><span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">,</span> <span class="nam">self</span><span class="op">.</span><span class="nam">tempdir</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t67" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">checkFilesExist</span><span class="op">(</span><span class="nam">d</span><span class="op">,</span> <span class="nam">self</span><span class="op">.</span><span class="nam">tempdir</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t68" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makefiles</span><span class="op">.</span><span class="nam">removeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">,</span> <span class="nam">self</span><span class="op">.</span><span class="nam">tempdir</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t69" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">checkFilesDontExist</span><span class="op">(</span><span class="nam">d</span><span class="op">,</span> <span class="nam">self</span><span class="op">.</span><span class="nam">tempdir</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t70" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t71" class="stm mis">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testContents</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t72" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">fname</span> <span class="op">=</span> <span class="str">&#39;bar.txt&#39;</span><span class="strut">&nbsp;</span></p>
+<p id="t73" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">cont0</span> <span class="op">=</span> <span class="str">&quot;I am bar.txt&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t74" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span> <span class="nam">fname</span><span class="op">:</span> <span class="nam">cont0</span> <span class="op">}</span><span class="strut">&nbsp;</span></p>
+<p id="t75" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makefiles</span><span class="op">.</span><span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">,</span> <span class="nam">self</span><span class="op">.</span><span class="nam">tempdir</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t76" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">fcont1</span> <span class="op">=</span> <span class="nam">open</span><span class="op">(</span><span class="nam">os</span><span class="op">.</span><span class="nam">path</span><span class="op">.</span><span class="nam">join</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">tempdir</span><span class="op">,</span> <span class="nam">fname</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t77" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">assert</span><span class="op">(</span><span class="nam">fcont1</span><span class="op">.</span><span class="nam">read</span><span class="op">(</span><span class="op">)</span> <span class="op">==</span> <span class="nam">cont0</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t78" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">fcont1</span><span class="op">.</span><span class="nam">close</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t79" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t80" class="stm mis">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testDedent</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t81" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">fname</span> <span class="op">=</span> <span class="str">&#39;dedent.txt&#39;</span><span class="strut">&nbsp;</span></p>
+<p id="t82" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span> <span class="nam">fname</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t83" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This is dedent.txt</span><span class="strut">&nbsp;</span></p>
+<p id="t84" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \tTabbed in.</span><span class="strut">&nbsp;</span></p>
+<p id="t85" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; spaced in.</span><span class="strut">&nbsp;</span></p>
+<p id="t86" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; OK.</span><span class="strut">&nbsp;</span></p>
+<p id="t87" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t88" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
+<p id="t89" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makefiles</span><span class="op">.</span><span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">,</span> <span class="nam">self</span><span class="op">.</span><span class="nam">tempdir</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t90" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">fcont</span> <span class="op">=</span> <span class="nam">open</span><span class="op">(</span><span class="nam">os</span><span class="op">.</span><span class="nam">path</span><span class="op">.</span><span class="nam">join</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">tempdir</span><span class="op">,</span> <span class="nam">fname</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t91" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">assert</span><span class="op">(</span><span class="nam">fcont</span><span class="op">.</span><span class="nam">read</span><span class="op">(</span><span class="op">)</span> <span class="op">==</span> <span class="str">&quot;This is dedent.txt\n\tTabbed in.\n&nbsp; spaced in.\nOK.\n&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t92" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">fcont</span><span class="op">.</span><span class="nam">close</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+
+ </td>
+ </tr>
+ </table>
+</div>
+
+<div id="footer">
+ <div class="content">
+ <p>
+ <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.org">coverage.py v4.0</a>,
+ created at 2015-09-20 10:28
+ </p>
+ </div>
+</div>
+
+</body>
+</html>
diff --git a/doc/sample_html/cogapp_test_whiteutils.html b/doc/sample_html/cogapp_test_whiteutils.html
deleted file mode 100644
index ffc7b887..00000000
--- a/doc/sample_html/cogapp_test_whiteutils.html
+++ /dev/null
@@ -1,290 +0,0 @@
-<!doctype html PUBLIC "-//W3C//DTD html 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
- <meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
-
-
- <meta http-equiv='X-UA-Compatible' content='IE=emulateIE7' />
- <title>Coverage for cogapp/test_whiteutils: 0%</title>
- <link rel='stylesheet' href='style.css' type='text/css'>
-
- <script type='text/javascript' src='jquery.min.js'></script>
- <script type='text/javascript' src='jquery.hotkeys.js'></script>
- <script type='text/javascript' src='jquery.isonscreen.js'></script>
- <script type='text/javascript' src='coverage_html.js'></script>
- <script type='text/javascript' charset='utf-8'>
- jQuery(document).ready(coverage.pyfile_ready);
- </script>
-</head>
-<body id='pyfile'>
-
-<div id='header'>
- <div class='content'>
- <h1>Coverage for <b>cogapp/test_whiteutils</b> :
- <span class='pc_cov'>0%</span>
- </h1>
- <img id='keyboard_icon' src='keybd_closed.png'>
- <h2 class='stats'>
- 69 statements &nbsp;
- <span class='run hide_run shortkey_r button_toggle_run'>0 run</span>
- <span class='mis shortkey_m button_toggle_mis'>69 missing</span>
- <span class='exc shortkey_x button_toggle_exc'>2 excluded</span>
-
- <span class='par run hide_run shortkey_p button_toggle_par'>0 partial</span>
-
- </h2>
- </div>
-</div>
-
-<div class='help_panel'>
- <img id='panel_icon' src='keybd_open.png'>
-<p class='legend'>Hot-keys on this page</p>
- <div>
-<p class='keyhelp'>
- <span class='key'>r</span>
- <span class='key'>m</span>
- <span class='key'>x</span>
- <span class='key'>p</span> &nbsp; toggle line displays
- </p>
-<p class='keyhelp'>
- <span class='key'>j</span>
- <span class='key'>k</span> &nbsp; next/prev highlighted chunk
- </p>
-<p class='keyhelp'>
- <span class='key'>0</span> &nbsp; (zero) top of page
- </p>
-<p class='keyhelp'>
- <span class='key'>1</span> &nbsp; (one) first highlighted chunk
- </p>
- </div>
-</div>
-
-<div id='source'>
- <table cellspacing='0' cellpadding='0'>
- <tr>
- <td class='linenos' valign='top'>
-<p id='n1' class='pln'><a href='#n1'>1</a></p>
-<p id='n2' class='pln'><a href='#n2'>2</a></p>
-<p id='n3' class='pln'><a href='#n3'>3</a></p>
-<p id='n4' class='pln'><a href='#n4'>4</a></p>
-<p id='n5' class='pln'><a href='#n5'>5</a></p>
-<p id='n6' class='pln'><a href='#n6'>6</a></p>
-<p id='n7' class='stm mis'><a href='#n7'>7</a></p>
-<p id='n8' class='stm mis'><a href='#n8'>8</a></p>
-<p id='n9' class='stm mis'><a href='#n9'>9</a></p>
-<p id='n10' class='pln'><a href='#n10'>10</a></p>
-<p id='n11' class='stm mis'><a href='#n11'>11</a></p>
-<p id='n12' class='pln'><a href='#n12'>12</a></p>
-<p id='n13' class='pln'><a href='#n13'>13</a></p>
-<p id='n14' class='pln'><a href='#n14'>14</a></p>
-<p id='n15' class='stm mis'><a href='#n15'>15</a></p>
-<p id='n16' class='stm mis'><a href='#n16'>16</a></p>
-<p id='n17' class='stm mis'><a href='#n17'>17</a></p>
-<p id='n18' class='stm mis'><a href='#n18'>18</a></p>
-<p id='n19' class='stm mis'><a href='#n19'>19</a></p>
-<p id='n20' class='stm mis'><a href='#n20'>20</a></p>
-<p id='n21' class='stm mis'><a href='#n21'>21</a></p>
-<p id='n22' class='stm mis'><a href='#n22'>22</a></p>
-<p id='n23' class='pln'><a href='#n23'>23</a></p>
-<p id='n24' class='stm mis'><a href='#n24'>24</a></p>
-<p id='n25' class='stm mis'><a href='#n25'>25</a></p>
-<p id='n26' class='stm mis'><a href='#n26'>26</a></p>
-<p id='n27' class='stm mis'><a href='#n27'>27</a></p>
-<p id='n28' class='pln'><a href='#n28'>28</a></p>
-<p id='n29' class='stm mis'><a href='#n29'>29</a></p>
-<p id='n30' class='stm mis'><a href='#n30'>30</a></p>
-<p id='n31' class='stm mis'><a href='#n31'>31</a></p>
-<p id='n32' class='stm mis'><a href='#n32'>32</a></p>
-<p id='n33' class='stm mis'><a href='#n33'>33</a></p>
-<p id='n34' class='pln'><a href='#n34'>34</a></p>
-<p id='n35' class='stm mis'><a href='#n35'>35</a></p>
-<p id='n36' class='stm mis'><a href='#n36'>36</a></p>
-<p id='n37' class='pln'><a href='#n37'>37</a></p>
-<p id='n38' class='stm mis'><a href='#n38'>38</a></p>
-<p id='n39' class='stm mis'><a href='#n39'>39</a></p>
-<p id='n40' class='stm mis'><a href='#n40'>40</a></p>
-<p id='n41' class='pln'><a href='#n41'>41</a></p>
-<p id='n42' class='stm mis'><a href='#n42'>42</a></p>
-<p id='n43' class='pln'><a href='#n43'>43</a></p>
-<p id='n44' class='pln'><a href='#n44'>44</a></p>
-<p id='n45' class='pln'><a href='#n45'>45</a></p>
-<p id='n46' class='stm mis'><a href='#n46'>46</a></p>
-<p id='n47' class='stm mis'><a href='#n47'>47</a></p>
-<p id='n48' class='stm mis'><a href='#n48'>48</a></p>
-<p id='n49' class='stm mis'><a href='#n49'>49</a></p>
-<p id='n50' class='stm mis'><a href='#n50'>50</a></p>
-<p id='n51' class='stm mis'><a href='#n51'>51</a></p>
-<p id='n52' class='stm mis'><a href='#n52'>52</a></p>
-<p id='n53' class='stm mis'><a href='#n53'>53</a></p>
-<p id='n54' class='stm mis'><a href='#n54'>54</a></p>
-<p id='n55' class='stm mis'><a href='#n55'>55</a></p>
-<p id='n56' class='stm mis'><a href='#n56'>56</a></p>
-<p id='n57' class='pln'><a href='#n57'>57</a></p>
-<p id='n58' class='stm mis'><a href='#n58'>58</a></p>
-<p id='n59' class='stm mis'><a href='#n59'>59</a></p>
-<p id='n60' class='stm mis'><a href='#n60'>60</a></p>
-<p id='n61' class='stm mis'><a href='#n61'>61</a></p>
-<p id='n62' class='stm mis'><a href='#n62'>62</a></p>
-<p id='n63' class='stm mis'><a href='#n63'>63</a></p>
-<p id='n64' class='stm mis'><a href='#n64'>64</a></p>
-<p id='n65' class='stm mis'><a href='#n65'>65</a></p>
-<p id='n66' class='stm mis'><a href='#n66'>66</a></p>
-<p id='n67' class='stm mis'><a href='#n67'>67</a></p>
-<p id='n68' class='stm mis'><a href='#n68'>68</a></p>
-<p id='n69' class='pln'><a href='#n69'>69</a></p>
-<p id='n70' class='stm mis'><a href='#n70'>70</a></p>
-<p id='n71' class='stm mis'><a href='#n71'>71</a></p>
-<p id='n72' class='pln'><a href='#n72'>72</a></p>
-<p id='n73' class='pln'><a href='#n73'>73</a></p>
-<p id='n74' class='pln'><a href='#n74'>74</a></p>
-<p id='n75' class='pln'><a href='#n75'>75</a></p>
-<p id='n76' class='stm mis'><a href='#n76'>76</a></p>
-<p id='n77' class='pln'><a href='#n77'>77</a></p>
-<p id='n78' class='pln'><a href='#n78'>78</a></p>
-<p id='n79' class='pln'><a href='#n79'>79</a></p>
-<p id='n80' class='stm mis'><a href='#n80'>80</a></p>
-<p id='n81' class='stm mis'><a href='#n81'>81</a></p>
-<p id='n82' class='stm mis'><a href='#n82'>82</a></p>
-<p id='n83' class='stm mis'><a href='#n83'>83</a></p>
-<p id='n84' class='stm mis'><a href='#n84'>84</a></p>
-<p id='n85' class='pln'><a href='#n85'>85</a></p>
-<p id='n86' class='stm mis'><a href='#n86'>86</a></p>
-<p id='n87' class='stm mis'><a href='#n87'>87</a></p>
-<p id='n88' class='stm mis'><a href='#n88'>88</a></p>
-<p id='n89' class='stm mis'><a href='#n89'>89</a></p>
-<p id='n90' class='pln'><a href='#n90'>90</a></p>
-<p id='n91' class='stm mis'><a href='#n91'>91</a></p>
-<p id='n92' class='stm mis'><a href='#n92'>92</a></p>
-<p id='n93' class='stm mis'><a href='#n93'>93</a></p>
-<p id='n94' class='stm mis'><a href='#n94'>94</a></p>
-<p id='n95' class='pln'><a href='#n95'>95</a></p>
-<p id='n96' class='stm mis'><a href='#n96'>96</a></p>
-<p id='n97' class='stm mis'><a href='#n97'>97</a></p>
-<p id='n98' class='pln'><a href='#n98'>98</a></p>
-<p id='n99' class='stm mis'><a href='#n99'>99</a></p>
-<p id='n100' class='stm mis'><a href='#n100'>100</a></p>
-<p id='n101' class='pln'><a href='#n101'>101</a></p>
-<p id='n102' class='exc'><a href='#n102'>102</a></p>
-<p id='n103' class='exc'><a href='#n103'>103</a></p>
-
- </td>
- <td class='text' valign='top'>
-<p id='t1' class='pln'><span class='str'>&quot;&quot;&quot; Test the cogapp.whiteutils module.</span><span class='strut'>&nbsp;</span></p>
-<p id='t2' class='pln'><span class='str'>&nbsp; &nbsp; http://nedbatchelder.com/code/cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t3' class='pln'><span class='str'>&nbsp; &nbsp; </span><span class='strut'>&nbsp;</span></p>
-<p id='t4' class='pln'><span class='str'>&nbsp; &nbsp; Copyright 2004-2012, Ned Batchelder.</span><span class='strut'>&nbsp;</span></p>
-<p id='t5' class='pln'><span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t6' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t7' class='stm mis'><span class='key'>from</span> <span class='nam'>__future__</span> <span class='key'>import</span> <span class='nam'>absolute_import</span><span class='strut'>&nbsp;</span></p>
-<p id='t8' class='stm mis'><span class='key'>import</span> <span class='nam'>unittest</span><span class='strut'>&nbsp;</span></p>
-<p id='t9' class='stm mis'><span class='key'>from</span> <span class='op'>.</span><span class='nam'>whiteutils</span> <span class='key'>import</span> <span class='op'>*</span><span class='strut'>&nbsp;</span></p>
-<p id='t10' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t11' class='stm mis'><span class='key'>class</span> <span class='nam'>WhitePrefixTests</span><span class='op'>(</span><span class='nam'>unittest</span><span class='op'>.</span><span class='nam'>TestCase</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t12' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Test cases for cogapp.whiteutils.</span><span class='strut'>&nbsp;</span></p>
-<p id='t13' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t14' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t15' class='stm mis'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testSingleLine</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t16' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>whitePrefix</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&#39;&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t17' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>whitePrefix</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39; &#39;</span><span class='op'>]</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&#39;&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t18' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>whitePrefix</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;x&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&#39;&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t19' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>whitePrefix</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39; x&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&#39; &#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t20' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>whitePrefix</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;\tx&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&#39;\t&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t21' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>whitePrefix</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;&nbsp; x&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&#39;&nbsp; &#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t22' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>whitePrefix</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39; \t \tx&nbsp;&nbsp; &#39;</span><span class='op'>]</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&#39; \t \t&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t23' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t24' class='stm mis'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testMultiLine</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t25' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>whitePrefix</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;&nbsp; x&#39;</span><span class='op'>,</span><span class='str'>&#39;&nbsp; x&#39;</span><span class='op'>,</span><span class='str'>&#39;&nbsp; x&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&#39;&nbsp; &#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t26' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>whitePrefix</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;&nbsp;&nbsp; y&#39;</span><span class='op'>,</span><span class='str'>&#39;&nbsp; y&#39;</span><span class='op'>,</span><span class='str'>&#39; y&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&#39; &#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t27' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>whitePrefix</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39; y&#39;</span><span class='op'>,</span><span class='str'>&#39;&nbsp; y&#39;</span><span class='op'>,</span><span class='str'>&#39;&nbsp;&nbsp; y&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&#39; &#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t28' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t29' class='stm mis'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testBlankLinesAreIgnored</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t30' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>whitePrefix</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;&nbsp; x&#39;</span><span class='op'>,</span><span class='str'>&#39;&nbsp; x&#39;</span><span class='op'>,</span><span class='str'>&#39;&#39;</span><span class='op'>,</span><span class='str'>&#39;&nbsp; x&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&#39;&nbsp; &#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t31' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>whitePrefix</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;&#39;</span><span class='op'>,</span><span class='str'>&#39;&nbsp; x&#39;</span><span class='op'>,</span><span class='str'>&#39;&nbsp; x&#39;</span><span class='op'>,</span><span class='str'>&#39;&nbsp; x&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&#39;&nbsp; &#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t32' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>whitePrefix</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;&nbsp; x&#39;</span><span class='op'>,</span><span class='str'>&#39;&nbsp; x&#39;</span><span class='op'>,</span><span class='str'>&#39;&nbsp; x&#39;</span><span class='op'>,</span><span class='str'>&#39;&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&#39;&nbsp; &#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t33' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>whitePrefix</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;&nbsp; x&#39;</span><span class='op'>,</span><span class='str'>&#39;&nbsp; x&#39;</span><span class='op'>,</span><span class='str'>&#39;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#39;</span><span class='op'>,</span><span class='str'>&#39;&nbsp; x&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&#39;&nbsp; &#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t34' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t35' class='stm mis'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testTabCharacters</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t36' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>whitePrefix</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;\timport sys&#39;</span><span class='op'>,</span> <span class='str'>&#39;&#39;</span><span class='op'>,</span> <span class='str'>&#39;\tprint sys.argv&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&#39;\t&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t37' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t38' class='stm mis'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testDecreasingLengths</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t39' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>whitePrefix</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;&nbsp;&nbsp; x&#39;</span><span class='op'>,</span><span class='str'>&#39;&nbsp; x&#39;</span><span class='op'>,</span><span class='str'>&#39; x&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&#39; &#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t40' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>whitePrefix</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;&nbsp; &nbsp;&nbsp; x&#39;</span><span class='op'>,</span><span class='str'>&#39; x&#39;</span><span class='op'>,</span><span class='str'>&#39; x&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&#39; &#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t41' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t42' class='stm mis'><span class='key'>class</span> <span class='nam'>ReindentBlockTests</span><span class='op'>(</span><span class='nam'>unittest</span><span class='op'>.</span><span class='nam'>TestCase</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t43' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Test cases for cogapp.reindentBlock.</span><span class='strut'>&nbsp;</span></p>
-<p id='t44' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t45' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t46' class='stm mis'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testNonTermLine</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t47' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>reindentBlock</span><span class='op'>(</span><span class='str'>&#39;&#39;</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&#39;&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t48' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>reindentBlock</span><span class='op'>(</span><span class='str'>&#39;x&#39;</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&#39;x&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t49' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>reindentBlock</span><span class='op'>(</span><span class='str'>&#39; x&#39;</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&#39;x&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t50' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>reindentBlock</span><span class='op'>(</span><span class='str'>&#39;&nbsp; x&#39;</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&#39;x&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t51' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>reindentBlock</span><span class='op'>(</span><span class='str'>&#39;\tx&#39;</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&#39;x&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t52' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>reindentBlock</span><span class='op'>(</span><span class='str'>&#39;x&#39;</span><span class='op'>,</span> <span class='str'>&#39; &#39;</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&#39; x&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t53' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>reindentBlock</span><span class='op'>(</span><span class='str'>&#39;x&#39;</span><span class='op'>,</span> <span class='str'>&#39;\t&#39;</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&#39;\tx&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t54' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>reindentBlock</span><span class='op'>(</span><span class='str'>&#39; x&#39;</span><span class='op'>,</span> <span class='str'>&#39; &#39;</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&#39; x&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t55' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>reindentBlock</span><span class='op'>(</span><span class='str'>&#39; x&#39;</span><span class='op'>,</span> <span class='str'>&#39;\t&#39;</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&#39;\tx&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t56' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>reindentBlock</span><span class='op'>(</span><span class='str'>&#39; x&#39;</span><span class='op'>,</span> <span class='str'>&#39;&nbsp; &#39;</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&#39;&nbsp; x&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t57' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t58' class='stm mis'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testSingleLine</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t59' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>reindentBlock</span><span class='op'>(</span><span class='str'>&#39;\n&#39;</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&#39;\n&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t60' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>reindentBlock</span><span class='op'>(</span><span class='str'>&#39;x\n&#39;</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&#39;x\n&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t61' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>reindentBlock</span><span class='op'>(</span><span class='str'>&#39; x\n&#39;</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&#39;x\n&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t62' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>reindentBlock</span><span class='op'>(</span><span class='str'>&#39;&nbsp; x\n&#39;</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&#39;x\n&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t63' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>reindentBlock</span><span class='op'>(</span><span class='str'>&#39;\tx\n&#39;</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&#39;x\n&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t64' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>reindentBlock</span><span class='op'>(</span><span class='str'>&#39;x\n&#39;</span><span class='op'>,</span> <span class='str'>&#39; &#39;</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&#39; x\n&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t65' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>reindentBlock</span><span class='op'>(</span><span class='str'>&#39;x\n&#39;</span><span class='op'>,</span> <span class='str'>&#39;\t&#39;</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&#39;\tx\n&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t66' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>reindentBlock</span><span class='op'>(</span><span class='str'>&#39; x\n&#39;</span><span class='op'>,</span> <span class='str'>&#39; &#39;</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&#39; x\n&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t67' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>reindentBlock</span><span class='op'>(</span><span class='str'>&#39; x\n&#39;</span><span class='op'>,</span> <span class='str'>&#39;\t&#39;</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&#39;\tx\n&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t68' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>reindentBlock</span><span class='op'>(</span><span class='str'>&#39; x\n&#39;</span><span class='op'>,</span> <span class='str'>&#39;&nbsp; &#39;</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&#39;&nbsp; x\n&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t69' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t70' class='stm mis'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testRealBlock</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t71' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='strut'>&nbsp;</span></p>
-<p id='t72' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>reindentBlock</span><span class='op'>(</span><span class='str'>&#39;\timport sys\n\n\tprint sys.argv\n&#39;</span><span class='op'>)</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t73' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;import sys\n\nprint sys.argv\n&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t74' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t75' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t76' class='stm mis'><span class='key'>class</span> <span class='nam'>CommonPrefixTests</span><span class='op'>(</span><span class='nam'>unittest</span><span class='op'>.</span><span class='nam'>TestCase</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t77' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Test cases for cogapp.commonPrefix.</span><span class='strut'>&nbsp;</span></p>
-<p id='t78' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t79' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t80' class='stm mis'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testDegenerateCases</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t81' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>commonPrefix</span><span class='op'>(</span><span class='op'>[</span><span class='op'>]</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&#39;&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t82' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>commonPrefix</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&#39;&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t83' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>commonPrefix</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;&#39;</span><span class='op'>,</span><span class='str'>&#39;&#39;</span><span class='op'>,</span><span class='str'>&#39;&#39;</span><span class='op'>,</span><span class='str'>&#39;&#39;</span><span class='op'>,</span><span class='str'>&#39;&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&#39;&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t84' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>commonPrefix</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;cat in the hat&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&#39;cat in the hat&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t85' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t86' class='stm mis'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testNoCommonPrefix</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t87' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>commonPrefix</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;a&#39;</span><span class='op'>,</span><span class='str'>&#39;b&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&#39;&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t88' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>commonPrefix</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;a&#39;</span><span class='op'>,</span><span class='str'>&#39;b&#39;</span><span class='op'>,</span><span class='str'>&#39;c&#39;</span><span class='op'>,</span><span class='str'>&#39;d&#39;</span><span class='op'>,</span><span class='str'>&#39;e&#39;</span><span class='op'>,</span><span class='str'>&#39;f&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&#39;&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t89' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>commonPrefix</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;a&#39;</span><span class='op'>,</span><span class='str'>&#39;a&#39;</span><span class='op'>,</span><span class='str'>&#39;a&#39;</span><span class='op'>,</span><span class='str'>&#39;a&#39;</span><span class='op'>,</span><span class='str'>&#39;a&#39;</span><span class='op'>,</span><span class='str'>&#39;x&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&#39;&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t90' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t91' class='stm mis'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testUsualCases</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t92' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>commonPrefix</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;ab&#39;</span><span class='op'>,</span> <span class='str'>&#39;ac&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&#39;a&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t93' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>commonPrefix</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;aab&#39;</span><span class='op'>,</span> <span class='str'>&#39;aac&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&#39;aa&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t94' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>commonPrefix</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;aab&#39;</span><span class='op'>,</span> <span class='str'>&#39;aab&#39;</span><span class='op'>,</span> <span class='str'>&#39;aab&#39;</span><span class='op'>,</span> <span class='str'>&#39;aac&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&#39;aa&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t95' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t96' class='stm mis'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testBlankLine</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t97' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>commonPrefix</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;abc&#39;</span><span class='op'>,</span> <span class='str'>&#39;abx&#39;</span><span class='op'>,</span> <span class='str'>&#39;&#39;</span><span class='op'>,</span> <span class='str'>&#39;aby&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&#39;&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t98' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t99' class='stm mis'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>testDecreasingLengths</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t100' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>assertEqual</span><span class='op'>(</span><span class='nam'>commonPrefix</span><span class='op'>(</span><span class='op'>[</span><span class='str'>&#39;abcd&#39;</span><span class='op'>,</span> <span class='str'>&#39;abc&#39;</span><span class='op'>,</span> <span class='str'>&#39;ab&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&#39;ab&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t101' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t102' class='exc'><span class='key'>if</span> <span class='nam'>__name__</span> <span class='op'>==</span> <span class='str'>&#39;__main__&#39;</span><span class='op'>:</span>&nbsp; &nbsp; &nbsp; <span class='com'>#pragma: no cover</span><span class='strut'>&nbsp;</span></p>
-<p id='t103' class='exc'>&nbsp; &nbsp; <span class='nam'>unittest</span><span class='op'>.</span><span class='nam'>main</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-
- </td>
- </tr>
- </table>
-</div>
-
-<div id='footer'>
- <div class='content'>
- <p>
- <a class='nav' href='index.html'>&#xab; index</a> &nbsp; &nbsp; <a class='nav' href='http://nedbatchelder.com/code/coverage'>coverage.py v3.7.1</a>
- </p>
- </div>
-</div>
-
-</body>
-</html>
diff --git a/doc/sample_html/cogapp_test_whiteutils_py.html b/doc/sample_html/cogapp_test_whiteutils_py.html
new file mode 100644
index 00000000..37c175d1
--- /dev/null
+++ b/doc/sample_html/cogapp_test_whiteutils_py.html
@@ -0,0 +1,295 @@
+
+
+
+<!DOCTYPE html>
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+
+
+ <meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
+ <title>Coverage for cogapp/test_whiteutils.py: 0.00%</title>
+ <link rel="stylesheet" href="style.css" type="text/css">
+
+ <script type="text/javascript" src="jquery.min.js"></script>
+ <script type="text/javascript" src="jquery.hotkeys.js"></script>
+ <script type="text/javascript" src="jquery.isonscreen.js"></script>
+ <script type="text/javascript" src="coverage_html.js"></script>
+ <script type="text/javascript">
+ jQuery(document).ready(coverage.pyfile_ready);
+ </script>
+</head>
+<body class="pyfile">
+
+<div id="header">
+ <div class="content">
+ <h1>Coverage for <b>cogapp/test_whiteutils.py</b> :
+ <span class="pc_cov">0.00%</span>
+ </h1>
+
+ <img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
+
+ <h2 class="stats">
+ 69 statements &nbsp;
+ <span class="run hide_run shortkey_r button_toggle_run">0 run</span>
+ <span class="mis shortkey_m button_toggle_mis">69 missing</span>
+ <span class="exc shortkey_x button_toggle_exc">0 excluded</span>
+
+
+ <span class="par run hide_run shortkey_p button_toggle_par">0 partial</span>
+
+ </h2>
+ </div>
+</div>
+
+<div class="help_panel">
+ <img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
+<p class="legend">Hot-keys on this page</p>
+ <div>
+<p class="keyhelp">
+ <span class="key">r</span>
+ <span class="key">m</span>
+ <span class="key">x</span>
+ <span class="key">p</span> &nbsp; toggle line displays
+ </p>
+<p class="keyhelp">
+ <span class="key">j</span>
+ <span class="key">k</span> &nbsp; next/prev highlighted chunk
+ </p>
+<p class="keyhelp">
+ <span class="key">0</span> &nbsp; (zero) top of page
+ </p>
+<p class="keyhelp">
+ <span class="key">1</span> &nbsp; (one) first highlighted chunk
+ </p>
+ </div>
+</div>
+
+<div id="source">
+ <table>
+ <tr>
+ <td class="linenos">
+<p id="n1" class="pln"><a href="#n1">1</a></p>
+<p id="n2" class="pln"><a href="#n2">2</a></p>
+<p id="n3" class="pln"><a href="#n3">3</a></p>
+<p id="n4" class="pln"><a href="#n4">4</a></p>
+<p id="n5" class="pln"><a href="#n5">5</a></p>
+<p id="n6" class="pln"><a href="#n6">6</a></p>
+<p id="n7" class="stm mis"><a href="#n7">7</a></p>
+<p id="n8" class="pln"><a href="#n8">8</a></p>
+<p id="n9" class="stm mis"><a href="#n9">9</a></p>
+<p id="n10" class="pln"><a href="#n10">10</a></p>
+<p id="n11" class="stm mis"><a href="#n11">11</a></p>
+<p id="n12" class="pln"><a href="#n12">12</a></p>
+<p id="n13" class="pln"><a href="#n13">13</a></p>
+<p id="n14" class="stm mis"><a href="#n14">14</a></p>
+<p id="n15" class="pln"><a href="#n15">15</a></p>
+<p id="n16" class="pln"><a href="#n16">16</a></p>
+<p id="n17" class="stm mis"><a href="#n17">17</a></p>
+<p id="n18" class="stm mis"><a href="#n18">18</a></p>
+<p id="n19" class="stm mis"><a href="#n19">19</a></p>
+<p id="n20" class="stm mis"><a href="#n20">20</a></p>
+<p id="n21" class="stm mis"><a href="#n21">21</a></p>
+<p id="n22" class="stm mis"><a href="#n22">22</a></p>
+<p id="n23" class="stm mis"><a href="#n23">23</a></p>
+<p id="n24" class="stm mis"><a href="#n24">24</a></p>
+<p id="n25" class="pln"><a href="#n25">25</a></p>
+<p id="n26" class="stm mis"><a href="#n26">26</a></p>
+<p id="n27" class="stm mis"><a href="#n27">27</a></p>
+<p id="n28" class="stm mis"><a href="#n28">28</a></p>
+<p id="n29" class="stm mis"><a href="#n29">29</a></p>
+<p id="n30" class="pln"><a href="#n30">30</a></p>
+<p id="n31" class="stm mis"><a href="#n31">31</a></p>
+<p id="n32" class="stm mis"><a href="#n32">32</a></p>
+<p id="n33" class="stm mis"><a href="#n33">33</a></p>
+<p id="n34" class="stm mis"><a href="#n34">34</a></p>
+<p id="n35" class="stm mis"><a href="#n35">35</a></p>
+<p id="n36" class="pln"><a href="#n36">36</a></p>
+<p id="n37" class="stm mis"><a href="#n37">37</a></p>
+<p id="n38" class="stm mis"><a href="#n38">38</a></p>
+<p id="n39" class="pln"><a href="#n39">39</a></p>
+<p id="n40" class="stm mis"><a href="#n40">40</a></p>
+<p id="n41" class="stm mis"><a href="#n41">41</a></p>
+<p id="n42" class="stm mis"><a href="#n42">42</a></p>
+<p id="n43" class="pln"><a href="#n43">43</a></p>
+<p id="n44" class="pln"><a href="#n44">44</a></p>
+<p id="n45" class="stm mis"><a href="#n45">45</a></p>
+<p id="n46" class="pln"><a href="#n46">46</a></p>
+<p id="n47" class="pln"><a href="#n47">47</a></p>
+<p id="n48" class="stm mis"><a href="#n48">48</a></p>
+<p id="n49" class="stm mis"><a href="#n49">49</a></p>
+<p id="n50" class="stm mis"><a href="#n50">50</a></p>
+<p id="n51" class="stm mis"><a href="#n51">51</a></p>
+<p id="n52" class="stm mis"><a href="#n52">52</a></p>
+<p id="n53" class="stm mis"><a href="#n53">53</a></p>
+<p id="n54" class="stm mis"><a href="#n54">54</a></p>
+<p id="n55" class="stm mis"><a href="#n55">55</a></p>
+<p id="n56" class="stm mis"><a href="#n56">56</a></p>
+<p id="n57" class="stm mis"><a href="#n57">57</a></p>
+<p id="n58" class="stm mis"><a href="#n58">58</a></p>
+<p id="n59" class="pln"><a href="#n59">59</a></p>
+<p id="n60" class="stm mis"><a href="#n60">60</a></p>
+<p id="n61" class="stm mis"><a href="#n61">61</a></p>
+<p id="n62" class="stm mis"><a href="#n62">62</a></p>
+<p id="n63" class="stm mis"><a href="#n63">63</a></p>
+<p id="n64" class="stm mis"><a href="#n64">64</a></p>
+<p id="n65" class="stm mis"><a href="#n65">65</a></p>
+<p id="n66" class="stm mis"><a href="#n66">66</a></p>
+<p id="n67" class="stm mis"><a href="#n67">67</a></p>
+<p id="n68" class="stm mis"><a href="#n68">68</a></p>
+<p id="n69" class="stm mis"><a href="#n69">69</a></p>
+<p id="n70" class="stm mis"><a href="#n70">70</a></p>
+<p id="n71" class="pln"><a href="#n71">71</a></p>
+<p id="n72" class="stm mis"><a href="#n72">72</a></p>
+<p id="n73" class="stm mis"><a href="#n73">73</a></p>
+<p id="n74" class="pln"><a href="#n74">74</a></p>
+<p id="n75" class="pln"><a href="#n75">75</a></p>
+<p id="n76" class="pln"><a href="#n76">76</a></p>
+<p id="n77" class="pln"><a href="#n77">77</a></p>
+<p id="n78" class="pln"><a href="#n78">78</a></p>
+<p id="n79" class="stm mis"><a href="#n79">79</a></p>
+<p id="n80" class="pln"><a href="#n80">80</a></p>
+<p id="n81" class="pln"><a href="#n81">81</a></p>
+<p id="n82" class="stm mis"><a href="#n82">82</a></p>
+<p id="n83" class="stm mis"><a href="#n83">83</a></p>
+<p id="n84" class="stm mis"><a href="#n84">84</a></p>
+<p id="n85" class="stm mis"><a href="#n85">85</a></p>
+<p id="n86" class="stm mis"><a href="#n86">86</a></p>
+<p id="n87" class="pln"><a href="#n87">87</a></p>
+<p id="n88" class="stm mis"><a href="#n88">88</a></p>
+<p id="n89" class="stm mis"><a href="#n89">89</a></p>
+<p id="n90" class="stm mis"><a href="#n90">90</a></p>
+<p id="n91" class="stm mis"><a href="#n91">91</a></p>
+<p id="n92" class="pln"><a href="#n92">92</a></p>
+<p id="n93" class="stm mis"><a href="#n93">93</a></p>
+<p id="n94" class="stm mis"><a href="#n94">94</a></p>
+<p id="n95" class="stm mis"><a href="#n95">95</a></p>
+<p id="n96" class="stm mis"><a href="#n96">96</a></p>
+<p id="n97" class="pln"><a href="#n97">97</a></p>
+<p id="n98" class="stm mis"><a href="#n98">98</a></p>
+<p id="n99" class="stm mis"><a href="#n99">99</a></p>
+<p id="n100" class="pln"><a href="#n100">100</a></p>
+<p id="n101" class="stm mis"><a href="#n101">101</a></p>
+<p id="n102" class="stm mis"><a href="#n102">102</a></p>
+
+ </td>
+ <td class="text">
+<p id="t1" class="pln"><span class="str">&quot;&quot;&quot; Test the cogapp.whiteutils module.</span><span class="strut">&nbsp;</span></p>
+<p id="t2" class="pln"><span class="str">&nbsp; &nbsp; http://nedbatchelder.com/code/cog</span><span class="strut">&nbsp;</span></p>
+<p id="t3" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t4" class="pln"><span class="str">&nbsp; &nbsp; Copyright 2004-2015, Ned Batchelder.</span><span class="strut">&nbsp;</span></p>
+<p id="t5" class="pln"><span class="str">&quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t6" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t7" class="stm mis"><span class="key">from</span> <span class="nam">__future__</span> <span class="key">import</span> <span class="nam">absolute_import</span><span class="strut">&nbsp;</span></p>
+<p id="t8" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t9" class="stm mis"><span class="key">import</span> <span class="nam">unittest</span><span class="strut">&nbsp;</span></p>
+<p id="t10" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t11" class="stm mis"><span class="key">from</span> <span class="op">.</span><span class="nam">whiteutils</span> <span class="key">import</span> <span class="op">*</span><span class="strut">&nbsp;</span></p>
+<p id="t12" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t13" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t14" class="stm mis"><span class="key">class</span> <span class="nam">WhitePrefixTests</span><span class="op">(</span><span class="nam">unittest</span><span class="op">.</span><span class="nam">TestCase</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t15" class="pln">&nbsp; &nbsp; <span class="str">&quot;&quot;&quot; Test cases for cogapp.whiteutils.</span><span class="strut">&nbsp;</span></p>
+<p id="t16" class="pln"><span class="str">&nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t17" class="stm mis">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testSingleLine</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t18" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">whitePrefix</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;&#39;</span><span class="op">]</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t19" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">whitePrefix</span><span class="op">(</span><span class="op">[</span><span class="str">&#39; &#39;</span><span class="op">]</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t20" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">whitePrefix</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;x&#39;</span><span class="op">]</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t21" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">whitePrefix</span><span class="op">(</span><span class="op">[</span><span class="str">&#39; x&#39;</span><span class="op">]</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39; &#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t22" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">whitePrefix</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;\tx&#39;</span><span class="op">]</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;\t&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t23" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">whitePrefix</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;&nbsp; x&#39;</span><span class="op">]</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;&nbsp; &#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t24" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">whitePrefix</span><span class="op">(</span><span class="op">[</span><span class="str">&#39; \t \tx&nbsp;&nbsp; &#39;</span><span class="op">]</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39; \t \t&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t25" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t26" class="stm mis">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testMultiLine</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t27" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">whitePrefix</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;&nbsp; x&#39;</span><span class="op">,</span><span class="str">&#39;&nbsp; x&#39;</span><span class="op">,</span><span class="str">&#39;&nbsp; x&#39;</span><span class="op">]</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;&nbsp; &#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t28" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">whitePrefix</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;&nbsp;&nbsp; y&#39;</span><span class="op">,</span><span class="str">&#39;&nbsp; y&#39;</span><span class="op">,</span><span class="str">&#39; y&#39;</span><span class="op">]</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39; &#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t29" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">whitePrefix</span><span class="op">(</span><span class="op">[</span><span class="str">&#39; y&#39;</span><span class="op">,</span><span class="str">&#39;&nbsp; y&#39;</span><span class="op">,</span><span class="str">&#39;&nbsp;&nbsp; y&#39;</span><span class="op">]</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39; &#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t30" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t31" class="stm mis">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testBlankLinesAreIgnored</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t32" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">whitePrefix</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;&nbsp; x&#39;</span><span class="op">,</span><span class="str">&#39;&nbsp; x&#39;</span><span class="op">,</span><span class="str">&#39;&#39;</span><span class="op">,</span><span class="str">&#39;&nbsp; x&#39;</span><span class="op">]</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;&nbsp; &#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t33" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">whitePrefix</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;&#39;</span><span class="op">,</span><span class="str">&#39;&nbsp; x&#39;</span><span class="op">,</span><span class="str">&#39;&nbsp; x&#39;</span><span class="op">,</span><span class="str">&#39;&nbsp; x&#39;</span><span class="op">]</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;&nbsp; &#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t34" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">whitePrefix</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;&nbsp; x&#39;</span><span class="op">,</span><span class="str">&#39;&nbsp; x&#39;</span><span class="op">,</span><span class="str">&#39;&nbsp; x&#39;</span><span class="op">,</span><span class="str">&#39;&#39;</span><span class="op">]</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;&nbsp; &#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t35" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">whitePrefix</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;&nbsp; x&#39;</span><span class="op">,</span><span class="str">&#39;&nbsp; x&#39;</span><span class="op">,</span><span class="str">&#39;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#39;</span><span class="op">,</span><span class="str">&#39;&nbsp; x&#39;</span><span class="op">]</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;&nbsp; &#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t36" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t37" class="stm mis">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testTabCharacters</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t38" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">whitePrefix</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;\timport sys&#39;</span><span class="op">,</span> <span class="str">&#39;&#39;</span><span class="op">,</span> <span class="str">&#39;\tprint sys.argv&#39;</span><span class="op">]</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;\t&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t39" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t40" class="stm mis">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testDecreasingLengths</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t41" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">whitePrefix</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;&nbsp;&nbsp; x&#39;</span><span class="op">,</span><span class="str">&#39;&nbsp; x&#39;</span><span class="op">,</span><span class="str">&#39; x&#39;</span><span class="op">]</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39; &#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t42" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">whitePrefix</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;&nbsp; &nbsp;&nbsp; x&#39;</span><span class="op">,</span><span class="str">&#39; x&#39;</span><span class="op">,</span><span class="str">&#39; x&#39;</span><span class="op">]</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39; &#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t43" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t44" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t45" class="stm mis"><span class="key">class</span> <span class="nam">ReindentBlockTests</span><span class="op">(</span><span class="nam">unittest</span><span class="op">.</span><span class="nam">TestCase</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t46" class="pln">&nbsp; &nbsp; <span class="str">&quot;&quot;&quot; Test cases for cogapp.reindentBlock.</span><span class="strut">&nbsp;</span></p>
+<p id="t47" class="pln"><span class="str">&nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t48" class="stm mis">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testNonTermLine</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t49" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">reindentBlock</span><span class="op">(</span><span class="str">&#39;&#39;</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t50" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">reindentBlock</span><span class="op">(</span><span class="str">&#39;x&#39;</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;x&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t51" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">reindentBlock</span><span class="op">(</span><span class="str">&#39; x&#39;</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;x&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t52" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">reindentBlock</span><span class="op">(</span><span class="str">&#39;&nbsp; x&#39;</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;x&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t53" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">reindentBlock</span><span class="op">(</span><span class="str">&#39;\tx&#39;</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;x&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t54" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">reindentBlock</span><span class="op">(</span><span class="str">&#39;x&#39;</span><span class="op">,</span> <span class="str">&#39; &#39;</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39; x&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t55" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">reindentBlock</span><span class="op">(</span><span class="str">&#39;x&#39;</span><span class="op">,</span> <span class="str">&#39;\t&#39;</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;\tx&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t56" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">reindentBlock</span><span class="op">(</span><span class="str">&#39; x&#39;</span><span class="op">,</span> <span class="str">&#39; &#39;</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39; x&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t57" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">reindentBlock</span><span class="op">(</span><span class="str">&#39; x&#39;</span><span class="op">,</span> <span class="str">&#39;\t&#39;</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;\tx&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t58" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">reindentBlock</span><span class="op">(</span><span class="str">&#39; x&#39;</span><span class="op">,</span> <span class="str">&#39;&nbsp; &#39;</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;&nbsp; x&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t59" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t60" class="stm mis">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testSingleLine</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t61" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">reindentBlock</span><span class="op">(</span><span class="str">&#39;\n&#39;</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;\n&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t62" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">reindentBlock</span><span class="op">(</span><span class="str">&#39;x\n&#39;</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;x\n&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t63" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">reindentBlock</span><span class="op">(</span><span class="str">&#39; x\n&#39;</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;x\n&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t64" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">reindentBlock</span><span class="op">(</span><span class="str">&#39;&nbsp; x\n&#39;</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;x\n&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t65" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">reindentBlock</span><span class="op">(</span><span class="str">&#39;\tx\n&#39;</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;x\n&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t66" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">reindentBlock</span><span class="op">(</span><span class="str">&#39;x\n&#39;</span><span class="op">,</span> <span class="str">&#39; &#39;</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39; x\n&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t67" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">reindentBlock</span><span class="op">(</span><span class="str">&#39;x\n&#39;</span><span class="op">,</span> <span class="str">&#39;\t&#39;</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;\tx\n&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t68" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">reindentBlock</span><span class="op">(</span><span class="str">&#39; x\n&#39;</span><span class="op">,</span> <span class="str">&#39; &#39;</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39; x\n&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t69" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">reindentBlock</span><span class="op">(</span><span class="str">&#39; x\n&#39;</span><span class="op">,</span> <span class="str">&#39;\t&#39;</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;\tx\n&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t70" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">reindentBlock</span><span class="op">(</span><span class="str">&#39; x\n&#39;</span><span class="op">,</span> <span class="str">&#39;&nbsp; &#39;</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;&nbsp; x\n&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t71" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t72" class="stm mis">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testRealBlock</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t73" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="strut">&nbsp;</span></p>
+<p id="t74" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">reindentBlock</span><span class="op">(</span><span class="str">&#39;\timport sys\n\n\tprint sys.argv\n&#39;</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t75" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;import sys\n\nprint sys.argv\n&#39;</span><span class="strut">&nbsp;</span></p>
+<p id="t76" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t77" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t78" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t79" class="stm mis"><span class="key">class</span> <span class="nam">CommonPrefixTests</span><span class="op">(</span><span class="nam">unittest</span><span class="op">.</span><span class="nam">TestCase</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t80" class="pln">&nbsp; &nbsp; <span class="str">&quot;&quot;&quot; Test cases for cogapp.commonPrefix.</span><span class="strut">&nbsp;</span></p>
+<p id="t81" class="pln"><span class="str">&nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t82" class="stm mis">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testDegenerateCases</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t83" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">commonPrefix</span><span class="op">(</span><span class="op">[</span><span class="op">]</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t84" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">commonPrefix</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;&#39;</span><span class="op">]</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t85" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">commonPrefix</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;&#39;</span><span class="op">,</span><span class="str">&#39;&#39;</span><span class="op">,</span><span class="str">&#39;&#39;</span><span class="op">,</span><span class="str">&#39;&#39;</span><span class="op">,</span><span class="str">&#39;&#39;</span><span class="op">]</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t86" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">commonPrefix</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;cat in the hat&#39;</span><span class="op">]</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;cat in the hat&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t87" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t88" class="stm mis">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testNoCommonPrefix</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t89" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">commonPrefix</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;a&#39;</span><span class="op">,</span><span class="str">&#39;b&#39;</span><span class="op">]</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t90" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">commonPrefix</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;a&#39;</span><span class="op">,</span><span class="str">&#39;b&#39;</span><span class="op">,</span><span class="str">&#39;c&#39;</span><span class="op">,</span><span class="str">&#39;d&#39;</span><span class="op">,</span><span class="str">&#39;e&#39;</span><span class="op">,</span><span class="str">&#39;f&#39;</span><span class="op">]</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t91" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">commonPrefix</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;a&#39;</span><span class="op">,</span><span class="str">&#39;a&#39;</span><span class="op">,</span><span class="str">&#39;a&#39;</span><span class="op">,</span><span class="str">&#39;a&#39;</span><span class="op">,</span><span class="str">&#39;a&#39;</span><span class="op">,</span><span class="str">&#39;x&#39;</span><span class="op">]</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t92" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t93" class="stm mis">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testUsualCases</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t94" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">commonPrefix</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;ab&#39;</span><span class="op">,</span> <span class="str">&#39;ac&#39;</span><span class="op">]</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;a&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t95" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">commonPrefix</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;aab&#39;</span><span class="op">,</span> <span class="str">&#39;aac&#39;</span><span class="op">]</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;aa&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t96" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">commonPrefix</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;aab&#39;</span><span class="op">,</span> <span class="str">&#39;aab&#39;</span><span class="op">,</span> <span class="str">&#39;aab&#39;</span><span class="op">,</span> <span class="str">&#39;aac&#39;</span><span class="op">]</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;aa&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t97" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t98" class="stm mis">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testBlankLine</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t99" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">commonPrefix</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;abc&#39;</span><span class="op">,</span> <span class="str">&#39;abx&#39;</span><span class="op">,</span> <span class="str">&#39;&#39;</span><span class="op">,</span> <span class="str">&#39;aby&#39;</span><span class="op">]</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t100" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t101" class="stm mis">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testDecreasingLengths</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t102" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">commonPrefix</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;abcd&#39;</span><span class="op">,</span> <span class="str">&#39;abc&#39;</span><span class="op">,</span> <span class="str">&#39;ab&#39;</span><span class="op">]</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;ab&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+
+ </td>
+ </tr>
+ </table>
+</div>
+
+<div id="footer">
+ <div class="content">
+ <p>
+ <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.org">coverage.py v4.0</a>,
+ created at 2015-09-20 10:28
+ </p>
+ </div>
+</div>
+
+</body>
+</html>
diff --git a/doc/sample_html/cogapp_whiteutils.html b/doc/sample_html/cogapp_whiteutils.html
deleted file mode 100644
index c262ff9c..00000000
--- a/doc/sample_html/cogapp_whiteutils.html
+++ /dev/null
@@ -1,226 +0,0 @@
-<!doctype html PUBLIC "-//W3C//DTD html 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
- <meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
-
-
- <meta http-equiv='X-UA-Compatible' content='IE=emulateIE7' />
- <title>Coverage for cogapp/whiteutils: 92%</title>
- <link rel='stylesheet' href='style.css' type='text/css'>
-
- <script type='text/javascript' src='jquery.min.js'></script>
- <script type='text/javascript' src='jquery.hotkeys.js'></script>
- <script type='text/javascript' src='jquery.isonscreen.js'></script>
- <script type='text/javascript' src='coverage_html.js'></script>
- <script type='text/javascript' charset='utf-8'>
- jQuery(document).ready(coverage.pyfile_ready);
- </script>
-</head>
-<body id='pyfile'>
-
-<div id='header'>
- <div class='content'>
- <h1>Coverage for <b>cogapp/whiteutils</b> :
- <span class='pc_cov'>92%</span>
- </h1>
- <img id='keyboard_icon' src='keybd_closed.png'>
- <h2 class='stats'>
- 45 statements &nbsp;
- <span class='run hide_run shortkey_r button_toggle_run'>42 run</span>
- <span class='mis shortkey_m button_toggle_mis'>3 missing</span>
- <span class='exc shortkey_x button_toggle_exc'>0 excluded</span>
-
- <span class='par run hide_run shortkey_p button_toggle_par'>3 partial</span>
-
- </h2>
- </div>
-</div>
-
-<div class='help_panel'>
- <img id='panel_icon' src='keybd_open.png'>
-<p class='legend'>Hot-keys on this page</p>
- <div>
-<p class='keyhelp'>
- <span class='key'>r</span>
- <span class='key'>m</span>
- <span class='key'>x</span>
- <span class='key'>p</span> &nbsp; toggle line displays
- </p>
-<p class='keyhelp'>
- <span class='key'>j</span>
- <span class='key'>k</span> &nbsp; next/prev highlighted chunk
- </p>
-<p class='keyhelp'>
- <span class='key'>0</span> &nbsp; (zero) top of page
- </p>
-<p class='keyhelp'>
- <span class='key'>1</span> &nbsp; (one) first highlighted chunk
- </p>
- </div>
-</div>
-
-<div id='source'>
- <table cellspacing='0' cellpadding='0'>
- <tr>
- <td class='linenos' valign='top'>
-<p id='n1' class='pln'><a href='#n1'>1</a></p>
-<p id='n2' class='pln'><a href='#n2'>2</a></p>
-<p id='n3' class='pln'><a href='#n3'>3</a></p>
-<p id='n4' class='pln'><a href='#n4'>4</a></p>
-<p id='n5' class='pln'><a href='#n5'>5</a></p>
-<p id='n6' class='pln'><a href='#n6'>6</a></p>
-<p id='n7' class='stm run hide_run'><a href='#n7'>7</a></p>
-<p id='n8' class='stm run hide_run'><a href='#n8'>8</a></p>
-<p id='n9' class='stm run hide_run'><a href='#n9'>9</a></p>
-<p id='n10' class='pln'><a href='#n10'>10</a></p>
-<p id='n11' class='stm run hide_run'><a href='#n11'>11</a></p>
-<p id='n12' class='pln'><a href='#n12'>12</a></p>
-<p id='n13' class='pln'><a href='#n13'>13</a></p>
-<p id='n14' class='pln'><a href='#n14'>14</a></p>
-<p id='n15' class='pln'><a href='#n15'>15</a></p>
-<p id='n16' class='stm run hide_run'><a href='#n16'>16</a></p>
-<p id='n17' class='pln'><a href='#n17'>17</a></p>
-<p id='n18' class='stm run hide_run'><a href='#n18'>18</a></p>
-<p id='n19' class='pln'><a href='#n19'>19</a></p>
-<p id='n20' class='pln'><a href='#n20'>20</a></p>
-<p id='n21' class='pln'><a href='#n21'>21</a></p>
-<p id='n22' class='stm run hide_run'><a href='#n22'>22</a></p>
-<p id='n23' class='stm par run hide_run'><a href='#n23'>23</a></p>
-<p id='n24' class='stm run hide_run'><a href='#n24'>24</a></p>
-<p id='n25' class='stm run hide_run'><a href='#n25'>25</a></p>
-<p id='n26' class='pln'><a href='#n26'>26</a></p>
-<p id='n27' class='pln'><a href='#n27'>27</a></p>
-<p id='n28' class='pln'><a href='#n28'>28</a></p>
-<p id='n29' class='stm run hide_run'><a href='#n29'>29</a></p>
-<p id='n30' class='stm run hide_run'><a href='#n30'>30</a></p>
-<p id='n31' class='stm par run hide_run'><a href='#n31'>31</a></p>
-<p id='n32' class='stm mis'><a href='#n32'>32</a></p>
-<p id='n33' class='stm mis'><a href='#n33'>33</a></p>
-<p id='n34' class='stm run hide_run'><a href='#n34'>34</a></p>
-<p id='n35' class='pln'><a href='#n35'>35</a></p>
-<p id='n36' class='stm run hide_run'><a href='#n36'>36</a></p>
-<p id='n37' class='pln'><a href='#n37'>37</a></p>
-<p id='n38' class='pln'><a href='#n38'>38</a></p>
-<p id='n39' class='pln'><a href='#n39'>39</a></p>
-<p id='n40' class='pln'><a href='#n40'>40</a></p>
-<p id='n41' class='stm run hide_run'><a href='#n41'>41</a></p>
-<p id='n42' class='stm run hide_run'><a href='#n42'>42</a></p>
-<p id='n43' class='stm run hide_run'><a href='#n43'>43</a></p>
-<p id='n44' class='stm run hide_run'><a href='#n44'>44</a></p>
-<p id='n45' class='stm run hide_run'><a href='#n45'>45</a></p>
-<p id='n46' class='stm run hide_run'><a href='#n46'>46</a></p>
-<p id='n47' class='stm run hide_run'><a href='#n47'>47</a></p>
-<p id='n48' class='stm run hide_run'><a href='#n48'>48</a></p>
-<p id='n49' class='stm run hide_run'><a href='#n49'>49</a></p>
-<p id='n50' class='stm run hide_run'><a href='#n50'>50</a></p>
-<p id='n51' class='stm run hide_run'><a href='#n51'>51</a></p>
-<p id='n52' class='stm run hide_run'><a href='#n52'>52</a></p>
-<p id='n53' class='stm run hide_run'><a href='#n53'>53</a></p>
-<p id='n54' class='stm run hide_run'><a href='#n54'>54</a></p>
-<p id='n55' class='pln'><a href='#n55'>55</a></p>
-<p id='n56' class='stm run hide_run'><a href='#n56'>56</a></p>
-<p id='n57' class='pln'><a href='#n57'>57</a></p>
-<p id='n58' class='pln'><a href='#n58'>58</a></p>
-<p id='n59' class='stm par run hide_run'><a href='#n59'>59</a></p>
-<p id='n60' class='stm mis'><a href='#n60'>60</a></p>
-<p id='n61' class='stm run hide_run'><a href='#n61'>61</a></p>
-<p id='n62' class='stm run hide_run'><a href='#n62'>62</a></p>
-<p id='n63' class='stm run hide_run'><a href='#n63'>63</a></p>
-<p id='n64' class='stm run hide_run'><a href='#n64'>64</a></p>
-<p id='n65' class='stm run hide_run'><a href='#n65'>65</a></p>
-<p id='n66' class='stm run hide_run'><a href='#n66'>66</a></p>
-<p id='n67' class='stm run hide_run'><a href='#n67'>67</a></p>
-<p id='n68' class='stm run hide_run'><a href='#n68'>68</a></p>
-<p id='n69' class='stm run hide_run'><a href='#n69'>69</a></p>
-<p id='n70' class='stm run hide_run'><a href='#n70'>70</a></p>
-<p id='n71' class='stm run hide_run'><a href='#n71'>71</a></p>
-
- </td>
- <td class='text' valign='top'>
-<p id='t1' class='pln'><span class='str'>&quot;&quot;&quot; Indentation utilities for Cog.</span><span class='strut'>&nbsp;</span></p>
-<p id='t2' class='pln'><span class='str'>&nbsp; &nbsp; http://nedbatchelder.com/code/cog</span><span class='strut'>&nbsp;</span></p>
-<p id='t3' class='pln'><span class='str'>&nbsp; &nbsp; </span><span class='strut'>&nbsp;</span></p>
-<p id='t4' class='pln'><span class='str'>&nbsp; &nbsp; Copyright 2004-2012, Ned Batchelder.</span><span class='strut'>&nbsp;</span></p>
-<p id='t5' class='pln'><span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t6' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t7' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>__future__</span> <span class='key'>import</span> <span class='nam'>absolute_import</span><span class='strut'>&nbsp;</span></p>
-<p id='t8' class='stm run hide_run'><span class='key'>import</span> <span class='nam'>re</span><span class='strut'>&nbsp;</span></p>
-<p id='t9' class='stm run hide_run'><span class='key'>from</span> <span class='op'>.</span><span class='nam'>backward</span> <span class='key'>import</span> <span class='nam'>string_types</span><span class='op'>,</span> <span class='nam'>bytes_types</span><span class='op'>,</span> <span class='nam'>to_bytes</span><span class='op'>,</span> <span class='nam'>text_types</span><span class='op'>,</span> <span class='nam'>b</span><span class='strut'>&nbsp;</span></p>
-<p id='t10' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t11' class='stm run hide_run'><span class='key'>def</span> <span class='nam'>whitePrefix</span><span class='op'>(</span><span class='nam'>strings</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t12' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Determine the whitespace prefix common to all non-blank lines</span><span class='strut'>&nbsp;</span></p>
-<p id='t13' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; in the argument list.</span><span class='strut'>&nbsp;</span></p>
-<p id='t14' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t15' class='pln'>&nbsp; &nbsp; <span class='com'># Remove all blank lines from the list</span><span class='strut'>&nbsp;</span></p>
-<p id='t16' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>strings</span> <span class='op'>=</span> <span class='op'>[</span><span class='nam'>s</span> <span class='key'>for</span> <span class='nam'>s</span> <span class='key'>in</span> <span class='nam'>strings</span> <span class='key'>if</span> <span class='nam'>s</span><span class='op'>.</span><span class='nam'>strip</span><span class='op'>(</span><span class='op'>)</span> <span class='op'>!=</span> <span class='str'>&#39;&#39;</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t17' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t18' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>strings</span><span class='op'>:</span> <span class='key'>return</span> <span class='str'>&#39;&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t19' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t20' class='pln'>&nbsp; &nbsp; <span class='com'># Find initial whitespace chunk in the first line.</span><span class='strut'>&nbsp;</span></p>
-<p id='t21' class='pln'>&nbsp; &nbsp; <span class='com'># This is the best prefix we can hope for.</span><span class='strut'>&nbsp;</span></p>
-<p id='t22' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>pat</span> <span class='op'>=</span> <span class='str'>r&#39;\s*&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t23' class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>25</span>&nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>strings</span><span class='op'>[</span><span class='num'>0</span><span class='op'>]</span><span class='op'>,</span> <span class='nam'>bytes_types</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t24' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>pat</span> <span class='op'>=</span> <span class='nam'>to_bytes</span><span class='op'>(</span><span class='nam'>pat</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t25' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>prefix</span> <span class='op'>=</span> <span class='nam'>re</span><span class='op'>.</span><span class='nam'>match</span><span class='op'>(</span><span class='nam'>pat</span><span class='op'>,</span> <span class='nam'>strings</span><span class='op'>[</span><span class='num'>0</span><span class='op'>]</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>group</span><span class='op'>(</span><span class='num'>0</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t26' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t27' class='pln'>&nbsp; &nbsp; <span class='com'># Loop over the other strings, keeping only as much of</span><span class='strut'>&nbsp;</span></p>
-<p id='t28' class='pln'>&nbsp; &nbsp; <span class='com'># the prefix as matches each string.</span><span class='strut'>&nbsp;</span></p>
-<p id='t29' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>s</span> <span class='key'>in</span> <span class='nam'>strings</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t30' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>i</span> <span class='key'>in</span> <span class='nam'>range</span><span class='op'>(</span><span class='nam'>len</span><span class='op'>(</span><span class='nam'>prefix</span><span class='op'>)</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t31' class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>32</span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>prefix</span><span class='op'>[</span><span class='nam'>i</span><span class='op'>]</span> <span class='op'>!=</span> <span class='nam'>s</span><span class='op'>[</span><span class='nam'>i</span><span class='op'>]</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t32' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>prefix</span> <span class='op'>=</span> <span class='nam'>prefix</span><span class='op'>[</span><span class='op'>:</span><span class='nam'>i</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t33' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>break</span><span class='strut'>&nbsp;</span></p>
-<p id='t34' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>prefix</span><span class='strut'>&nbsp;</span></p>
-<p id='t35' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t36' class='stm run hide_run'><span class='key'>def</span> <span class='nam'>reindentBlock</span><span class='op'>(</span><span class='nam'>lines</span><span class='op'>,</span> <span class='nam'>newIndent</span><span class='op'>=</span><span class='str'>&#39;&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t37' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Take a block of text as a string or list of lines.</span><span class='strut'>&nbsp;</span></p>
-<p id='t38' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Remove any common whitespace indentation.</span><span class='strut'>&nbsp;</span></p>
-<p id='t39' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Re-indent using newIndent, and return it as a single string.</span><span class='strut'>&nbsp;</span></p>
-<p id='t40' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t41' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>sep</span><span class='op'>,</span> <span class='nam'>nothing</span> <span class='op'>=</span> <span class='str'>&#39;\n&#39;</span><span class='op'>,</span> <span class='str'>&#39;&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t42' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>lines</span><span class='op'>,</span> <span class='nam'>bytes_types</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t43' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>sep</span><span class='op'>,</span> <span class='nam'>nothing</span> <span class='op'>=</span> <span class='nam'>b</span><span class='op'>(</span><span class='str'>&#39;\n&#39;</span><span class='op'>)</span><span class='op'>,</span> <span class='nam'>b</span><span class='op'>(</span><span class='str'>&#39;&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t44' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>lines</span><span class='op'>,</span> <span class='nam'>string_types</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t45' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>lines</span> <span class='op'>=</span> <span class='nam'>lines</span><span class='op'>.</span><span class='nam'>split</span><span class='op'>(</span><span class='nam'>sep</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t46' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>oldIndent</span> <span class='op'>=</span> <span class='nam'>whitePrefix</span><span class='op'>(</span><span class='nam'>lines</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t47' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>outLines</span> <span class='op'>=</span> <span class='op'>[</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t48' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>l</span> <span class='key'>in</span> <span class='nam'>lines</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t49' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>oldIndent</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t50' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>l</span> <span class='op'>=</span> <span class='nam'>l</span><span class='op'>.</span><span class='nam'>replace</span><span class='op'>(</span><span class='nam'>oldIndent</span><span class='op'>,</span> <span class='nam'>nothing</span><span class='op'>,</span> <span class='num'>1</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t51' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>l</span> <span class='key'>and</span> <span class='nam'>newIndent</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t52' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>l</span> <span class='op'>=</span> <span class='nam'>newIndent</span> <span class='op'>+</span> <span class='nam'>l</span><span class='strut'>&nbsp;</span></p>
-<p id='t53' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>outLines</span><span class='op'>.</span><span class='nam'>append</span><span class='op'>(</span><span class='nam'>l</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t54' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>sep</span><span class='op'>.</span><span class='nam'>join</span><span class='op'>(</span><span class='nam'>outLines</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t55' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t56' class='stm run hide_run'><span class='key'>def</span> <span class='nam'>commonPrefix</span><span class='op'>(</span><span class='nam'>strings</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t57' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Find the longest string that is a prefix of all the strings.</span><span class='strut'>&nbsp;</span></p>
-<p id='t58' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t59' class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>60</span>&nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>strings</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t60' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='str'>&#39;&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t61' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>prefix</span> <span class='op'>=</span> <span class='nam'>strings</span><span class='op'>[</span><span class='num'>0</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t62' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>s</span> <span class='key'>in</span> <span class='nam'>strings</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t63' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>len</span><span class='op'>(</span><span class='nam'>s</span><span class='op'>)</span> <span class='op'>&lt;</span> <span class='nam'>len</span><span class='op'>(</span><span class='nam'>prefix</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t64' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>prefix</span> <span class='op'>=</span> <span class='nam'>prefix</span><span class='op'>[</span><span class='op'>:</span><span class='nam'>len</span><span class='op'>(</span><span class='nam'>s</span><span class='op'>)</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t65' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>prefix</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t66' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='str'>&#39;&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t67' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>i</span> <span class='key'>in</span> <span class='nam'>range</span><span class='op'>(</span><span class='nam'>len</span><span class='op'>(</span><span class='nam'>prefix</span><span class='op'>)</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t68' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>prefix</span><span class='op'>[</span><span class='nam'>i</span><span class='op'>]</span> <span class='op'>!=</span> <span class='nam'>s</span><span class='op'>[</span><span class='nam'>i</span><span class='op'>]</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t69' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>prefix</span> <span class='op'>=</span> <span class='nam'>prefix</span><span class='op'>[</span><span class='op'>:</span><span class='nam'>i</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t70' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>break</span><span class='strut'>&nbsp;</span></p>
-<p id='t71' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>prefix</span><span class='strut'>&nbsp;</span></p>
-
- </td>
- </tr>
- </table>
-</div>
-
-<div id='footer'>
- <div class='content'>
- <p>
- <a class='nav' href='index.html'>&#xab; index</a> &nbsp; &nbsp; <a class='nav' href='http://nedbatchelder.com/code/coverage'>coverage.py v3.7.1</a>
- </p>
- </div>
-</div>
-
-</body>
-</html>
diff --git a/doc/sample_html/cogapp_whiteutils_py.html b/doc/sample_html/cogapp_whiteutils_py.html
new file mode 100644
index 00000000..2a850ff8
--- /dev/null
+++ b/doc/sample_html/cogapp_whiteutils_py.html
@@ -0,0 +1,233 @@
+
+
+
+<!DOCTYPE html>
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+
+
+ <meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
+ <title>Coverage for cogapp/whiteutils.py: 92.21%</title>
+ <link rel="stylesheet" href="style.css" type="text/css">
+
+ <script type="text/javascript" src="jquery.min.js"></script>
+ <script type="text/javascript" src="jquery.hotkeys.js"></script>
+ <script type="text/javascript" src="jquery.isonscreen.js"></script>
+ <script type="text/javascript" src="coverage_html.js"></script>
+ <script type="text/javascript">
+ jQuery(document).ready(coverage.pyfile_ready);
+ </script>
+</head>
+<body class="pyfile">
+
+<div id="header">
+ <div class="content">
+ <h1>Coverage for <b>cogapp/whiteutils.py</b> :
+ <span class="pc_cov">92.21%</span>
+ </h1>
+
+ <img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
+
+ <h2 class="stats">
+ 45 statements &nbsp;
+ <span class="run hide_run shortkey_r button_toggle_run">42 run</span>
+ <span class="mis shortkey_m button_toggle_mis">3 missing</span>
+ <span class="exc shortkey_x button_toggle_exc">0 excluded</span>
+
+
+ <span class="par run hide_run shortkey_p button_toggle_par">3 partial</span>
+
+ </h2>
+ </div>
+</div>
+
+<div class="help_panel">
+ <img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
+<p class="legend">Hot-keys on this page</p>
+ <div>
+<p class="keyhelp">
+ <span class="key">r</span>
+ <span class="key">m</span>
+ <span class="key">x</span>
+ <span class="key">p</span> &nbsp; toggle line displays
+ </p>
+<p class="keyhelp">
+ <span class="key">j</span>
+ <span class="key">k</span> &nbsp; next/prev highlighted chunk
+ </p>
+<p class="keyhelp">
+ <span class="key">0</span> &nbsp; (zero) top of page
+ </p>
+<p class="keyhelp">
+ <span class="key">1</span> &nbsp; (one) first highlighted chunk
+ </p>
+ </div>
+</div>
+
+<div id="source">
+ <table>
+ <tr>
+ <td class="linenos">
+<p id="n1" class="pln"><a href="#n1">1</a></p>
+<p id="n2" class="pln"><a href="#n2">2</a></p>
+<p id="n3" class="pln"><a href="#n3">3</a></p>
+<p id="n4" class="pln"><a href="#n4">4</a></p>
+<p id="n5" class="pln"><a href="#n5">5</a></p>
+<p id="n6" class="pln"><a href="#n6">6</a></p>
+<p id="n7" class="stm run hide_run"><a href="#n7">7</a></p>
+<p id="n8" class="stm run hide_run"><a href="#n8">8</a></p>
+<p id="n9" class="stm run hide_run"><a href="#n9">9</a></p>
+<p id="n10" class="pln"><a href="#n10">10</a></p>
+<p id="n11" class="stm run hide_run"><a href="#n11">11</a></p>
+<p id="n12" class="pln"><a href="#n12">12</a></p>
+<p id="n13" class="pln"><a href="#n13">13</a></p>
+<p id="n14" class="pln"><a href="#n14">14</a></p>
+<p id="n15" class="pln"><a href="#n15">15</a></p>
+<p id="n16" class="stm run hide_run"><a href="#n16">16</a></p>
+<p id="n17" class="pln"><a href="#n17">17</a></p>
+<p id="n18" class="stm run hide_run"><a href="#n18">18</a></p>
+<p id="n19" class="pln"><a href="#n19">19</a></p>
+<p id="n20" class="pln"><a href="#n20">20</a></p>
+<p id="n21" class="pln"><a href="#n21">21</a></p>
+<p id="n22" class="stm run hide_run"><a href="#n22">22</a></p>
+<p id="n23" class="stm par run hide_run"><a href="#n23">23</a></p>
+<p id="n24" class="stm run hide_run"><a href="#n24">24</a></p>
+<p id="n25" class="stm run hide_run"><a href="#n25">25</a></p>
+<p id="n26" class="pln"><a href="#n26">26</a></p>
+<p id="n27" class="pln"><a href="#n27">27</a></p>
+<p id="n28" class="pln"><a href="#n28">28</a></p>
+<p id="n29" class="stm run hide_run"><a href="#n29">29</a></p>
+<p id="n30" class="stm run hide_run"><a href="#n30">30</a></p>
+<p id="n31" class="stm par run hide_run"><a href="#n31">31</a></p>
+<p id="n32" class="stm mis"><a href="#n32">32</a></p>
+<p id="n33" class="stm mis"><a href="#n33">33</a></p>
+<p id="n34" class="stm run hide_run"><a href="#n34">34</a></p>
+<p id="n35" class="pln"><a href="#n35">35</a></p>
+<p id="n36" class="stm run hide_run"><a href="#n36">36</a></p>
+<p id="n37" class="pln"><a href="#n37">37</a></p>
+<p id="n38" class="pln"><a href="#n38">38</a></p>
+<p id="n39" class="pln"><a href="#n39">39</a></p>
+<p id="n40" class="pln"><a href="#n40">40</a></p>
+<p id="n41" class="stm run hide_run"><a href="#n41">41</a></p>
+<p id="n42" class="stm run hide_run"><a href="#n42">42</a></p>
+<p id="n43" class="stm run hide_run"><a href="#n43">43</a></p>
+<p id="n44" class="stm run hide_run"><a href="#n44">44</a></p>
+<p id="n45" class="stm run hide_run"><a href="#n45">45</a></p>
+<p id="n46" class="stm run hide_run"><a href="#n46">46</a></p>
+<p id="n47" class="stm run hide_run"><a href="#n47">47</a></p>
+<p id="n48" class="stm run hide_run"><a href="#n48">48</a></p>
+<p id="n49" class="stm run hide_run"><a href="#n49">49</a></p>
+<p id="n50" class="stm run hide_run"><a href="#n50">50</a></p>
+<p id="n51" class="stm run hide_run"><a href="#n51">51</a></p>
+<p id="n52" class="stm run hide_run"><a href="#n52">52</a></p>
+<p id="n53" class="stm run hide_run"><a href="#n53">53</a></p>
+<p id="n54" class="stm run hide_run"><a href="#n54">54</a></p>
+<p id="n55" class="pln"><a href="#n55">55</a></p>
+<p id="n56" class="stm run hide_run"><a href="#n56">56</a></p>
+<p id="n57" class="pln"><a href="#n57">57</a></p>
+<p id="n58" class="pln"><a href="#n58">58</a></p>
+<p id="n59" class="stm par run hide_run"><a href="#n59">59</a></p>
+<p id="n60" class="stm mis"><a href="#n60">60</a></p>
+<p id="n61" class="stm run hide_run"><a href="#n61">61</a></p>
+<p id="n62" class="stm run hide_run"><a href="#n62">62</a></p>
+<p id="n63" class="stm run hide_run"><a href="#n63">63</a></p>
+<p id="n64" class="stm run hide_run"><a href="#n64">64</a></p>
+<p id="n65" class="stm run hide_run"><a href="#n65">65</a></p>
+<p id="n66" class="stm run hide_run"><a href="#n66">66</a></p>
+<p id="n67" class="stm run hide_run"><a href="#n67">67</a></p>
+<p id="n68" class="stm run hide_run"><a href="#n68">68</a></p>
+<p id="n69" class="stm run hide_run"><a href="#n69">69</a></p>
+<p id="n70" class="stm run hide_run"><a href="#n70">70</a></p>
+<p id="n71" class="stm run hide_run"><a href="#n71">71</a></p>
+
+ </td>
+ <td class="text">
+<p id="t1" class="pln"><span class="str">&quot;&quot;&quot; Indentation utilities for Cog.</span><span class="strut">&nbsp;</span></p>
+<p id="t2" class="pln"><span class="str">&nbsp; &nbsp; http://nedbatchelder.com/code/cog</span><span class="strut">&nbsp;</span></p>
+<p id="t3" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t4" class="pln"><span class="str">&nbsp; &nbsp; Copyright 2004-2015, Ned Batchelder.</span><span class="strut">&nbsp;</span></p>
+<p id="t5" class="pln"><span class="str">&quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t6" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t7" class="stm run hide_run"><span class="key">from</span> <span class="nam">__future__</span> <span class="key">import</span> <span class="nam">absolute_import</span><span class="strut">&nbsp;</span></p>
+<p id="t8" class="stm run hide_run"><span class="key">import</span> <span class="nam">re</span><span class="strut">&nbsp;</span></p>
+<p id="t9" class="stm run hide_run"><span class="key">from</span> <span class="op">.</span><span class="nam">backward</span> <span class="key">import</span> <span class="nam">string_types</span><span class="op">,</span> <span class="nam">bytes_types</span><span class="op">,</span> <span class="nam">to_bytes</span><span class="op">,</span> <span class="nam">b</span><span class="strut">&nbsp;</span></p>
+<p id="t10" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t11" class="stm run hide_run"><span class="key">def</span> <span class="nam">whitePrefix</span><span class="op">(</span><span class="nam">strings</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t12" class="pln">&nbsp; &nbsp; <span class="str">&quot;&quot;&quot; Determine the whitespace prefix common to all non-blank lines</span><span class="strut">&nbsp;</span></p>
+<p id="t13" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; in the argument list.</span><span class="strut">&nbsp;</span></p>
+<p id="t14" class="pln"><span class="str">&nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t15" class="pln">&nbsp; &nbsp; <span class="com"># Remove all blank lines from the list</span><span class="strut">&nbsp;</span></p>
+<p id="t16" class="stm run hide_run">&nbsp; &nbsp; <span class="nam">strings</span> <span class="op">=</span> <span class="op">[</span><span class="nam">s</span> <span class="key">for</span> <span class="nam">s</span> <span class="key">in</span> <span class="nam">strings</span> <span class="key">if</span> <span class="nam">s</span><span class="op">.</span><span class="nam">strip</span><span class="op">(</span><span class="op">)</span> <span class="op">!=</span> <span class="str">&#39;&#39;</span><span class="op">]</span><span class="strut">&nbsp;</span></p>
+<p id="t17" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t18" class="stm run hide_run">&nbsp; &nbsp; <span class="key">if</span> <span class="key">not</span> <span class="nam">strings</span><span class="op">:</span> <span class="key">return</span> <span class="str">&#39;&#39;</span><span class="strut">&nbsp;</span></p>
+<p id="t19" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t20" class="pln">&nbsp; &nbsp; <span class="com"># Find initial whitespace chunk in the first line.</span><span class="strut">&nbsp;</span></p>
+<p id="t21" class="pln">&nbsp; &nbsp; <span class="com"># This is the best prefix we can hope for.</span><span class="strut">&nbsp;</span></p>
+<p id="t22" class="stm run hide_run">&nbsp; &nbsp; <span class="nam">pat</span> <span class="op">=</span> <span class="str">r&#39;\s*&#39;</span><span class="strut">&nbsp;</span></p>
+<p id="t23" class="stm par run hide_run"><span class="annotate" title="Line 23 was executed, but never jumped to line 25">23&#x202F;&#x219B;&#x202F;25 [?]</span>&nbsp; &nbsp; <span class="key">if</span> <span class="nam">isinstance</span><span class="op">(</span><span class="nam">strings</span><span class="op">[</span><span class="num">0</span><span class="op">]</span><span class="op">,</span> <span class="nam">bytes_types</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t24" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">pat</span> <span class="op">=</span> <span class="nam">to_bytes</span><span class="op">(</span><span class="nam">pat</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t25" class="stm run hide_run">&nbsp; &nbsp; <span class="nam">prefix</span> <span class="op">=</span> <span class="nam">re</span><span class="op">.</span><span class="nam">match</span><span class="op">(</span><span class="nam">pat</span><span class="op">,</span> <span class="nam">strings</span><span class="op">[</span><span class="num">0</span><span class="op">]</span><span class="op">)</span><span class="op">.</span><span class="nam">group</span><span class="op">(</span><span class="num">0</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t26" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t27" class="pln">&nbsp; &nbsp; <span class="com"># Loop over the other strings, keeping only as much of</span><span class="strut">&nbsp;</span></p>
+<p id="t28" class="pln">&nbsp; &nbsp; <span class="com"># the prefix as matches each string.</span><span class="strut">&nbsp;</span></p>
+<p id="t29" class="stm run hide_run">&nbsp; &nbsp; <span class="key">for</span> <span class="nam">s</span> <span class="key">in</span> <span class="nam">strings</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t30" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">for</span> <span class="nam">i</span> <span class="key">in</span> <span class="nam">range</span><span class="op">(</span><span class="nam">len</span><span class="op">(</span><span class="nam">prefix</span><span class="op">)</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t31" class="stm par run hide_run"><span class="annotate" title="Line 31 was executed, but never jumped to line 32">31&#x202F;&#x219B;&#x202F;32 [?]</span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">prefix</span><span class="op">[</span><span class="nam">i</span><span class="op">]</span> <span class="op">!=</span> <span class="nam">s</span><span class="op">[</span><span class="nam">i</span><span class="op">]</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t32" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">prefix</span> <span class="op">=</span> <span class="nam">prefix</span><span class="op">[</span><span class="op">:</span><span class="nam">i</span><span class="op">]</span><span class="strut">&nbsp;</span></p>
+<p id="t33" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">break</span><span class="strut">&nbsp;</span></p>
+<p id="t34" class="stm run hide_run">&nbsp; &nbsp; <span class="key">return</span> <span class="nam">prefix</span><span class="strut">&nbsp;</span></p>
+<p id="t35" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t36" class="stm run hide_run"><span class="key">def</span> <span class="nam">reindentBlock</span><span class="op">(</span><span class="nam">lines</span><span class="op">,</span> <span class="nam">newIndent</span><span class="op">=</span><span class="str">&#39;&#39;</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t37" class="pln">&nbsp; &nbsp; <span class="str">&quot;&quot;&quot; Take a block of text as a string or list of lines.</span><span class="strut">&nbsp;</span></p>
+<p id="t38" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; Remove any common whitespace indentation.</span><span class="strut">&nbsp;</span></p>
+<p id="t39" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; Re-indent using newIndent, and return it as a single string.</span><span class="strut">&nbsp;</span></p>
+<p id="t40" class="pln"><span class="str">&nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t41" class="stm run hide_run">&nbsp; &nbsp; <span class="nam">sep</span><span class="op">,</span> <span class="nam">nothing</span> <span class="op">=</span> <span class="str">&#39;\n&#39;</span><span class="op">,</span> <span class="str">&#39;&#39;</span><span class="strut">&nbsp;</span></p>
+<p id="t42" class="stm run hide_run">&nbsp; &nbsp; <span class="key">if</span> <span class="nam">isinstance</span><span class="op">(</span><span class="nam">lines</span><span class="op">,</span> <span class="nam">bytes_types</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t43" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">sep</span><span class="op">,</span> <span class="nam">nothing</span> <span class="op">=</span> <span class="nam">b</span><span class="op">(</span><span class="str">&#39;\n&#39;</span><span class="op">)</span><span class="op">,</span> <span class="nam">b</span><span class="op">(</span><span class="str">&#39;&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t44" class="stm run hide_run">&nbsp; &nbsp; <span class="key">if</span> <span class="nam">isinstance</span><span class="op">(</span><span class="nam">lines</span><span class="op">,</span> <span class="nam">string_types</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t45" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">lines</span> <span class="op">=</span> <span class="nam">lines</span><span class="op">.</span><span class="nam">split</span><span class="op">(</span><span class="nam">sep</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t46" class="stm run hide_run">&nbsp; &nbsp; <span class="nam">oldIndent</span> <span class="op">=</span> <span class="nam">whitePrefix</span><span class="op">(</span><span class="nam">lines</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t47" class="stm run hide_run">&nbsp; &nbsp; <span class="nam">outLines</span> <span class="op">=</span> <span class="op">[</span><span class="op">]</span><span class="strut">&nbsp;</span></p>
+<p id="t48" class="stm run hide_run">&nbsp; &nbsp; <span class="key">for</span> <span class="nam">l</span> <span class="key">in</span> <span class="nam">lines</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t49" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">oldIndent</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t50" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">l</span> <span class="op">=</span> <span class="nam">l</span><span class="op">.</span><span class="nam">replace</span><span class="op">(</span><span class="nam">oldIndent</span><span class="op">,</span> <span class="nam">nothing</span><span class="op">,</span> <span class="num">1</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t51" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">l</span> <span class="key">and</span> <span class="nam">newIndent</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t52" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">l</span> <span class="op">=</span> <span class="nam">newIndent</span> <span class="op">+</span> <span class="nam">l</span><span class="strut">&nbsp;</span></p>
+<p id="t53" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">outLines</span><span class="op">.</span><span class="nam">append</span><span class="op">(</span><span class="nam">l</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t54" class="stm run hide_run">&nbsp; &nbsp; <span class="key">return</span> <span class="nam">sep</span><span class="op">.</span><span class="nam">join</span><span class="op">(</span><span class="nam">outLines</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t55" class="pln"><span class="strut">&nbsp;</span></p>
+<p id="t56" class="stm run hide_run"><span class="key">def</span> <span class="nam">commonPrefix</span><span class="op">(</span><span class="nam">strings</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t57" class="pln">&nbsp; &nbsp; <span class="str">&quot;&quot;&quot; Find the longest string that is a prefix of all the strings.</span><span class="strut">&nbsp;</span></p>
+<p id="t58" class="pln"><span class="str">&nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t59" class="stm par run hide_run"><span class="annotate" title="Line 59 was executed, but never jumped to line 60">59&#x202F;&#x219B;&#x202F;60 [?]</span>&nbsp; &nbsp; <span class="key">if</span> <span class="key">not</span> <span class="nam">strings</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t60" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">return</span> <span class="str">&#39;&#39;</span><span class="strut">&nbsp;</span></p>
+<p id="t61" class="stm run hide_run">&nbsp; &nbsp; <span class="nam">prefix</span> <span class="op">=</span> <span class="nam">strings</span><span class="op">[</span><span class="num">0</span><span class="op">]</span><span class="strut">&nbsp;</span></p>
+<p id="t62" class="stm run hide_run">&nbsp; &nbsp; <span class="key">for</span> <span class="nam">s</span> <span class="key">in</span> <span class="nam">strings</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t63" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">len</span><span class="op">(</span><span class="nam">s</span><span class="op">)</span> <span class="op">&lt;</span> <span class="nam">len</span><span class="op">(</span><span class="nam">prefix</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t64" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">prefix</span> <span class="op">=</span> <span class="nam">prefix</span><span class="op">[</span><span class="op">:</span><span class="nam">len</span><span class="op">(</span><span class="nam">s</span><span class="op">)</span><span class="op">]</span><span class="strut">&nbsp;</span></p>
+<p id="t65" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="key">not</span> <span class="nam">prefix</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t66" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">return</span> <span class="str">&#39;&#39;</span><span class="strut">&nbsp;</span></p>
+<p id="t67" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">for</span> <span class="nam">i</span> <span class="key">in</span> <span class="nam">range</span><span class="op">(</span><span class="nam">len</span><span class="op">(</span><span class="nam">prefix</span><span class="op">)</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t68" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">prefix</span><span class="op">[</span><span class="nam">i</span><span class="op">]</span> <span class="op">!=</span> <span class="nam">s</span><span class="op">[</span><span class="nam">i</span><span class="op">]</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t69" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">prefix</span> <span class="op">=</span> <span class="nam">prefix</span><span class="op">[</span><span class="op">:</span><span class="nam">i</span><span class="op">]</span><span class="strut">&nbsp;</span></p>
+<p id="t70" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">break</span><span class="strut">&nbsp;</span></p>
+<p id="t71" class="stm run hide_run">&nbsp; &nbsp; <span class="key">return</span> <span class="nam">prefix</span><span class="strut">&nbsp;</span></p>
+
+ </td>
+ </tr>
+ </table>
+</div>
+
+<div id="footer">
+ <div class="content">
+ <p>
+ <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.org">coverage.py v4.0</a>,
+ created at 2015-09-20 10:28
+ </p>
+ </div>
+</div>
+
+</body>
+</html>
diff --git a/doc/sample_html/coverage_html.js b/doc/sample_html/coverage_html.js
index b24006d2..bd6a8753 100644
--- a/doc/sample_html/coverage_html.js
+++ b/doc/sample_html/coverage_html.js
@@ -1,10 +1,13 @@
+// Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0
+// For details: https://bitbucket.org/ned/coveragepy/src/default/NOTICE.txt
+
// Coverage.py HTML report browser code.
/*jslint browser: true, sloppy: true, vars: true, plusplus: true, maxerr: 50, indent: 4 */
/*global coverage: true, document, window, $ */
coverage = {};
-// Find all the elements with shortkey_* class, and use them to assign a shotrtcut key.
+// Find all the elements with shortkey_* class, and use them to assign a shortcut key.
coverage.assign_shortkeys = function () {
$("*[class*='shortkey_']").each(function (i, e) {
$.each($(e).attr("class").split(" "), function (i, c) {
@@ -35,6 +38,137 @@ coverage.wire_up_help_panel = function () {
});
};
+// Create the events for the filter box.
+coverage.wire_up_filter = function () {
+ // Cache elements.
+ var table = $("table.index");
+ var table_rows = table.find("tbody tr");
+ var table_row_names = table_rows.find("td.name a");
+ var no_rows = $("#no_rows");
+
+ // Create a duplicate table footer that we can modify with dynamic summed values.
+ var table_footer = $("table.index tfoot tr");
+ var table_dynamic_footer = table_footer.clone();
+ table_dynamic_footer.attr('class', 'total_dynamic hidden');
+ table_footer.after(table_dynamic_footer);
+
+ // Observe filter keyevents.
+ $("#filter").on("keyup change", $.debounce(150, function (event) {
+ var filter_value = $(this).val();
+
+ if (filter_value === "") {
+ // Filter box is empty, remove all filtering.
+ table_rows.removeClass("hidden");
+
+ // Show standard footer, hide dynamic footer.
+ table_footer.removeClass("hidden");
+ table_dynamic_footer.addClass("hidden");
+
+ // Hide placeholder, show table.
+ if (no_rows.length > 0) {
+ no_rows.hide();
+ }
+ table.show();
+
+ }
+ else {
+ // Filter table items by value.
+ var hide = $([]);
+ var show = $([]);
+
+ // Compile elements to hide / show.
+ $.each(table_row_names, function () {
+ var element = $(this).parents("tr");
+
+ if ($(this).text().indexOf(filter_value) === -1) {
+ // hide
+ hide = hide.add(element);
+ }
+ else {
+ // show
+ show = show.add(element);
+ }
+ });
+
+ // Perform DOM manipulation.
+ hide.addClass("hidden");
+ show.removeClass("hidden");
+
+ // Show placeholder if no rows will be displayed.
+ if (no_rows.length > 0) {
+ if (show.length === 0) {
+ // Show placeholder, hide table.
+ no_rows.show();
+ table.hide();
+ }
+ else {
+ // Hide placeholder, show table.
+ no_rows.hide();
+ table.show();
+ }
+ }
+
+ // Manage dynamic header:
+ if (hide.length > 0) {
+ // Calculate new dynamic sum values based on visible rows.
+ for (var column = 2; column < 20; column++) {
+ // Calculate summed value.
+ var cells = table_rows.find('td:nth-child(' + column + ')');
+ if (!cells.length) {
+ // No more columns...!
+ break;
+ }
+
+ var sum = 0, numer = 0, denom = 0;
+ $.each(cells.filter(':visible'), function () {
+ var ratio = $(this).data("ratio");
+ if (ratio) {
+ var splitted = ratio.split(" ");
+ numer += parseInt(splitted[0], 10);
+ denom += parseInt(splitted[1], 10);
+ }
+ else {
+ sum += parseInt(this.innerHTML, 10);
+ }
+ });
+
+ // Get footer cell element.
+ var footer_cell = table_dynamic_footer.find('td:nth-child(' + column + ')');
+
+ // Set value into dynamic footer cell element.
+ if (cells[0].innerHTML.indexOf('%') > -1) {
+ // Percentage columns use the numerator and denominator,
+ // and adapt to the number of decimal places.
+ var match = /\.([0-9]+)/.exec(cells[0].innerHTML);
+ var places = 0;
+ if (match) {
+ places = match[1].length;
+ }
+ var pct = numer * 100 / denom;
+ footer_cell.text(pct.toFixed(places) + '%');
+ }
+ else {
+ footer_cell.text(sum);
+ }
+ }
+
+ // Hide standard footer, show dynamic footer.
+ table_footer.addClass("hidden");
+ table_dynamic_footer.removeClass("hidden");
+ }
+ else {
+ // Show standard footer, hide dynamic footer.
+ table_footer.removeClass("hidden");
+ table_dynamic_footer.addClass("hidden");
+ }
+ }
+ }));
+
+ // Trigger change event on setup, to force filter on page refresh
+ // (filter value may still be present).
+ $("#filter").trigger("change");
+};
+
// Loaded on index.html
coverage.index_ready = function ($) {
// Look for a cookie containing previous sort settings:
@@ -95,6 +229,7 @@ coverage.index_ready = function ($) {
coverage.assign_shortkeys();
coverage.wire_up_help_panel();
+ coverage.wire_up_filter();
// Watch for page unload events so we can save the final sort settings:
$(window).unload(function () {
@@ -187,12 +322,13 @@ coverage.to_next_chunk = function () {
// Find the start of the next colored chunk.
var probe = c.sel_end;
+ var color, probe_line;
while (true) {
- var probe_line = c.line_elt(probe);
+ probe_line = c.line_elt(probe);
if (probe_line.length === 0) {
return;
}
- var color = probe_line.css("background-color");
+ color = probe_line.css("background-color");
if (!c.is_transparent(color)) {
break;
}
diff --git a/doc/sample_html/index.html b/doc/sample_html/index.html
index 336868ba..b37e5b20 100644
--- a/doc/sample_html/index.html
+++ b/doc/sample_html/index.html
@@ -1,81 +1,90 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+
+
+
+<!DOCTYPE html>
<html>
<head>
- <meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Coverage report</title>
- <link rel='stylesheet' href='style.css' type='text/css'>
+ <link rel="stylesheet" href="style.css" type="text/css">
- <script type='text/javascript' src='jquery.min.js'></script>
- <script type='text/javascript' src='jquery.tablesorter.min.js'></script>
- <script type='text/javascript' src='jquery.hotkeys.js'></script>
- <script type='text/javascript' src='coverage_html.js'></script>
- <script type='text/javascript' charset='utf-8'>
+ <script type="text/javascript" src="jquery.min.js"></script>
+ <script type="text/javascript" src="jquery.debounce.min.js"></script>
+ <script type="text/javascript" src="jquery.tablesorter.min.js"></script>
+ <script type="text/javascript" src="jquery.hotkeys.js"></script>
+ <script type="text/javascript" src="coverage_html.js"></script>
+ <script type="text/javascript">
jQuery(document).ready(coverage.index_ready);
</script>
</head>
-<body id='indexfile'>
+<body class="indexfile">
-<div id='header'>
- <div class='content'>
+<div id="header">
+ <div class="content">
<h1>Coverage report:
- <span class='pc_cov'>40%</span>
+ <span class="pc_cov">89.15%</span>
</h1>
- <img id='keyboard_icon' src='keybd_closed.png'>
+
+ <img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
+
+ <form id="filter_container">
+ <input id="filter" type="text" value="" placeholder="filter..." />
+ </form>
</div>
</div>
-<div class='help_panel'>
- <img id='panel_icon' src='keybd_open.png'>
- <p class='legend'>Hot-keys on this page</p>
+<div class="help_panel">
+ <img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
+ <p class="legend">Hot-keys on this page</p>
<div>
- <p class='keyhelp'>
- <span class='key'>n</span>
- <span class='key'>s</span>
- <span class='key'>m</span>
- <span class='key'>x</span>
+ <p class="keyhelp">
+ <span class="key">n</span>
+ <span class="key">s</span>
+ <span class="key">m</span>
+ <span class="key">x</span>
- <span class='key'>b</span>
- <span class='key'>p</span>
+ <span class="key">b</span>
+ <span class="key">p</span>
- <span class='key'>c</span> &nbsp; change column sorting
+ <span class="key">c</span> &nbsp; change column sorting
</p>
</div>
</div>
-<div id='index'>
- <table class='index'>
+<div id="index">
+ <table class="index">
<thead>
- <tr class='tablehead' title='Click to sort'>
- <th class='name left headerSortDown shortkey_n'>Module</th>
- <th class='shortkey_s'>statements</th>
- <th class='shortkey_m'>missing</th>
- <th class='shortkey_x'>excluded</th>
+ <tr class="tablehead" title="Click to sort">
+ <th class="name left headerSortDown shortkey_n">Module</th>
+ <th class="shortkey_s">statements</th>
+ <th class="shortkey_m">missing</th>
+ <th class="shortkey_x">excluded</th>
- <th class='shortkey_b'>branches</th>
- <th class='shortkey_p'>partial</th>
+ <th class="shortkey_b">branches</th>
+ <th class="shortkey_p">partial</th>
- <th class='right shortkey_c'>coverage</th>
+ <th class="right shortkey_c">coverage</th>
</tr>
</thead>
<tfoot>
- <tr class='total'>
- <td class='name left'>Total</td>
- <td>1242</td>
- <td>746</td>
- <td>27</td>
+ <tr class="total">
+ <td class="name left">Total</td>
+ <td>1348</td>
+ <td>148</td>
+ <td>13</td>
- <td>216</td>
- <td>30</td>
+ <td>228</td>
+ <td>11</td>
- <td class='right'>40%</td>
+ <td class="right" data-ratio="1405 1576">89.15%</td>
</tr>
</tfoot>
<tbody>
- <tr class='file'>
- <td class='name left'><a href='cogapp___init__.html'>cogapp/__init__</a></td>
+ <tr class="file">
+ <td class="name left"><a href="cogapp___init___py.html">cogapp/__init__.py</a></td>
<td>2</td>
<td>0</td>
<td>0</td>
@@ -83,11 +92,11 @@
<td>0</td>
<td>0</td>
- <td class='right'>100%</td>
+ <td class="right" data-ratio="2 2">100.00%</td>
</tr>
- <tr class='file'>
- <td class='name left'><a href='cogapp___main__.html'>cogapp/__main__</a></td>
+ <tr class="file">
+ <td class="name left"><a href="cogapp___main___py.html">cogapp/__main__.py</a></td>
<td>3</td>
<td>3</td>
<td>0</td>
@@ -95,83 +104,83 @@
<td>0</td>
<td>0</td>
- <td class='right'>0%</td>
+ <td class="right" data-ratio="0 3">0.00%</td>
</tr>
- <tr class='file'>
- <td class='name left'><a href='cogapp_backward.html'>cogapp/backward</a></td>
- <td>25</td>
- <td>12</td>
+ <tr class="file">
+ <td class="name left"><a href="cogapp_backward_py.html">cogapp/backward.py</a></td>
+ <td>19</td>
+ <td>8</td>
<td>0</td>
<td>2</td>
<td>1</td>
- <td class='right'>52%</td>
+ <td class="right" data-ratio="12 21">57.14%</td>
</tr>
- <tr class='file'>
- <td class='name left'><a href='cogapp_cogapp.html'>cogapp/cogapp</a></td>
- <td>403</td>
- <td>180</td>
+ <tr class="file">
+ <td class="name left"><a href="cogapp_cogapp_py.html">cogapp/cogapp.py</a></td>
+ <td>423</td>
<td>3</td>
+ <td>4</td>
- <td>158</td>
- <td>26</td>
+ <td>168</td>
+ <td>4</td>
- <td class='right'>49%</td>
+ <td class="right" data-ratio="584 591">98.82%</td>
</tr>
- <tr class='file'>
- <td class='name left'><a href='cogapp_makefiles.html'>cogapp/makefiles</a></td>
+ <tr class="file">
+ <td class="name left"><a href="cogapp_makefiles_py.html">cogapp/makefiles.py</a></td>
<td>28</td>
- <td>20</td>
+ <td>7</td>
<td>3</td>
<td>14</td>
- <td>0</td>
+ <td>2</td>
- <td class='right'>19%</td>
+ <td class="right" data-ratio="27 42">64.29%</td>
</tr>
- <tr class='file'>
- <td class='name left'><a href='cogapp_test_cogapp.html'>cogapp/test_cogapp</a></td>
- <td>612</td>
- <td>404</td>
- <td>17</td>
-
- <td>4</td>
+ <tr class="file">
+ <td class="name left"><a href="cogapp_test_cogapp_py.html">cogapp/test_cogapp.py</a></td>
+ <td>704</td>
<td>0</td>
+ <td>6</td>
- <td class='right'>34%</td>
+ <td>6</td>
+ <td>1</td>
+
+ <td class="right" data-ratio="709 710">99.86%</td>
</tr>
- <tr class='file'>
- <td class='name left'><a href='cogapp_test_makefiles.html'>cogapp/test_makefiles</a></td>
+ <tr class="file">
+ <td class="name left"><a href="cogapp_test_makefiles_py.html">cogapp/test_makefiles.py</a></td>
<td>55</td>
<td>55</td>
- <td>2</td>
+ <td>0</td>
<td>6</td>
<td>0</td>
- <td class='right'>0%</td>
+ <td class="right" data-ratio="0 61">0.00%</td>
</tr>
- <tr class='file'>
- <td class='name left'><a href='cogapp_test_whiteutils.html'>cogapp/test_whiteutils</a></td>
+ <tr class="file">
+ <td class="name left"><a href="cogapp_test_whiteutils_py.html">cogapp/test_whiteutils.py</a></td>
<td>69</td>
<td>69</td>
- <td>2</td>
+ <td>0</td>
<td>0</td>
<td>0</td>
- <td class='right'>0%</td>
+ <td class="right" data-ratio="0 69">0.00%</td>
</tr>
- <tr class='file'>
- <td class='name left'><a href='cogapp_whiteutils.html'>cogapp/whiteutils</a></td>
+ <tr class="file">
+ <td class="name left"><a href="cogapp_whiteutils_py.html">cogapp/whiteutils.py</a></td>
<td>45</td>
<td>3</td>
<td>0</td>
@@ -179,17 +188,22 @@
<td>32</td>
<td>3</td>
- <td class='right'>92%</td>
+ <td class="right" data-ratio="71 77">92.21%</td>
</tr>
</tbody>
</table>
+
+ <p id="no_rows">
+ No items found using the specified filter.
+ </p>
</div>
-<div id='footer'>
- <div class='content'>
+<div id="footer">
+ <div class="content">
<p>
- <a class='nav' href='http://nedbatchelder.com/code/coverage'>coverage.py v3.7.1</a>
+ <a class="nav" href="https://coverage.readthedocs.org">coverage.py v4.0</a>,
+ created at 2015-09-20 10:28
</p>
</div>
</div>
diff --git a/doc/sample_html/jquery.debounce.min.js b/doc/sample_html/jquery.debounce.min.js
new file mode 100644
index 00000000..648fe5d3
--- /dev/null
+++ b/doc/sample_html/jquery.debounce.min.js
@@ -0,0 +1,9 @@
+/*
+ * jQuery throttle / debounce - v1.1 - 3/7/2010
+ * http://benalman.com/projects/jquery-throttle-debounce-plugin/
+ *
+ * Copyright (c) 2010 "Cowboy" Ben Alman
+ * Dual licensed under the MIT and GPL licenses.
+ * http://benalman.com/about/license/
+ */
+(function(b,c){var $=b.jQuery||b.Cowboy||(b.Cowboy={}),a;$.throttle=a=function(e,f,j,i){var h,d=0;if(typeof f!=="boolean"){i=j;j=f;f=c}function g(){var o=this,m=+new Date()-d,n=arguments;function l(){d=+new Date();j.apply(o,n)}function k(){h=c}if(i&&!h){l()}h&&clearTimeout(h);if(i===c&&m>e){l()}else{if(f!==true){h=setTimeout(i?k:l,i===c?e-m:e)}}}if($.guid){g.guid=j.guid=j.guid||$.guid++}return g};$.debounce=function(d,e,f){return f===c?a(d,e,false):a(d,f,e!==false)}})(this);
diff --git a/doc/sample_html/jquery.min.js b/doc/sample_html/jquery.min.js
index c941a5f7..d1608e37 100644
--- a/doc/sample_html/jquery.min.js
+++ b/doc/sample_html/jquery.min.js
@@ -1,166 +1,4 @@
-/*!
- * jQuery JavaScript Library v1.4.3
- * http://jquery.com/
- *
- * Copyright 2010, John Resig
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * Includes Sizzle.js
- * http://sizzlejs.com/
- * Copyright 2010, The Dojo Foundation
- * Released under the MIT, BSD, and GPL Licenses.
- *
- * Date: Thu Oct 14 23:10:06 2010 -0400
- */
-(function(E,A){function U(){return false}function ba(){return true}function ja(a,b,d){d[0].type=a;return c.event.handle.apply(b,d)}function Ga(a){var b,d,e=[],f=[],h,k,l,n,s,v,B,D;k=c.data(this,this.nodeType?"events":"__events__");if(typeof k==="function")k=k.events;if(!(a.liveFired===this||!k||!k.live||a.button&&a.type==="click")){if(a.namespace)D=RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)");a.liveFired=this;var H=k.live.slice(0);for(n=0;n<H.length;n++){k=H[n];k.origType.replace(X,
-"")===a.type?f.push(k.selector):H.splice(n--,1)}f=c(a.target).closest(f,a.currentTarget);s=0;for(v=f.length;s<v;s++){B=f[s];for(n=0;n<H.length;n++){k=H[n];if(B.selector===k.selector&&(!D||D.test(k.namespace))){l=B.elem;h=null;if(k.preType==="mouseenter"||k.preType==="mouseleave"){a.type=k.preType;h=c(a.relatedTarget).closest(k.selector)[0]}if(!h||h!==l)e.push({elem:l,handleObj:k,level:B.level})}}}s=0;for(v=e.length;s<v;s++){f=e[s];if(d&&f.level>d)break;a.currentTarget=f.elem;a.data=f.handleObj.data;
-a.handleObj=f.handleObj;D=f.handleObj.origHandler.apply(f.elem,arguments);if(D===false||a.isPropagationStopped()){d=f.level;if(D===false)b=false}}return b}}function Y(a,b){return(a&&a!=="*"?a+".":"")+b.replace(Ha,"`").replace(Ia,"&")}function ka(a,b,d){if(c.isFunction(b))return c.grep(a,function(f,h){return!!b.call(f,h,f)===d});else if(b.nodeType)return c.grep(a,function(f){return f===b===d});else if(typeof b==="string"){var e=c.grep(a,function(f){return f.nodeType===1});if(Ja.test(b))return c.filter(b,
-e,!d);else b=c.filter(b,e)}return c.grep(a,function(f){return c.inArray(f,b)>=0===d})}function la(a,b){var d=0;b.each(function(){if(this.nodeName===(a[d]&&a[d].nodeName)){var e=c.data(a[d++]),f=c.data(this,e);if(e=e&&e.events){delete f.handle;f.events={};for(var h in e)for(var k in e[h])c.event.add(this,h,e[h][k],e[h][k].data)}}})}function Ka(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}
-function ma(a,b,d){var e=b==="width"?a.offsetWidth:a.offsetHeight;if(d==="border")return e;c.each(b==="width"?La:Ma,function(){d||(e-=parseFloat(c.css(a,"padding"+this))||0);if(d==="margin")e+=parseFloat(c.css(a,"margin"+this))||0;else e-=parseFloat(c.css(a,"border"+this+"Width"))||0});return e}function ca(a,b,d,e){if(c.isArray(b)&&b.length)c.each(b,function(f,h){d||Na.test(a)?e(a,h):ca(a+"["+(typeof h==="object"||c.isArray(h)?f:"")+"]",h,d,e)});else if(!d&&b!=null&&typeof b==="object")c.isEmptyObject(b)?
-e(a,""):c.each(b,function(f,h){ca(a+"["+f+"]",h,d,e)});else e(a,b)}function S(a,b){var d={};c.each(na.concat.apply([],na.slice(0,b)),function(){d[this]=a});return d}function oa(a){if(!da[a]){var b=c("<"+a+">").appendTo("body"),d=b.css("display");b.remove();if(d==="none"||d==="")d="block";da[a]=d}return da[a]}function ea(a){return c.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:false}var u=E.document,c=function(){function a(){if(!b.isReady){try{u.documentElement.doScroll("left")}catch(i){setTimeout(a,
-1);return}b.ready()}}var b=function(i,r){return new b.fn.init(i,r)},d=E.jQuery,e=E.$,f,h=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/,k=/\S/,l=/^\s+/,n=/\s+$/,s=/\W/,v=/\d/,B=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,D=/^[\],:{}\s]*$/,H=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,w=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,G=/(?:^|:|,)(?:\s*\[)+/g,M=/(webkit)[ \/]([\w.]+)/,g=/(opera)(?:.*version)?[ \/]([\w.]+)/,j=/(msie) ([\w.]+)/,o=/(mozilla)(?:.*? rv:([\w.]+))?/,m=navigator.userAgent,p=false,
-q=[],t,x=Object.prototype.toString,C=Object.prototype.hasOwnProperty,P=Array.prototype.push,N=Array.prototype.slice,R=String.prototype.trim,Q=Array.prototype.indexOf,L={};b.fn=b.prototype={init:function(i,r){var y,z,F;if(!i)return this;if(i.nodeType){this.context=this[0]=i;this.length=1;return this}if(i==="body"&&!r&&u.body){this.context=u;this[0]=u.body;this.selector="body";this.length=1;return this}if(typeof i==="string")if((y=h.exec(i))&&(y[1]||!r))if(y[1]){F=r?r.ownerDocument||r:u;if(z=B.exec(i))if(b.isPlainObject(r)){i=
-[u.createElement(z[1])];b.fn.attr.call(i,r,true)}else i=[F.createElement(z[1])];else{z=b.buildFragment([y[1]],[F]);i=(z.cacheable?z.fragment.cloneNode(true):z.fragment).childNodes}return b.merge(this,i)}else{if((z=u.getElementById(y[2]))&&z.parentNode){if(z.id!==y[2])return f.find(i);this.length=1;this[0]=z}this.context=u;this.selector=i;return this}else if(!r&&!s.test(i)){this.selector=i;this.context=u;i=u.getElementsByTagName(i);return b.merge(this,i)}else return!r||r.jquery?(r||f).find(i):b(r).find(i);
-else if(b.isFunction(i))return f.ready(i);if(i.selector!==A){this.selector=i.selector;this.context=i.context}return b.makeArray(i,this)},selector:"",jquery:"1.4.3",length:0,size:function(){return this.length},toArray:function(){return N.call(this,0)},get:function(i){return i==null?this.toArray():i<0?this.slice(i)[0]:this[i]},pushStack:function(i,r,y){var z=b();b.isArray(i)?P.apply(z,i):b.merge(z,i);z.prevObject=this;z.context=this.context;if(r==="find")z.selector=this.selector+(this.selector?" ":
-"")+y;else if(r)z.selector=this.selector+"."+r+"("+y+")";return z},each:function(i,r){return b.each(this,i,r)},ready:function(i){b.bindReady();if(b.isReady)i.call(u,b);else q&&q.push(i);return this},eq:function(i){return i===-1?this.slice(i):this.slice(i,+i+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(N.apply(this,arguments),"slice",N.call(arguments).join(","))},map:function(i){return this.pushStack(b.map(this,function(r,y){return i.call(r,
-y,r)}))},end:function(){return this.prevObject||b(null)},push:P,sort:[].sort,splice:[].splice};b.fn.init.prototype=b.fn;b.extend=b.fn.extend=function(){var i=arguments[0]||{},r=1,y=arguments.length,z=false,F,I,K,J,fa;if(typeof i==="boolean"){z=i;i=arguments[1]||{};r=2}if(typeof i!=="object"&&!b.isFunction(i))i={};if(y===r){i=this;--r}for(;r<y;r++)if((F=arguments[r])!=null)for(I in F){K=i[I];J=F[I];if(i!==J)if(z&&J&&(b.isPlainObject(J)||(fa=b.isArray(J)))){if(fa){fa=false;clone=K&&b.isArray(K)?K:[]}else clone=
-K&&b.isPlainObject(K)?K:{};i[I]=b.extend(z,clone,J)}else if(J!==A)i[I]=J}return i};b.extend({noConflict:function(i){E.$=e;if(i)E.jQuery=d;return b},isReady:false,readyWait:1,ready:function(i){i===true&&b.readyWait--;if(!b.readyWait||i!==true&&!b.isReady){if(!u.body)return setTimeout(b.ready,1);b.isReady=true;if(!(i!==true&&--b.readyWait>0)){if(q){for(var r=0;i=q[r++];)i.call(u,b);q=null}b.fn.triggerHandler&&b(u).triggerHandler("ready")}}},bindReady:function(){if(!p){p=true;if(u.readyState==="complete")return setTimeout(b.ready,
-1);if(u.addEventListener){u.addEventListener("DOMContentLoaded",t,false);E.addEventListener("load",b.ready,false)}else if(u.attachEvent){u.attachEvent("onreadystatechange",t);E.attachEvent("onload",b.ready);var i=false;try{i=E.frameElement==null}catch(r){}u.documentElement.doScroll&&i&&a()}}},isFunction:function(i){return b.type(i)==="function"},isArray:Array.isArray||function(i){return b.type(i)==="array"},isWindow:function(i){return i&&typeof i==="object"&&"setInterval"in i},isNaN:function(i){return i==
-null||!v.test(i)||isNaN(i)},type:function(i){return i==null?String(i):L[x.call(i)]||"object"},isPlainObject:function(i){if(!i||b.type(i)!=="object"||i.nodeType||b.isWindow(i))return false;if(i.constructor&&!C.call(i,"constructor")&&!C.call(i.constructor.prototype,"isPrototypeOf"))return false;for(var r in i);return r===A||C.call(i,r)},isEmptyObject:function(i){for(var r in i)return false;return true},error:function(i){throw i;},parseJSON:function(i){if(typeof i!=="string"||!i)return null;i=b.trim(i);
-if(D.test(i.replace(H,"@").replace(w,"]").replace(G,"")))return E.JSON&&E.JSON.parse?E.JSON.parse(i):(new Function("return "+i))();else b.error("Invalid JSON: "+i)},noop:function(){},globalEval:function(i){if(i&&k.test(i)){var r=u.getElementsByTagName("head")[0]||u.documentElement,y=u.createElement("script");y.type="text/javascript";if(b.support.scriptEval)y.appendChild(u.createTextNode(i));else y.text=i;r.insertBefore(y,r.firstChild);r.removeChild(y)}},nodeName:function(i,r){return i.nodeName&&i.nodeName.toUpperCase()===
-r.toUpperCase()},each:function(i,r,y){var z,F=0,I=i.length,K=I===A||b.isFunction(i);if(y)if(K)for(z in i){if(r.apply(i[z],y)===false)break}else for(;F<I;){if(r.apply(i[F++],y)===false)break}else if(K)for(z in i){if(r.call(i[z],z,i[z])===false)break}else for(y=i[0];F<I&&r.call(y,F,y)!==false;y=i[++F]);return i},trim:R?function(i){return i==null?"":R.call(i)}:function(i){return i==null?"":i.toString().replace(l,"").replace(n,"")},makeArray:function(i,r){var y=r||[];if(i!=null){var z=b.type(i);i.length==
-null||z==="string"||z==="function"||z==="regexp"||b.isWindow(i)?P.call(y,i):b.merge(y,i)}return y},inArray:function(i,r){if(r.indexOf)return r.indexOf(i);for(var y=0,z=r.length;y<z;y++)if(r[y]===i)return y;return-1},merge:function(i,r){var y=i.length,z=0;if(typeof r.length==="number")for(var F=r.length;z<F;z++)i[y++]=r[z];else for(;r[z]!==A;)i[y++]=r[z++];i.length=y;return i},grep:function(i,r,y){var z=[],F;y=!!y;for(var I=0,K=i.length;I<K;I++){F=!!r(i[I],I);y!==F&&z.push(i[I])}return z},map:function(i,
-r,y){for(var z=[],F,I=0,K=i.length;I<K;I++){F=r(i[I],I,y);if(F!=null)z[z.length]=F}return z.concat.apply([],z)},guid:1,proxy:function(i,r,y){if(arguments.length===2)if(typeof r==="string"){y=i;i=y[r];r=A}else if(r&&!b.isFunction(r)){y=r;r=A}if(!r&&i)r=function(){return i.apply(y||this,arguments)};if(i)r.guid=i.guid=i.guid||r.guid||b.guid++;return r},access:function(i,r,y,z,F,I){var K=i.length;if(typeof r==="object"){for(var J in r)b.access(i,J,r[J],z,F,y);return i}if(y!==A){z=!I&&z&&b.isFunction(y);
-for(J=0;J<K;J++)F(i[J],r,z?y.call(i[J],J,F(i[J],r)):y,I);return i}return K?F(i[0],r):A},now:function(){return(new Date).getTime()},uaMatch:function(i){i=i.toLowerCase();i=M.exec(i)||g.exec(i)||j.exec(i)||i.indexOf("compatible")<0&&o.exec(i)||[];return{browser:i[1]||"",version:i[2]||"0"}},browser:{}});b.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(i,r){L["[object "+r+"]"]=r.toLowerCase()});m=b.uaMatch(m);if(m.browser){b.browser[m.browser]=true;b.browser.version=
-m.version}if(b.browser.webkit)b.browser.safari=true;if(Q)b.inArray=function(i,r){return Q.call(r,i)};if(!/\s/.test("\u00a0")){l=/^[\s\xA0]+/;n=/[\s\xA0]+$/}f=b(u);if(u.addEventListener)t=function(){u.removeEventListener("DOMContentLoaded",t,false);b.ready()};else if(u.attachEvent)t=function(){if(u.readyState==="complete"){u.detachEvent("onreadystatechange",t);b.ready()}};return E.jQuery=E.$=b}();(function(){c.support={};var a=u.documentElement,b=u.createElement("script"),d=u.createElement("div"),
-e="script"+c.now();d.style.display="none";d.innerHTML=" <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";var f=d.getElementsByTagName("*"),h=d.getElementsByTagName("a")[0],k=u.createElement("select"),l=k.appendChild(u.createElement("option"));if(!(!f||!f.length||!h)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(h.getAttribute("style")),
-hrefNormalized:h.getAttribute("href")==="/a",opacity:/^0.55$/.test(h.style.opacity),cssFloat:!!h.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:l.selected,optDisabled:false,checkClone:false,scriptEval:false,noCloneEvent:true,boxModel:null,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableHiddenOffsets:true};k.disabled=true;c.support.optDisabled=!l.disabled;b.type="text/javascript";try{b.appendChild(u.createTextNode("window."+e+"=1;"))}catch(n){}a.insertBefore(b,
-a.firstChild);if(E[e]){c.support.scriptEval=true;delete E[e]}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function s(){c.support.noCloneEvent=false;d.detachEvent("onclick",s)});d.cloneNode(true).fireEvent("onclick")}d=u.createElement("div");d.innerHTML="<input type='radio' name='radiotest' checked='checked'/>";a=u.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var s=u.createElement("div");
-s.style.width=s.style.paddingLeft="1px";u.body.appendChild(s);c.boxModel=c.support.boxModel=s.offsetWidth===2;if("zoom"in s.style){s.style.display="inline";s.style.zoom=1;c.support.inlineBlockNeedsLayout=s.offsetWidth===2;s.style.display="";s.innerHTML="<div style='width:4px;'></div>";c.support.shrinkWrapBlocks=s.offsetWidth!==2}s.innerHTML="<table><tr><td style='padding:0;display:none'></td><td>t</td></tr></table>";var v=s.getElementsByTagName("td");c.support.reliableHiddenOffsets=v[0].offsetHeight===
-0;v[0].style.display="";v[1].style.display="none";c.support.reliableHiddenOffsets=c.support.reliableHiddenOffsets&&v[0].offsetHeight===0;s.innerHTML="";u.body.removeChild(s).style.display="none"});a=function(s){var v=u.createElement("div");s="on"+s;var B=s in v;if(!B){v.setAttribute(s,"return;");B=typeof v[s]==="function"}return B};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=f=h=null}})();c.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",
-cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};var pa={},Oa=/^(?:\{.*\}|\[.*\])$/;c.extend({cache:{},uuid:0,expando:"jQuery"+c.now(),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},data:function(a,b,d){if(c.acceptData(a)){a=a==E?pa:a;var e=a.nodeType,f=e?a[c.expando]:null,h=c.cache;if(!(e&&!f&&typeof b==="string"&&d===A)){if(e)f||(a[c.expando]=f=++c.uuid);else h=a;if(typeof b==="object")if(e)h[f]=
-c.extend(h[f],b);else c.extend(h,b);else if(e&&!h[f])h[f]={};a=e?h[f]:h;if(d!==A)a[b]=d;return typeof b==="string"?a[b]:a}}},removeData:function(a,b){if(c.acceptData(a)){a=a==E?pa:a;var d=a.nodeType,e=d?a[c.expando]:a,f=c.cache,h=d?f[e]:e;if(b){if(h){delete h[b];d&&c.isEmptyObject(h)&&c.removeData(a)}}else if(d&&c.support.deleteExpando)delete a[c.expando];else if(a.removeAttribute)a.removeAttribute(c.expando);else if(d)delete f[e];else for(var k in a)delete a[k]}},acceptData:function(a){if(a.nodeName){var b=
-c.noData[a.nodeName.toLowerCase()];if(b)return!(b===true||a.getAttribute("classid")!==b)}return true}});c.fn.extend({data:function(a,b){if(typeof a==="undefined")return this.length?c.data(this[0]):null;else if(typeof a==="object")return this.each(function(){c.data(this,a)});var d=a.split(".");d[1]=d[1]?"."+d[1]:"";if(b===A){var e=this.triggerHandler("getData"+d[1]+"!",[d[0]]);if(e===A&&this.length){e=c.data(this[0],a);if(e===A&&this[0].nodeType===1){e=this[0].getAttribute("data-"+a);if(typeof e===
-"string")try{e=e==="true"?true:e==="false"?false:e==="null"?null:!c.isNaN(e)?parseFloat(e):Oa.test(e)?c.parseJSON(e):e}catch(f){}else e=A}}return e===A&&d[1]?this.data(d[0]):e}else return this.each(function(){var h=c(this),k=[d[0],b];h.triggerHandler("setData"+d[1]+"!",k);c.data(this,a,b);h.triggerHandler("changeData"+d[1]+"!",k)})},removeData:function(a){return this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a,b,d){if(a){b=(b||"fx")+"queue";var e=c.data(a,b);if(!d)return e||
-[];if(!e||c.isArray(d))e=c.data(a,b,c.makeArray(d));else e.push(d);return e}},dequeue:function(a,b){b=b||"fx";var d=c.queue(a,b),e=d.shift();if(e==="inprogress")e=d.shift();if(e){b==="fx"&&d.unshift("inprogress");e.call(a,function(){c.dequeue(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a;a="fx"}if(b===A)return c.queue(this[0],a);return this.each(function(){var d=c.queue(this,a,b);a==="fx"&&d[0]!=="inprogress"&&c.dequeue(this,a)})},dequeue:function(a){return this.each(function(){c.dequeue(this,
-a)})},delay:function(a,b){a=c.fx?c.fx.speeds[a]||a:a;b=b||"fx";return this.queue(b,function(){var d=this;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var qa=/[\n\t]/g,ga=/\s+/,Pa=/\r/g,Qa=/^(?:href|src|style)$/,Ra=/^(?:button|input)$/i,Sa=/^(?:button|input|object|select|textarea)$/i,Ta=/^a(?:rea)?$/i,ra=/^(?:radio|checkbox)$/i;c.fn.extend({attr:function(a,b){return c.access(this,a,b,true,c.attr)},removeAttr:function(a){return this.each(function(){c.attr(this,
-a,"");this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(c.isFunction(a))return this.each(function(s){var v=c(this);v.addClass(a.call(this,s,v.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(ga),d=0,e=this.length;d<e;d++){var f=this[d];if(f.nodeType===1)if(f.className){for(var h=" "+f.className+" ",k=f.className,l=0,n=b.length;l<n;l++)if(h.indexOf(" "+b[l]+" ")<0)k+=" "+b[l];f.className=c.trim(k)}else f.className=a}return this},removeClass:function(a){if(c.isFunction(a))return this.each(function(n){var s=
-c(this);s.removeClass(a.call(this,n,s.attr("class")))});if(a&&typeof a==="string"||a===A)for(var b=(a||"").split(ga),d=0,e=this.length;d<e;d++){var f=this[d];if(f.nodeType===1&&f.className)if(a){for(var h=(" "+f.className+" ").replace(qa," "),k=0,l=b.length;k<l;k++)h=h.replace(" "+b[k]+" "," ");f.className=c.trim(h)}else f.className=""}return this},toggleClass:function(a,b){var d=typeof a,e=typeof b==="boolean";if(c.isFunction(a))return this.each(function(f){var h=c(this);h.toggleClass(a.call(this,
-f,h.attr("class"),b),b)});return this.each(function(){if(d==="string")for(var f,h=0,k=c(this),l=b,n=a.split(ga);f=n[h++];){l=e?l:!k.hasClass(f);k[l?"addClass":"removeClass"](f)}else if(d==="undefined"||d==="boolean"){this.className&&c.data(this,"__className__",this.className);this.className=this.className||a===false?"":c.data(this,"__className__")||""}})},hasClass:function(a){a=" "+a+" ";for(var b=0,d=this.length;b<d;b++)if((" "+this[b].className+" ").replace(qa," ").indexOf(a)>-1)return true;return false},
-val:function(a){if(!arguments.length){var b=this[0];if(b){if(c.nodeName(b,"option")){var d=b.attributes.value;return!d||d.specified?b.value:b.text}if(c.nodeName(b,"select")){var e=b.selectedIndex;d=[];var f=b.options;b=b.type==="select-one";if(e<0)return null;var h=b?e:0;for(e=b?e+1:f.length;h<e;h++){var k=f[h];if(k.selected&&(c.support.optDisabled?!k.disabled:k.getAttribute("disabled")===null)&&(!k.parentNode.disabled||!c.nodeName(k.parentNode,"optgroup"))){a=c(k).val();if(b)return a;d.push(a)}}return d}if(ra.test(b.type)&&
-!c.support.checkOn)return b.getAttribute("value")===null?"on":b.value;return(b.value||"").replace(Pa,"")}return A}var l=c.isFunction(a);return this.each(function(n){var s=c(this),v=a;if(this.nodeType===1){if(l)v=a.call(this,n,s.val());if(v==null)v="";else if(typeof v==="number")v+="";else if(c.isArray(v))v=c.map(v,function(D){return D==null?"":D+""});if(c.isArray(v)&&ra.test(this.type))this.checked=c.inArray(s.val(),v)>=0;else if(c.nodeName(this,"select")){var B=c.makeArray(v);c("option",this).each(function(){this.selected=
-c.inArray(c(this).val(),B)>=0});if(!B.length)this.selectedIndex=-1}else this.value=v}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(a,b,d,e){if(!a||a.nodeType===3||a.nodeType===8)return A;if(e&&b in c.attrFn)return c(a)[b](d);e=a.nodeType!==1||!c.isXMLDoc(a);var f=d!==A;b=e&&c.props[b]||b;if(a.nodeType===1){var h=Qa.test(b);if((b in a||a[b]!==A)&&e&&!h){if(f){b==="type"&&Ra.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed");
-if(d===null)a.nodeType===1&&a.removeAttribute(b);else a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&&b.specified?b.value:Sa.test(a.nodeName)||Ta.test(a.nodeName)&&a.href?0:A;return a[b]}if(!c.support.style&&e&&b==="style"){if(f)a.style.cssText=""+d;return a.style.cssText}f&&a.setAttribute(b,""+d);if(!a.attributes[b]&&a.hasAttribute&&!a.hasAttribute(b))return A;a=!c.support.hrefNormalized&&e&&
-h?a.getAttribute(b,2):a.getAttribute(b);return a===null?A:a}}});var X=/\.(.*)$/,ha=/^(?:textarea|input|select)$/i,Ha=/\./g,Ia=/ /g,Ua=/[^\w\s.|`]/g,Va=function(a){return a.replace(Ua,"\\$&")},sa={focusin:0,focusout:0};c.event={add:function(a,b,d,e){if(!(a.nodeType===3||a.nodeType===8)){if(c.isWindow(a)&&a!==E&&!a.frameElement)a=E;if(d===false)d=U;var f,h;if(d.handler){f=d;d=f.handler}if(!d.guid)d.guid=c.guid++;if(h=c.data(a)){var k=a.nodeType?"events":"__events__",l=h[k],n=h.handle;if(typeof l===
-"function"){n=l.handle;l=l.events}else if(!l){a.nodeType||(h[k]=h=function(){});h.events=l={}}if(!n)h.handle=n=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(n.elem,arguments):A};n.elem=a;b=b.split(" ");for(var s=0,v;k=b[s++];){h=f?c.extend({},f):{handler:d,data:e};if(k.indexOf(".")>-1){v=k.split(".");k=v.shift();h.namespace=v.slice(0).sort().join(".")}else{v=[];h.namespace=""}h.type=k;if(!h.guid)h.guid=d.guid;var B=l[k],D=c.event.special[k]||{};if(!B){B=l[k]=[];
-if(!D.setup||D.setup.call(a,e,v,n)===false)if(a.addEventListener)a.addEventListener(k,n,false);else a.attachEvent&&a.attachEvent("on"+k,n)}if(D.add){D.add.call(a,h);if(!h.handler.guid)h.handler.guid=d.guid}B.push(h);c.event.global[k]=true}a=null}}},global:{},remove:function(a,b,d,e){if(!(a.nodeType===3||a.nodeType===8)){if(d===false)d=U;var f,h,k=0,l,n,s,v,B,D,H=a.nodeType?"events":"__events__",w=c.data(a),G=w&&w[H];if(w&&G){if(typeof G==="function"){w=G;G=G.events}if(b&&b.type){d=b.handler;b=b.type}if(!b||
-typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(f in G)c.event.remove(a,f+b)}else{for(b=b.split(" ");f=b[k++];){v=f;l=f.indexOf(".")<0;n=[];if(!l){n=f.split(".");f=n.shift();s=RegExp("(^|\\.)"+c.map(n.slice(0).sort(),Va).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(B=G[f])if(d){v=c.event.special[f]||{};for(h=e||0;h<B.length;h++){D=B[h];if(d.guid===D.guid){if(l||s.test(D.namespace)){e==null&&B.splice(h--,1);v.remove&&v.remove.call(a,D)}if(e!=null)break}}if(B.length===0||e!=null&&B.length===1){if(!v.teardown||
-v.teardown.call(a,n)===false)c.removeEvent(a,f,w.handle);delete G[f]}}else for(h=0;h<B.length;h++){D=B[h];if(l||s.test(D.namespace)){c.event.remove(a,v,D.handler,h);B.splice(h--,1)}}}if(c.isEmptyObject(G)){if(b=w.handle)b.elem=null;delete w.events;delete w.handle;if(typeof w==="function")c.removeData(a,H);else c.isEmptyObject(w)&&c.removeData(a)}}}}},trigger:function(a,b,d,e){var f=a.type||a;if(!e){a=typeof a==="object"?a[c.expando]?a:c.extend(c.Event(f),a):c.Event(f);if(f.indexOf("!")>=0){a.type=
-f=f.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();c.event.global[f]&&c.each(c.cache,function(){this.events&&this.events[f]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType===8)return A;a.result=A;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(e=d.nodeType?c.data(d,"handle"):(c.data(d,"__events__")||{}).handle)&&e.apply(d,b);e=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+f]&&d["on"+f].apply(d,b)===
-false){a.result=false;a.preventDefault()}}catch(h){}if(!a.isPropagationStopped()&&e)c.event.trigger(a,b,e,true);else if(!a.isDefaultPrevented()){e=a.target;var k,l=f.replace(X,""),n=c.nodeName(e,"a")&&l==="click",s=c.event.special[l]||{};if((!s._default||s._default.call(d,a)===false)&&!n&&!(e&&e.nodeName&&c.noData[e.nodeName.toLowerCase()])){try{if(e[l]){if(k=e["on"+l])e["on"+l]=null;c.event.triggered=true;e[l]()}}catch(v){}if(k)e["on"+l]=k;c.event.triggered=false}}},handle:function(a){var b,d,e;
-d=[];var f,h=c.makeArray(arguments);a=h[0]=c.event.fix(a||E.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive;if(!b){e=a.type.split(".");a.type=e.shift();d=e.slice(0).sort();e=RegExp("(^|\\.)"+d.join("\\.(?:.*\\.)?")+"(\\.|$)")}a.namespace=a.namespace||d.join(".");f=c.data(this,this.nodeType?"events":"__events__");if(typeof f==="function")f=f.events;d=(f||{})[a.type];if(f&&d){d=d.slice(0);f=0;for(var k=d.length;f<k;f++){var l=d[f];if(b||e.test(l.namespace)){a.handler=l.handler;a.data=
-l.data;a.handleObj=l;l=l.handler.apply(this,h);if(l!==A){a.result=l;if(l===false){a.preventDefault();a.stopPropagation()}}if(a.isImmediatePropagationStopped())break}}}return a.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),
-fix:function(a){if(a[c.expando])return a;var b=a;a=c.Event(b);for(var d=this.props.length,e;d;){e=this.props[--d];a[e]=b[e]}if(!a.target)a.target=a.srcElement||u;if(a.target.nodeType===3)a.target=a.target.parentNode;if(!a.relatedTarget&&a.fromElement)a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement;if(a.pageX==null&&a.clientX!=null){b=u.documentElement;d=u.body;a.pageX=a.clientX+(b&&b.scrollLeft||d&&d.scrollLeft||0)-(b&&b.clientLeft||d&&d.clientLeft||0);a.pageY=a.clientY+(b&&b.scrollTop||
-d&&d.scrollTop||0)-(b&&b.clientTop||d&&d.clientTop||0)}if(a.which==null&&(a.charCode!=null||a.keyCode!=null))a.which=a.charCode!=null?a.charCode:a.keyCode;if(!a.metaKey&&a.ctrlKey)a.metaKey=a.ctrlKey;if(!a.which&&a.button!==A)a.which=a.button&1?1:a.button&2?3:a.button&4?2:0;return a},guid:1E8,proxy:c.proxy,special:{ready:{setup:c.bindReady,teardown:c.noop},live:{add:function(a){c.event.add(this,Y(a.origType,a.selector),c.extend({},a,{handler:Ga,guid:a.handler.guid}))},remove:function(a){c.event.remove(this,
-Y(a.origType,a.selector),a)}},beforeunload:{setup:function(a,b,d){if(c.isWindow(this))this.onbeforeunload=d},teardown:function(a,b){if(this.onbeforeunload===b)this.onbeforeunload=null}}}};c.removeEvent=u.removeEventListener?function(a,b,d){a.removeEventListener&&a.removeEventListener(b,d,false)}:function(a,b,d){a.detachEvent&&a.detachEvent("on"+b,d)};c.Event=function(a){if(!this.preventDefault)return new c.Event(a);if(a&&a.type){this.originalEvent=a;this.type=a.type}else this.type=a;this.timeStamp=
-c.now();this[c.expando]=true};c.Event.prototype={preventDefault:function(){this.isDefaultPrevented=ba;var a=this.originalEvent;if(a)if(a.preventDefault)a.preventDefault();else a.returnValue=false},stopPropagation:function(){this.isPropagationStopped=ba;var a=this.originalEvent;if(a){a.stopPropagation&&a.stopPropagation();a.cancelBubble=true}},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=ba;this.stopPropagation()},isDefaultPrevented:U,isPropagationStopped:U,isImmediatePropagationStopped:U};
-var ta=function(a){var b=a.relatedTarget;try{for(;b&&b!==this;)b=b.parentNode;if(b!==this){a.type=a.data;c.event.handle.apply(this,arguments)}}catch(d){}},ua=function(a){a.type=a.data;c.event.handle.apply(this,arguments)};c.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){c.event.special[a]={setup:function(d){c.event.add(this,b,d&&d.selector?ua:ta,a)},teardown:function(d){c.event.remove(this,b,d&&d.selector?ua:ta)}}});if(!c.support.submitBubbles)c.event.special.submit={setup:function(){if(this.nodeName.toLowerCase()!==
-"form"){c.event.add(this,"click.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="submit"||d==="image")&&c(b).closest("form").length){a.liveFired=A;return ja("submit",this,arguments)}});c.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="text"||d==="password")&&c(b).closest("form").length&&a.keyCode===13){a.liveFired=A;return ja("submit",this,arguments)}})}else return false},teardown:function(){c.event.remove(this,".specialSubmit")}};if(!c.support.changeBubbles){var V,
-va=function(a){var b=a.type,d=a.value;if(b==="radio"||b==="checkbox")d=a.checked;else if(b==="select-multiple")d=a.selectedIndex>-1?c.map(a.options,function(e){return e.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d},Z=function(a,b){var d=a.target,e,f;if(!(!ha.test(d.nodeName)||d.readOnly)){e=c.data(d,"_change_data");f=va(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data",f);if(!(e===A||f===e))if(e!=null||f){a.type="change";a.liveFired=
-A;return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:Z,beforedeactivate:Z,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return Z.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return Z.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a,"_change_data",va(a))}},setup:function(){if(this.type===
-"file")return false;for(var a in V)c.event.add(this,a+".specialChange",V[a]);return ha.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return ha.test(this.nodeName)}};V=c.event.special.change.filters;V.focus=V.beforeactivate}u.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(e){e=c.event.fix(e);e.type=b;return c.event.trigger(e,null,e.target)}c.event.special[b]={setup:function(){sa[b]++===0&&u.addEventListener(a,d,true)},teardown:function(){--sa[b]===
-0&&u.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,e,f){if(typeof d==="object"){for(var h in d)this[b](h,e,d[h],f);return this}if(c.isFunction(e)||e===false){f=e;e=A}var k=b==="one"?c.proxy(f,function(n){c(this).unbind(n,k);return f.apply(this,arguments)}):f;if(d==="unload"&&b!=="one")this.one(d,e,f);else{h=0;for(var l=this.length;h<l;h++)c.event.add(this[h],d,k,e)}return this}});c.fn.extend({unbind:function(a,b){if(typeof a==="object"&&!a.preventDefault)for(var d in a)this.unbind(d,
-a[d]);else{d=0;for(var e=this.length;d<e;d++)c.event.remove(this[d],a,b)}return this},delegate:function(a,b,d,e){return this.live(b,d,e,a)},undelegate:function(a,b,d){return arguments.length===0?this.unbind("live"):this.die(b,null,d,a)},trigger:function(a,b){return this.each(function(){c.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0]){var d=c.Event(a);d.preventDefault();d.stopPropagation();c.event.trigger(d,b,this[0]);return d.result}},toggle:function(a){for(var b=arguments,d=
-1;d<b.length;)c.proxy(a,b[d++]);return this.click(c.proxy(a,function(e){var f=(c.data(this,"lastToggle"+a.guid)||0)%d;c.data(this,"lastToggle"+a.guid,f+1);e.preventDefault();return b[f].apply(this,arguments)||false}))},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var wa={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};c.each(["live","die"],function(a,b){c.fn[b]=function(d,e,f,h){var k,l=0,n,s,v=h||this.selector;h=h?this:c(this.context);if(typeof d===
-"object"&&!d.preventDefault){for(k in d)h[b](k,e,d[k],v);return this}if(c.isFunction(e)){f=e;e=A}for(d=(d||"").split(" ");(k=d[l++])!=null;){n=X.exec(k);s="";if(n){s=n[0];k=k.replace(X,"")}if(k==="hover")d.push("mouseenter"+s,"mouseleave"+s);else{n=k;if(k==="focus"||k==="blur"){d.push(wa[k]+s);k+=s}else k=(wa[k]||k)+s;if(b==="live"){s=0;for(var B=h.length;s<B;s++)c.event.add(h[s],"live."+Y(k,v),{data:e,selector:v,handler:f,origType:k,origHandler:f,preType:n})}else h.unbind("live."+Y(k,v),f)}}return this}});
-c.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "),function(a,b){c.fn[b]=function(d,e){if(e==null){e=d;d=null}return arguments.length>0?this.bind(b,d,e):this.trigger(b)};if(c.attrFn)c.attrFn[b]=true});E.attachEvent&&!E.addEventListener&&c(E).bind("unload",function(){for(var a in c.cache)if(c.cache[a].handle)try{c.event.remove(c.cache[a].handle.elem)}catch(b){}});
-(function(){function a(g,j,o,m,p,q){p=0;for(var t=m.length;p<t;p++){var x=m[p];if(x){x=x[g];for(var C=false;x;){if(x.sizcache===o){C=m[x.sizset];break}if(x.nodeType===1&&!q){x.sizcache=o;x.sizset=p}if(x.nodeName.toLowerCase()===j){C=x;break}x=x[g]}m[p]=C}}}function b(g,j,o,m,p,q){p=0;for(var t=m.length;p<t;p++){var x=m[p];if(x){x=x[g];for(var C=false;x;){if(x.sizcache===o){C=m[x.sizset];break}if(x.nodeType===1){if(!q){x.sizcache=o;x.sizset=p}if(typeof j!=="string"){if(x===j){C=true;break}}else if(l.filter(j,
-[x]).length>0){C=x;break}}x=x[g]}m[p]=C}}}var d=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,e=0,f=Object.prototype.toString,h=false,k=true;[0,0].sort(function(){k=false;return 0});var l=function(g,j,o,m){o=o||[];var p=j=j||u;if(j.nodeType!==1&&j.nodeType!==9)return[];if(!g||typeof g!=="string")return o;var q=[],t,x,C,P,N=true,R=l.isXML(j),Q=g,L;do{d.exec("");if(t=d.exec(Q)){Q=t[3];q.push(t[1]);if(t[2]){P=t[3];
-break}}}while(t);if(q.length>1&&s.exec(g))if(q.length===2&&n.relative[q[0]])x=M(q[0]+q[1],j);else for(x=n.relative[q[0]]?[j]:l(q.shift(),j);q.length;){g=q.shift();if(n.relative[g])g+=q.shift();x=M(g,x)}else{if(!m&&q.length>1&&j.nodeType===9&&!R&&n.match.ID.test(q[0])&&!n.match.ID.test(q[q.length-1])){t=l.find(q.shift(),j,R);j=t.expr?l.filter(t.expr,t.set)[0]:t.set[0]}if(j){t=m?{expr:q.pop(),set:D(m)}:l.find(q.pop(),q.length===1&&(q[0]==="~"||q[0]==="+")&&j.parentNode?j.parentNode:j,R);x=t.expr?l.filter(t.expr,
-t.set):t.set;if(q.length>0)C=D(x);else N=false;for(;q.length;){t=L=q.pop();if(n.relative[L])t=q.pop();else L="";if(t==null)t=j;n.relative[L](C,t,R)}}else C=[]}C||(C=x);C||l.error(L||g);if(f.call(C)==="[object Array]")if(N)if(j&&j.nodeType===1)for(g=0;C[g]!=null;g++){if(C[g]&&(C[g]===true||C[g].nodeType===1&&l.contains(j,C[g])))o.push(x[g])}else for(g=0;C[g]!=null;g++)C[g]&&C[g].nodeType===1&&o.push(x[g]);else o.push.apply(o,C);else D(C,o);if(P){l(P,p,o,m);l.uniqueSort(o)}return o};l.uniqueSort=function(g){if(w){h=
-k;g.sort(w);if(h)for(var j=1;j<g.length;j++)g[j]===g[j-1]&&g.splice(j--,1)}return g};l.matches=function(g,j){return l(g,null,null,j)};l.matchesSelector=function(g,j){return l(j,null,null,[g]).length>0};l.find=function(g,j,o){var m;if(!g)return[];for(var p=0,q=n.order.length;p<q;p++){var t=n.order[p],x;if(x=n.leftMatch[t].exec(g)){var C=x[1];x.splice(1,1);if(C.substr(C.length-1)!=="\\"){x[1]=(x[1]||"").replace(/\\/g,"");m=n.find[t](x,j,o);if(m!=null){g=g.replace(n.match[t],"");break}}}}m||(m=j.getElementsByTagName("*"));
-return{set:m,expr:g}};l.filter=function(g,j,o,m){for(var p=g,q=[],t=j,x,C,P=j&&j[0]&&l.isXML(j[0]);g&&j.length;){for(var N in n.filter)if((x=n.leftMatch[N].exec(g))!=null&&x[2]){var R=n.filter[N],Q,L;L=x[1];C=false;x.splice(1,1);if(L.substr(L.length-1)!=="\\"){if(t===q)q=[];if(n.preFilter[N])if(x=n.preFilter[N](x,t,o,q,m,P)){if(x===true)continue}else C=Q=true;if(x)for(var i=0;(L=t[i])!=null;i++)if(L){Q=R(L,x,i,t);var r=m^!!Q;if(o&&Q!=null)if(r)C=true;else t[i]=false;else if(r){q.push(L);C=true}}if(Q!==
-A){o||(t=q);g=g.replace(n.match[N],"");if(!C)return[];break}}}if(g===p)if(C==null)l.error(g);else break;p=g}return t};l.error=function(g){throw"Syntax error, unrecognized expression: "+g;};var n=l.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+\-]*)\))?/,
-POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(g){return g.getAttribute("href")}},relative:{"+":function(g,j){var o=typeof j==="string",m=o&&!/\W/.test(j);o=o&&!m;if(m)j=j.toLowerCase();m=0;for(var p=g.length,q;m<p;m++)if(q=g[m]){for(;(q=q.previousSibling)&&q.nodeType!==1;);g[m]=o||q&&q.nodeName.toLowerCase()===
-j?q||false:q===j}o&&l.filter(j,g,true)},">":function(g,j){var o=typeof j==="string",m,p=0,q=g.length;if(o&&!/\W/.test(j))for(j=j.toLowerCase();p<q;p++){if(m=g[p]){o=m.parentNode;g[p]=o.nodeName.toLowerCase()===j?o:false}}else{for(;p<q;p++)if(m=g[p])g[p]=o?m.parentNode:m.parentNode===j;o&&l.filter(j,g,true)}},"":function(g,j,o){var m=e++,p=b,q;if(typeof j==="string"&&!/\W/.test(j)){q=j=j.toLowerCase();p=a}p("parentNode",j,m,g,q,o)},"~":function(g,j,o){var m=e++,p=b,q;if(typeof j==="string"&&!/\W/.test(j)){q=
-j=j.toLowerCase();p=a}p("previousSibling",j,m,g,q,o)}},find:{ID:function(g,j,o){if(typeof j.getElementById!=="undefined"&&!o)return(g=j.getElementById(g[1]))&&g.parentNode?[g]:[]},NAME:function(g,j){if(typeof j.getElementsByName!=="undefined"){for(var o=[],m=j.getElementsByName(g[1]),p=0,q=m.length;p<q;p++)m[p].getAttribute("name")===g[1]&&o.push(m[p]);return o.length===0?null:o}},TAG:function(g,j){return j.getElementsByTagName(g[1])}},preFilter:{CLASS:function(g,j,o,m,p,q){g=" "+g[1].replace(/\\/g,
-"")+" ";if(q)return g;q=0;for(var t;(t=j[q])!=null;q++)if(t)if(p^(t.className&&(" "+t.className+" ").replace(/[\t\n]/g," ").indexOf(g)>=0))o||m.push(t);else if(o)j[q]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()},CHILD:function(g){if(g[1]==="nth"){var j=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=j[1]+(j[2]||1)-0;g[3]=j[3]-0}g[0]=e++;return g},ATTR:function(g,j,o,
-m,p,q){j=g[1].replace(/\\/g,"");if(!q&&n.attrMap[j])g[1]=n.attrMap[j];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,j,o,m,p){if(g[1]==="not")if((d.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=l(g[3],null,null,j);else{g=l.filter(g[3],j,o,true^p);o||m.push.apply(m,g);return false}else if(n.match.POS.test(g[0])||n.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled===
-true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,j,o){return!!l(o[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)},text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"===
-g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}},setFilters:{first:function(g,j){return j===0},last:function(g,j,o,m){return j===m.length-1},even:function(g,j){return j%2===0},odd:function(g,j){return j%2===1},lt:function(g,j,o){return j<o[3]-0},gt:function(g,j,o){return j>o[3]-0},nth:function(g,j,o){return o[3]-
-0===j},eq:function(g,j,o){return o[3]-0===j}},filter:{PSEUDO:function(g,j,o,m){var p=j[1],q=n.filters[p];if(q)return q(g,o,j,m);else if(p==="contains")return(g.textContent||g.innerText||l.getText([g])||"").indexOf(j[3])>=0;else if(p==="not"){j=j[3];o=0;for(m=j.length;o<m;o++)if(j[o]===g)return false;return true}else l.error("Syntax error, unrecognized expression: "+p)},CHILD:function(g,j){var o=j[1],m=g;switch(o){case "only":case "first":for(;m=m.previousSibling;)if(m.nodeType===1)return false;if(o===
-"first")return true;m=g;case "last":for(;m=m.nextSibling;)if(m.nodeType===1)return false;return true;case "nth":o=j[2];var p=j[3];if(o===1&&p===0)return true;var q=j[0],t=g.parentNode;if(t&&(t.sizcache!==q||!g.nodeIndex)){var x=0;for(m=t.firstChild;m;m=m.nextSibling)if(m.nodeType===1)m.nodeIndex=++x;t.sizcache=q}m=g.nodeIndex-p;return o===0?m===0:m%o===0&&m/o>=0}},ID:function(g,j){return g.nodeType===1&&g.getAttribute("id")===j},TAG:function(g,j){return j==="*"&&g.nodeType===1||g.nodeName.toLowerCase()===
-j},CLASS:function(g,j){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(j)>-1},ATTR:function(g,j){var o=j[1];o=n.attrHandle[o]?n.attrHandle[o](g):g[o]!=null?g[o]:g.getAttribute(o);var m=o+"",p=j[2],q=j[4];return o==null?p==="!=":p==="="?m===q:p==="*="?m.indexOf(q)>=0:p==="~="?(" "+m+" ").indexOf(q)>=0:!q?m&&o!==false:p==="!="?m!==q:p==="^="?m.indexOf(q)===0:p==="$="?m.substr(m.length-q.length)===q:p==="|="?m===q||m.substr(0,q.length+1)===q+"-":false},POS:function(g,j,o,m){var p=n.setFilters[j[2]];
-if(p)return p(g,o,j,m)}}},s=n.match.POS,v=function(g,j){return"\\"+(j-0+1)},B;for(B in n.match){n.match[B]=RegExp(n.match[B].source+/(?![^\[]*\])(?![^\(]*\))/.source);n.leftMatch[B]=RegExp(/(^(?:.|\r|\n)*?)/.source+n.match[B].source.replace(/\\(\d+)/g,v))}var D=function(g,j){g=Array.prototype.slice.call(g,0);if(j){j.push.apply(j,g);return j}return g};try{Array.prototype.slice.call(u.documentElement.childNodes,0)}catch(H){D=function(g,j){var o=j||[],m=0;if(f.call(g)==="[object Array]")Array.prototype.push.apply(o,
-g);else if(typeof g.length==="number")for(var p=g.length;m<p;m++)o.push(g[m]);else for(;g[m];m++)o.push(g[m]);return o}}var w,G;if(u.documentElement.compareDocumentPosition)w=function(g,j){if(g===j){h=true;return 0}if(!g.compareDocumentPosition||!j.compareDocumentPosition)return g.compareDocumentPosition?-1:1;return g.compareDocumentPosition(j)&4?-1:1};else{w=function(g,j){var o=[],m=[],p=g.parentNode,q=j.parentNode,t=p;if(g===j){h=true;return 0}else if(p===q)return G(g,j);else if(p){if(!q)return 1}else return-1;
-for(;t;){o.unshift(t);t=t.parentNode}for(t=q;t;){m.unshift(t);t=t.parentNode}p=o.length;q=m.length;for(t=0;t<p&&t<q;t++)if(o[t]!==m[t])return G(o[t],m[t]);return t===p?G(g,m[t],-1):G(o[t],j,1)};G=function(g,j,o){if(g===j)return o;for(g=g.nextSibling;g;){if(g===j)return-1;g=g.nextSibling}return 1}}l.getText=function(g){for(var j="",o,m=0;g[m];m++){o=g[m];if(o.nodeType===3||o.nodeType===4)j+=o.nodeValue;else if(o.nodeType!==8)j+=l.getText(o.childNodes)}return j};(function(){var g=u.createElement("div"),
-j="script"+(new Date).getTime();g.innerHTML="<a name='"+j+"'/>";var o=u.documentElement;o.insertBefore(g,o.firstChild);if(u.getElementById(j)){n.find.ID=function(m,p,q){if(typeof p.getElementById!=="undefined"&&!q)return(p=p.getElementById(m[1]))?p.id===m[1]||typeof p.getAttributeNode!=="undefined"&&p.getAttributeNode("id").nodeValue===m[1]?[p]:A:[]};n.filter.ID=function(m,p){var q=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&q&&q.nodeValue===p}}o.removeChild(g);
-o=g=null})();(function(){var g=u.createElement("div");g.appendChild(u.createComment(""));if(g.getElementsByTagName("*").length>0)n.find.TAG=function(j,o){var m=o.getElementsByTagName(j[1]);if(j[1]==="*"){for(var p=[],q=0;m[q];q++)m[q].nodeType===1&&p.push(m[q]);m=p}return m};g.innerHTML="<a href='#'></a>";if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")n.attrHandle.href=function(j){return j.getAttribute("href",2)};g=null})();u.querySelectorAll&&
-function(){var g=l,j=u.createElement("div");j.innerHTML="<p class='TEST'></p>";if(!(j.querySelectorAll&&j.querySelectorAll(".TEST").length===0)){l=function(m,p,q,t){p=p||u;if(!t&&!l.isXML(p))if(p.nodeType===9)try{return D(p.querySelectorAll(m),q)}catch(x){}else if(p.nodeType===1&&p.nodeName.toLowerCase()!=="object"){var C=p.id,P=p.id="__sizzle__";try{return D(p.querySelectorAll("#"+P+" "+m),q)}catch(N){}finally{if(C)p.id=C;else p.removeAttribute("id")}}return g(m,p,q,t)};for(var o in g)l[o]=g[o];
-j=null}}();(function(){var g=u.documentElement,j=g.matchesSelector||g.mozMatchesSelector||g.webkitMatchesSelector||g.msMatchesSelector,o=false;try{j.call(u.documentElement,":sizzle")}catch(m){o=true}if(j)l.matchesSelector=function(p,q){try{if(o||!n.match.PSEUDO.test(q))return j.call(p,q)}catch(t){}return l(q,null,null,[p]).length>0}})();(function(){var g=u.createElement("div");g.innerHTML="<div class='test e'></div><div class='test'></div>";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===
-0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){n.order.splice(1,0,"CLASS");n.find.CLASS=function(j,o,m){if(typeof o.getElementsByClassName!=="undefined"&&!m)return o.getElementsByClassName(j[1])};g=null}}})();l.contains=u.documentElement.contains?function(g,j){return g!==j&&(g.contains?g.contains(j):true)}:function(g,j){return!!(g.compareDocumentPosition(j)&16)};l.isXML=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false};var M=function(g,
-j){for(var o=[],m="",p,q=j.nodeType?[j]:j;p=n.match.PSEUDO.exec(g);){m+=p[0];g=g.replace(n.match.PSEUDO,"")}g=n.relative[g]?g+"*":g;p=0;for(var t=q.length;p<t;p++)l(g,q[p],o);return l.filter(m,o)};c.find=l;c.expr=l.selectors;c.expr[":"]=c.expr.filters;c.unique=l.uniqueSort;c.text=l.getText;c.isXMLDoc=l.isXML;c.contains=l.contains})();var Wa=/Until$/,Xa=/^(?:parents|prevUntil|prevAll)/,Ya=/,/,Ja=/^.[^:#\[\.,]*$/,Za=Array.prototype.slice,$a=c.expr.match.POS;c.fn.extend({find:function(a){for(var b=this.pushStack("",
-"find",a),d=0,e=0,f=this.length;e<f;e++){d=b.length;c.find(a,this[e],b);if(e>0)for(var h=d;h<b.length;h++)for(var k=0;k<d;k++)if(b[k]===b[h]){b.splice(h--,1);break}}return b},has:function(a){var b=c(a);return this.filter(function(){for(var d=0,e=b.length;d<e;d++)if(c.contains(this,b[d]))return true})},not:function(a){return this.pushStack(ka(this,a,false),"not",a)},filter:function(a){return this.pushStack(ka(this,a,true),"filter",a)},is:function(a){return!!a&&c.filter(a,this).length>0},closest:function(a,
-b){var d=[],e,f,h=this[0];if(c.isArray(a)){var k={},l,n=1;if(h&&a.length){e=0;for(f=a.length;e<f;e++){l=a[e];k[l]||(k[l]=c.expr.match.POS.test(l)?c(l,b||this.context):l)}for(;h&&h.ownerDocument&&h!==b;){for(l in k){e=k[l];if(e.jquery?e.index(h)>-1:c(h).is(e))d.push({selector:l,elem:h,level:n})}h=h.parentNode;n++}}return d}k=$a.test(a)?c(a,b||this.context):null;e=0;for(f=this.length;e<f;e++)for(h=this[e];h;)if(k?k.index(h)>-1:c.find.matchesSelector(h,a)){d.push(h);break}else{h=h.parentNode;if(!h||
-!h.ownerDocument||h===b)break}d=d.length>1?c.unique(d):d;return this.pushStack(d,"closest",a)},index:function(a){if(!a||typeof a==="string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var d=typeof a==="string"?c(a,b||this.context):c.makeArray(a),e=c.merge(this.get(),d);return this.pushStack(!d[0]||!d[0].parentNode||d[0].parentNode.nodeType===11||!e[0]||!e[0].parentNode||e[0].parentNode.nodeType===11?e:c.unique(e))},andSelf:function(){return this.add(this.prevObject)}});
-c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode",d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a,2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",
-d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a,b){c.fn[a]=function(d,e){var f=c.map(this,b,d);Wa.test(a)||(e=d);if(e&&typeof e==="string")f=c.filter(e,f);f=this.length>1?c.unique(f):f;if((this.length>1||Ya.test(e))&&Xa.test(a))f=f.reverse();return this.pushStack(f,a,Za.call(arguments).join(","))}});
-c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return b.length===1?c.find.matchesSelector(b[0],a)?[b[0]]:[]:c.find.matches(a,b)},dir:function(a,b,d){var e=[];for(a=a[b];a&&a.nodeType!==9&&(d===A||a.nodeType!==1||!c(a).is(d));){a.nodeType===1&&e.push(a);a=a[b]}return e},nth:function(a,b,d){b=b||1;for(var e=0;a;a=a[d])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&d.push(a);return d}});var xa=/ jQuery\d+="(?:\d+|null)"/g,
-$=/^\s+/,ya=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,za=/<([\w:]+)/,ab=/<tbody/i,bb=/<|&#?\w+;/,Aa=/<(?:script|object|embed|option|style)/i,Ba=/checked\s*(?:[^=]|=\s*.checked.)/i,cb=/\=([^="'>\s]+\/)>/g,O={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],
-area:[1,"<map>","</map>"],_default:[0,"",""]};O.optgroup=O.option;O.tbody=O.tfoot=O.colgroup=O.caption=O.thead;O.th=O.td;if(!c.support.htmlSerialize)O._default=[1,"div<div>","</div>"];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d=c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==A)return this.empty().append((this[0]&&this[0].ownerDocument||u).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,
-d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this},wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},
-unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=
-c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var d=0,e;(e=this[d])!=null;d++)if(!a||c.filter(a,[e]).length){if(!b&&e.nodeType===1){c.cleanData(e.getElementsByTagName("*"));
-c.cleanData([e])}e.parentNode&&e.parentNode.removeChild(e)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild);return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,e=this.ownerDocument;if(!d){d=e.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(xa,"").replace(cb,'="$1">').replace($,
-"")],e)[0]}else return this.cloneNode(true)});if(a===true){la(this,b);la(this.find("*"),b.find("*"))}return b},html:function(a){if(a===A)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(xa,""):null;else if(typeof a==="string"&&!Aa.test(a)&&(c.support.leadingWhitespace||!$.test(a))&&!O[(za.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(ya,"<$1></$2>");try{for(var b=0,d=this.length;b<d;b++)if(this[b].nodeType===1){c.cleanData(this[b].getElementsByTagName("*"));this[b].innerHTML=a}}catch(e){this.empty().append(a)}}else c.isFunction(a)?
-this.each(function(f){var h=c(this);h.html(a.call(this,f,h.html()))}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(c.isFunction(a))return this.each(function(b){var d=c(this),e=d.html();d.replaceWith(a.call(this,b,e))});if(typeof a!=="string")a=c(a).detach();return this.each(function(){var b=this.nextSibling,d=this.parentNode;c(this).remove();b?c(b).before(a):c(d).append(a)})}else return this.pushStack(c(c.isFunction(a)?a():a),"replaceWith",a)},detach:function(a){return this.remove(a,
-true)},domManip:function(a,b,d){var e,f,h=a[0],k=[],l;if(!c.support.checkClone&&arguments.length===3&&typeof h==="string"&&Ba.test(h))return this.each(function(){c(this).domManip(a,b,d,true)});if(c.isFunction(h))return this.each(function(s){var v=c(this);a[0]=h.call(this,s,b?v.html():A);v.domManip(a,b,d)});if(this[0]){e=h&&h.parentNode;e=c.support.parentNode&&e&&e.nodeType===11&&e.childNodes.length===this.length?{fragment:e}:c.buildFragment(a,this,k);l=e.fragment;if(f=l.childNodes.length===1?l=l.firstChild:
-l.firstChild){b=b&&c.nodeName(f,"tr");f=0;for(var n=this.length;f<n;f++)d.call(b?c.nodeName(this[f],"table")?this[f].getElementsByTagName("tbody")[0]||this[f].appendChild(this[f].ownerDocument.createElement("tbody")):this[f]:this[f],f>0||e.cacheable||this.length>1?l.cloneNode(true):l)}k.length&&c.each(k,Ka)}return this}});c.buildFragment=function(a,b,d){var e,f,h;b=b&&b[0]?b[0].ownerDocument||b[0]:u;if(a.length===1&&typeof a[0]==="string"&&a[0].length<512&&b===u&&!Aa.test(a[0])&&(c.support.checkClone||
-!Ba.test(a[0]))){f=true;if(h=c.fragments[a[0]])if(h!==1)e=h}if(!e){e=b.createDocumentFragment();c.clean(a,b,e,d)}if(f)c.fragments[a[0]]=h?e:1;return{fragment:e,cacheable:f}};c.fragments={};c.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var e=[];d=c(d);var f=this.length===1&&this[0].parentNode;if(f&&f.nodeType===11&&f.childNodes.length===1&&d.length===1){d[b](this[0]);return this}else{f=0;for(var h=
-d.length;f<h;f++){var k=(f>0?this.clone(true):this).get();c(d[f])[b](k);e=e.concat(k)}return this.pushStack(e,a,d.selector)}}});c.extend({clean:function(a,b,d,e){b=b||u;if(typeof b.createElement==="undefined")b=b.ownerDocument||b[0]&&b[0].ownerDocument||u;for(var f=[],h=0,k;(k=a[h])!=null;h++){if(typeof k==="number")k+="";if(k){if(typeof k==="string"&&!bb.test(k))k=b.createTextNode(k);else if(typeof k==="string"){k=k.replace(ya,"<$1></$2>");var l=(za.exec(k)||["",""])[1].toLowerCase(),n=O[l]||O._default,
-s=n[0],v=b.createElement("div");for(v.innerHTML=n[1]+k+n[2];s--;)v=v.lastChild;if(!c.support.tbody){s=ab.test(k);l=l==="table"&&!s?v.firstChild&&v.firstChild.childNodes:n[1]==="<table>"&&!s?v.childNodes:[];for(n=l.length-1;n>=0;--n)c.nodeName(l[n],"tbody")&&!l[n].childNodes.length&&l[n].parentNode.removeChild(l[n])}!c.support.leadingWhitespace&&$.test(k)&&v.insertBefore(b.createTextNode($.exec(k)[0]),v.firstChild);k=v.childNodes}if(k.nodeType)f.push(k);else f=c.merge(f,k)}}if(d)for(h=0;f[h];h++)if(e&&
-c.nodeName(f[h],"script")&&(!f[h].type||f[h].type.toLowerCase()==="text/javascript"))e.push(f[h].parentNode?f[h].parentNode.removeChild(f[h]):f[h]);else{f[h].nodeType===1&&f.splice.apply(f,[h+1,0].concat(c.makeArray(f[h].getElementsByTagName("script"))));d.appendChild(f[h])}return f},cleanData:function(a){for(var b,d,e=c.cache,f=c.event.special,h=c.support.deleteExpando,k=0,l;(l=a[k])!=null;k++)if(!(l.nodeName&&c.noData[l.nodeName.toLowerCase()]))if(d=l[c.expando]){if((b=e[d])&&b.events)for(var n in b.events)f[n]?
-c.event.remove(l,n):c.removeEvent(l,n,b.handle);if(h)delete l[c.expando];else l.removeAttribute&&l.removeAttribute(c.expando);delete e[d]}}});var Ca=/alpha\([^)]*\)/i,db=/opacity=([^)]*)/,eb=/-([a-z])/ig,fb=/([A-Z])/g,Da=/^-?\d+(?:px)?$/i,gb=/^-?\d/,hb={position:"absolute",visibility:"hidden",display:"block"},La=["Left","Right"],Ma=["Top","Bottom"],W,ib=u.defaultView&&u.defaultView.getComputedStyle,jb=function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){if(arguments.length===2&&b===A)return this;
-return c.access(this,a,b,true,function(d,e,f){return f!==A?c.style(d,e,f):c.css(d,e)})};c.extend({cssHooks:{opacity:{get:function(a,b){if(b){var d=W(a,"opacity","opacity");return d===""?"1":d}else return a.style.opacity}}},cssNumber:{zIndex:true,fontWeight:true,opacity:true,zoom:true,lineHeight:true},cssProps:{"float":c.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,d,e){if(!(!a||a.nodeType===3||a.nodeType===8||!a.style)){var f,h=c.camelCase(b),k=a.style,l=c.cssHooks[h];b=c.cssProps[h]||
-h;if(d!==A){if(!(typeof d==="number"&&isNaN(d)||d==null)){if(typeof d==="number"&&!c.cssNumber[h])d+="px";if(!l||!("set"in l)||(d=l.set(a,d))!==A)try{k[b]=d}catch(n){}}}else{if(l&&"get"in l&&(f=l.get(a,false,e))!==A)return f;return k[b]}}},css:function(a,b,d){var e,f=c.camelCase(b),h=c.cssHooks[f];b=c.cssProps[f]||f;if(h&&"get"in h&&(e=h.get(a,true,d))!==A)return e;else if(W)return W(a,b,f)},swap:function(a,b,d){var e={},f;for(f in b){e[f]=a.style[f];a.style[f]=b[f]}d.call(a);for(f in b)a.style[f]=
-e[f]},camelCase:function(a){return a.replace(eb,jb)}});c.curCSS=c.css;c.each(["height","width"],function(a,b){c.cssHooks[b]={get:function(d,e,f){var h;if(e){if(d.offsetWidth!==0)h=ma(d,b,f);else c.swap(d,hb,function(){h=ma(d,b,f)});return h+"px"}},set:function(d,e){if(Da.test(e)){e=parseFloat(e);if(e>=0)return e+"px"}else return e}}});if(!c.support.opacity)c.cssHooks.opacity={get:function(a,b){return db.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":
-b?"1":""},set:function(a,b){var d=a.style;d.zoom=1;var e=c.isNaN(b)?"":"alpha(opacity="+b*100+")",f=d.filter||"";d.filter=Ca.test(f)?f.replace(Ca,e):d.filter+" "+e}};if(ib)W=function(a,b,d){var e;d=d.replace(fb,"-$1").toLowerCase();if(!(b=a.ownerDocument.defaultView))return A;if(b=b.getComputedStyle(a,null)){e=b.getPropertyValue(d);if(e===""&&!c.contains(a.ownerDocument.documentElement,a))e=c.style(a,d)}return e};else if(u.documentElement.currentStyle)W=function(a,b){var d,e,f=a.currentStyle&&a.currentStyle[b],
-h=a.style;if(!Da.test(f)&&gb.test(f)){d=h.left;e=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;h.left=b==="fontSize"?"1em":f||0;f=h.pixelLeft+"px";h.left=d;a.runtimeStyle.left=e}return f};if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b=a.offsetHeight;return a.offsetWidth===0&&b===0||!c.support.reliableHiddenOffsets&&(a.style.display||c.css(a,"display"))==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var kb=c.now(),lb=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,
-mb=/^(?:select|textarea)/i,nb=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,ob=/^(?:GET|HEAD|DELETE)$/,Na=/\[\]$/,T=/\=\?(&|$)/,ia=/\?/,pb=/([?&])_=[^&]*/,qb=/^(\w+:)?\/\/([^\/?#]+)/,rb=/%20/g,sb=/#.*$/,Ea=c.fn.load;c.fn.extend({load:function(a,b,d){if(typeof a!=="string"&&Ea)return Ea.apply(this,arguments);else if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var f=a.slice(e,a.length);a=a.slice(0,e)}e="GET";if(b)if(c.isFunction(b)){d=
-b;b=null}else if(typeof b==="object"){b=c.param(b,c.ajaxSettings.traditional);e="POST"}var h=this;c.ajax({url:a,type:e,dataType:"html",data:b,complete:function(k,l){if(l==="success"||l==="notmodified")h.html(f?c("<div>").append(k.responseText.replace(lb,"")).find(f):k.responseText);d&&h.each(d,[k.responseText,l,k])}});return this},serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&&
-!this.disabled&&(this.checked||mb.test(this.nodeName)||nb.test(this.type))}).map(function(a,b){var d=c(this).val();return d==null?null:c.isArray(d)?c.map(d,function(e){return{name:b.name,value:e}}):{name:b.name,value:d}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,e){if(c.isFunction(b)){e=e||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:e})},
-getScript:function(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,e){if(c.isFunction(b)){e=e||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:e})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return new E.XMLHttpRequest},accepts:{xml:"application/xml, text/xml",html:"text/html",
-script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},ajax:function(a){var b=c.extend(true,{},c.ajaxSettings,a),d,e,f,h=b.type.toUpperCase(),k=ob.test(h);b.url=b.url.replace(sb,"");b.context=a&&a.context!=null?a.context:b;if(b.data&&b.processData&&typeof b.data!=="string")b.data=c.param(b.data,b.traditional);if(b.dataType==="jsonp"){if(h==="GET")T.test(b.url)||(b.url+=(ia.test(b.url)?"&":"?")+(b.jsonp||"callback")+"=?");else if(!b.data||
-!T.test(b.data))b.data=(b.data?b.data+"&":"")+(b.jsonp||"callback")+"=?";b.dataType="json"}if(b.dataType==="json"&&(b.data&&T.test(b.data)||T.test(b.url))){d=b.jsonpCallback||"jsonp"+kb++;if(b.data)b.data=(b.data+"").replace(T,"="+d+"$1");b.url=b.url.replace(T,"="+d+"$1");b.dataType="script";var l=E[d];E[d]=function(m){f=m;c.handleSuccess(b,w,e,f);c.handleComplete(b,w,e,f);if(c.isFunction(l))l(m);else{E[d]=A;try{delete E[d]}catch(p){}}v&&v.removeChild(B)}}if(b.dataType==="script"&&b.cache===null)b.cache=
-false;if(b.cache===false&&h==="GET"){var n=c.now(),s=b.url.replace(pb,"$1_="+n);b.url=s+(s===b.url?(ia.test(b.url)?"&":"?")+"_="+n:"")}if(b.data&&h==="GET")b.url+=(ia.test(b.url)?"&":"?")+b.data;b.global&&c.active++===0&&c.event.trigger("ajaxStart");n=(n=qb.exec(b.url))&&(n[1]&&n[1]!==location.protocol||n[2]!==location.host);if(b.dataType==="script"&&h==="GET"&&n){var v=u.getElementsByTagName("head")[0]||u.documentElement,B=u.createElement("script");if(b.scriptCharset)B.charset=b.scriptCharset;B.src=
-b.url;if(!d){var D=false;B.onload=B.onreadystatechange=function(){if(!D&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){D=true;c.handleSuccess(b,w,e,f);c.handleComplete(b,w,e,f);B.onload=B.onreadystatechange=null;v&&B.parentNode&&v.removeChild(B)}}}v.insertBefore(B,v.firstChild);return A}var H=false,w=b.xhr();if(w){b.username?w.open(h,b.url,b.async,b.username,b.password):w.open(h,b.url,b.async);try{if(b.data!=null&&!k||a&&a.contentType)w.setRequestHeader("Content-Type",
-b.contentType);if(b.ifModified){c.lastModified[b.url]&&w.setRequestHeader("If-Modified-Since",c.lastModified[b.url]);c.etag[b.url]&&w.setRequestHeader("If-None-Match",c.etag[b.url])}n||w.setRequestHeader("X-Requested-With","XMLHttpRequest");w.setRequestHeader("Accept",b.dataType&&b.accepts[b.dataType]?b.accepts[b.dataType]+", */*; q=0.01":b.accepts._default)}catch(G){}if(b.beforeSend&&b.beforeSend.call(b.context,w,b)===false){b.global&&c.active--===1&&c.event.trigger("ajaxStop");w.abort();return false}b.global&&
-c.triggerGlobal(b,"ajaxSend",[w,b]);var M=w.onreadystatechange=function(m){if(!w||w.readyState===0||m==="abort"){H||c.handleComplete(b,w,e,f);H=true;if(w)w.onreadystatechange=c.noop}else if(!H&&w&&(w.readyState===4||m==="timeout")){H=true;w.onreadystatechange=c.noop;e=m==="timeout"?"timeout":!c.httpSuccess(w)?"error":b.ifModified&&c.httpNotModified(w,b.url)?"notmodified":"success";var p;if(e==="success")try{f=c.httpData(w,b.dataType,b)}catch(q){e="parsererror";p=q}if(e==="success"||e==="notmodified")d||
-c.handleSuccess(b,w,e,f);else c.handleError(b,w,e,p);d||c.handleComplete(b,w,e,f);m==="timeout"&&w.abort();if(b.async)w=null}};try{var g=w.abort;w.abort=function(){w&&g.call&&g.call(w);M("abort")}}catch(j){}b.async&&b.timeout>0&&setTimeout(function(){w&&!H&&M("timeout")},b.timeout);try{w.send(k||b.data==null?null:b.data)}catch(o){c.handleError(b,w,null,o);c.handleComplete(b,w,e,f)}b.async||M();return w}},param:function(a,b){var d=[],e=function(h,k){k=c.isFunction(k)?k():k;d[d.length]=encodeURIComponent(h)+
-"="+encodeURIComponent(k)};if(b===A)b=c.ajaxSettings.traditional;if(c.isArray(a)||a.jquery)c.each(a,function(){e(this.name,this.value)});else for(var f in a)ca(f,a[f],b,e);return d.join("&").replace(rb,"+")}});c.extend({active:0,lastModified:{},etag:{},handleError:function(a,b,d,e){a.error&&a.error.call(a.context,b,d,e);a.global&&c.triggerGlobal(a,"ajaxError",[b,a,e])},handleSuccess:function(a,b,d,e){a.success&&a.success.call(a.context,e,d,b);a.global&&c.triggerGlobal(a,"ajaxSuccess",[b,a])},handleComplete:function(a,
-b,d){a.complete&&a.complete.call(a.context,b,d);a.global&&c.triggerGlobal(a,"ajaxComplete",[b,a]);a.global&&c.active--===1&&c.event.trigger("ajaxStop")},triggerGlobal:function(a,b,d){(a.context&&a.context.url==null?c(a.context):c.event).trigger(b,d)},httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status===1223}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"),e=a.getResponseHeader("Etag");
-if(d)c.lastModified[b]=d;if(e)c.etag[b]=e;return a.status===304},httpData:function(a,b,d){var e=a.getResponseHeader("content-type")||"",f=b==="xml"||!b&&e.indexOf("xml")>=0;a=f?a.responseXML:a.responseText;f&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b==="json"||!b&&e.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&e.indexOf("javascript")>=0)c.globalEval(a);return a}});if(E.ActiveXObject)c.ajaxSettings.xhr=
-function(){if(E.location.protocol!=="file:")try{return new E.XMLHttpRequest}catch(a){}try{return new E.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}};c.support.ajax=!!c.ajaxSettings.xhr();var da={},tb=/^(?:toggle|show|hide)$/,ub=/^([+\-]=)?([\d+.\-]+)(.*)$/,aa,na=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b,d){if(a||a===0)return this.animate(S("show",3),a,b,d);else{a=
-0;for(b=this.length;a<b;a++){if(!c.data(this[a],"olddisplay")&&this[a].style.display==="none")this[a].style.display="";this[a].style.display===""&&c.css(this[a],"display")==="none"&&c.data(this[a],"olddisplay",oa(this[a].nodeName))}for(a=0;a<b;a++)this[a].style.display=c.data(this[a],"olddisplay")||"";return this}},hide:function(a,b,d){if(a||a===0)return this.animate(S("hide",3),a,b,d);else{a=0;for(b=this.length;a<b;a++){d=c.css(this[a],"display");d!=="none"&&c.data(this[a],"olddisplay",d)}for(a=
-0;a<b;a++)this[a].style.display="none";return this}},_toggle:c.fn.toggle,toggle:function(a,b,d){var e=typeof a==="boolean";if(c.isFunction(a)&&c.isFunction(b))this._toggle.apply(this,arguments);else a==null||e?this.each(function(){var f=e?a:c(this).is(":hidden");c(this)[f?"show":"hide"]()}):this.animate(S("toggle",3),a,b,d);return this},fadeTo:function(a,b,d,e){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,d,e)},animate:function(a,b,d,e){var f=c.speed(b,d,e);if(c.isEmptyObject(a))return this.each(f.complete);
-return this[f.queue===false?"each":"queue"](function(){var h=c.extend({},f),k,l=this.nodeType===1,n=l&&c(this).is(":hidden"),s=this;for(k in a){var v=c.camelCase(k);if(k!==v){a[v]=a[k];delete a[k];k=v}if(a[k]==="hide"&&n||a[k]==="show"&&!n)return h.complete.call(this);if(l&&(k==="height"||k==="width")){h.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY];if(c.css(this,"display")==="inline"&&c.css(this,"float")==="none")if(c.support.inlineBlockNeedsLayout)if(oa(this.nodeName)===
-"inline")this.style.display="inline-block";else{this.style.display="inline";this.style.zoom=1}else this.style.display="inline-block"}if(c.isArray(a[k])){(h.specialEasing=h.specialEasing||{})[k]=a[k][1];a[k]=a[k][0]}}if(h.overflow!=null)this.style.overflow="hidden";h.curAnim=c.extend({},a);c.each(a,function(B,D){var H=new c.fx(s,h,B);if(tb.test(D))H[D==="toggle"?n?"show":"hide":D](a);else{var w=ub.exec(D),G=H.cur(true)||0;if(w){var M=parseFloat(w[2]),g=w[3]||"px";if(g!=="px"){c.style(s,B,(M||1)+g);
-G=(M||1)/H.cur(true)*G;c.style(s,B,G+g)}if(w[1])M=(w[1]==="-="?-1:1)*M+G;H.custom(G,M,g)}else H.custom(G,D,"")}});return true})},stop:function(a,b){var d=c.timers;a&&this.queue([]);this.each(function(){for(var e=d.length-1;e>=0;e--)if(d[e].elem===this){b&&d[e](true);d.splice(e,1)}});b||this.dequeue();return this}});c.each({slideDown:S("show",1),slideUp:S("hide",1),slideToggle:S("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(a,b){c.fn[a]=function(d,e,f){return this.animate(b,
-d,e,f)}});c.extend({speed:function(a,b,d){var e=a&&typeof a==="object"?c.extend({},a):{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};e.duration=c.fx.off?0:typeof e.duration==="number"?e.duration:e.duration in c.fx.speeds?c.fx.speeds[e.duration]:c.fx.speeds._default;e.old=e.complete;e.complete=function(){e.queue!==false&&c(this).dequeue();c.isFunction(e.old)&&e.old.call(this)};return e},easing:{linear:function(a,b,d,e){return d+e*a},swing:function(a,b,d,e){return(-Math.cos(a*
-Math.PI)/2+0.5)*e+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]||c.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a=parseFloat(c.css(this.elem,this.prop));return a&&a>-1E4?a:0},custom:function(a,b,d){function e(h){return f.step(h)}
-this.startTime=c.now();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start;this.pos=this.state=0;var f=this;a=c.fx;e.elem=this.elem;if(e()&&c.timers.push(e)&&!aa)aa=setInterval(a.tick,a.interval)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true;
-this.custom(this.cur(),0)},step:function(a){var b=c.now(),d=true;if(a||b>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var e in this.options.curAnim)if(this.options.curAnim[e]!==true)d=false;if(d){if(this.options.overflow!=null&&!c.support.shrinkWrapBlocks){var f=this.elem,h=this.options;c.each(["","X","Y"],function(l,n){f.style["overflow"+n]=h.overflow[l]})}this.options.hide&&c(this.elem).hide();if(this.options.hide||
-this.options.show)for(var k in this.options.curAnim)c.style(this.elem,k,this.options.orig[k]);this.options.complete.call(this.elem)}return false}else{a=b-this.startTime;this.state=a/this.options.duration;b=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||b](this.state,a,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a=
-c.timers,b=0;b<a.length;b++)a[b]()||a.splice(b--,1);a.length||c.fx.stop()},interval:13,stop:function(){clearInterval(aa);aa=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){c.style(a.elem,"opacity",a.now)},_default:function(a){if(a.elem.style&&a.elem.style[a.prop]!=null)a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit;else a.elem[a.prop]=a.now}}});if(c.expr&&c.expr.filters)c.expr.filters.animated=function(a){return c.grep(c.timers,function(b){return a===
-b.elem}).length};var vb=/^t(?:able|d|h)$/i,Fa=/^(?:body|html)$/i;c.fn.offset="getBoundingClientRect"in u.documentElement?function(a){var b=this[0],d;if(a)return this.each(function(k){c.offset.setOffset(this,a,k)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);try{d=b.getBoundingClientRect()}catch(e){}var f=b.ownerDocument,h=f.documentElement;if(!d||!c.contains(h,b))return d||{top:0,left:0};b=f.body;f=ea(f);return{top:d.top+(f.pageYOffset||c.support.boxModel&&
-h.scrollTop||b.scrollTop)-(h.clientTop||b.clientTop||0),left:d.left+(f.pageXOffset||c.support.boxModel&&h.scrollLeft||b.scrollLeft)-(h.clientLeft||b.clientLeft||0)}}:function(a){var b=this[0];if(a)return this.each(function(s){c.offset.setOffset(this,a,s)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);c.offset.initialize();var d=b.offsetParent,e=b.ownerDocument,f,h=e.documentElement,k=e.body;f=(e=e.defaultView)?e.getComputedStyle(b,null):b.currentStyle;
-for(var l=b.offsetTop,n=b.offsetLeft;(b=b.parentNode)&&b!==k&&b!==h;){if(c.offset.supportsFixedPosition&&f.position==="fixed")break;f=e?e.getComputedStyle(b,null):b.currentStyle;l-=b.scrollTop;n-=b.scrollLeft;if(b===d){l+=b.offsetTop;n+=b.offsetLeft;if(c.offset.doesNotAddBorder&&!(c.offset.doesAddBorderForTableAndCells&&vb.test(b.nodeName))){l+=parseFloat(f.borderTopWidth)||0;n+=parseFloat(f.borderLeftWidth)||0}d=b.offsetParent}if(c.offset.subtractsBorderForOverflowNotVisible&&f.overflow!=="visible"){l+=
-parseFloat(f.borderTopWidth)||0;n+=parseFloat(f.borderLeftWidth)||0}f=f}if(f.position==="relative"||f.position==="static"){l+=k.offsetTop;n+=k.offsetLeft}if(c.offset.supportsFixedPosition&&f.position==="fixed"){l+=Math.max(h.scrollTop,k.scrollTop);n+=Math.max(h.scrollLeft,k.scrollLeft)}return{top:l,left:n}};c.offset={initialize:function(){var a=u.body,b=u.createElement("div"),d,e,f,h=parseFloat(c.css(a,"marginTop"))||0;c.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",
-height:"1px",visibility:"hidden"});b.innerHTML="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";a.insertBefore(b,a.firstChild);d=b.firstChild;e=d.firstChild;f=d.nextSibling.firstChild.firstChild;this.doesNotAddBorder=e.offsetTop!==5;this.doesAddBorderForTableAndCells=
-f.offsetTop===5;e.style.position="fixed";e.style.top="20px";this.supportsFixedPosition=e.offsetTop===20||e.offsetTop===15;e.style.position=e.style.top="";d.style.overflow="hidden";d.style.position="relative";this.subtractsBorderForOverflowNotVisible=e.offsetTop===-5;this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==h;a.removeChild(b);c.offset.initialize=c.noop},bodyOffset:function(a){var b=a.offsetTop,d=a.offsetLeft;c.offset.initialize();if(c.offset.doesNotIncludeMarginInBodyOffset){b+=parseFloat(c.css(a,
-"marginTop"))||0;d+=parseFloat(c.css(a,"marginLeft"))||0}return{top:b,left:d}},setOffset:function(a,b,d){var e=c.css(a,"position");if(e==="static")a.style.position="relative";var f=c(a),h=f.offset(),k=c.css(a,"top"),l=c.css(a,"left"),n=e==="absolute"&&c.inArray("auto",[k,l])>-1;e={};var s={};if(n)s=f.position();k=n?s.top:parseInt(k,10)||0;l=n?s.left:parseInt(l,10)||0;if(c.isFunction(b))b=b.call(a,d,h);if(b.top!=null)e.top=b.top-h.top+k;if(b.left!=null)e.left=b.left-h.left+l;"using"in b?b.using.call(a,
-e):f.css(e)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),e=Fa.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.css(a,"marginTop"))||0;d.left-=parseFloat(c.css(a,"marginLeft"))||0;e.top+=parseFloat(c.css(b[0],"borderTopWidth"))||0;e.left+=parseFloat(c.css(b[0],"borderLeftWidth"))||0;return{top:d.top-e.top,left:d.left-e.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||u.body;a&&!Fa.test(a.nodeName)&&
-c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(e){var f=this[0],h;if(!f)return null;if(e!==A)return this.each(function(){if(h=ea(this))h.scrollTo(!a?e:c(h).scrollLeft(),a?e:c(h).scrollTop());else this[d]=e});else return(h=ea(f))?"pageXOffset"in h?h[a?"pageYOffset":"pageXOffset"]:c.support.boxModel&&h.document.documentElement[d]||h.document.body[d]:f[d]}});c.each(["Height","Width"],function(a,b){var d=b.toLowerCase();
-c.fn["inner"+b]=function(){return this[0]?parseFloat(c.css(this[0],d,"padding")):null};c.fn["outer"+b]=function(e){return this[0]?parseFloat(c.css(this[0],d,e?"margin":"border")):null};c.fn[d]=function(e){var f=this[0];if(!f)return e==null?null:this;if(c.isFunction(e))return this.each(function(h){var k=c(this);k[d](e.call(this,h,k[d]()))});return c.isWindow(f)?f.document.compatMode==="CSS1Compat"&&f.document.documentElement["client"+b]||f.document.body["client"+b]:f.nodeType===9?Math.max(f.documentElement["client"+
-b],f.body["scroll"+b],f.documentElement["scroll"+b],f.body["offset"+b],f.documentElement["offset"+b]):e===A?parseFloat(c.css(f,d)):this.css(d,typeof e==="string"?e:e+"px")}})})(window);
+/*! jQuery v1.11.1 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */
+!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l="1.11.1",m=function(a,b){return new m.fn.init(a,b)},n=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,o=/^-ms-/,p=/-([\da-z])/gi,q=function(a,b){return b.toUpperCase()};m.fn=m.prototype={jquery:l,constructor:m,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=m.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return m.each(this,a,b)},map:function(a){return this.pushStack(m.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},m.extend=m.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||m.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(m.isPlainObject(c)||(b=m.isArray(c)))?(b?(b=!1,f=a&&m.isArray(a)?a:[]):f=a&&m.isPlainObject(a)?a:{},g[d]=m.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},m.extend({expando:"jQuery"+(l+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===m.type(a)},isArray:Array.isArray||function(a){return"array"===m.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return!m.isArray(a)&&a-parseFloat(a)>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==m.type(a)||a.nodeType||m.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(k.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&m.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(o,"ms-").replace(p,q)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=r(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(n,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(r(Object(a))?m.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=r(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),m.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||m.guid++,e):void 0},now:function(){return+new Date},support:k}),m.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function r(a){var b=a.length,c=m.type(a);return"function"===c||m.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var s=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+-new Date,v=a.document,w=0,x=0,y=gb(),z=gb(),A=gb(),B=function(a,b){return a===b&&(l=!0),0},C="undefined",D=1<<31,E={}.hasOwnProperty,F=[],G=F.pop,H=F.push,I=F.push,J=F.slice,K=F.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},L="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",N="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=N.replace("w","w#"),P="\\["+M+"*("+N+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+O+"))|)"+M+"*\\]",Q=":("+N+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+P+")*)|.*)\\)|)",R=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),S=new RegExp("^"+M+"*,"+M+"*"),T=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),V=new RegExp(Q),W=new RegExp("^"+O+"$"),X={ID:new RegExp("^#("+N+")"),CLASS:new RegExp("^\\.("+N+")"),TAG:new RegExp("^("+N.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+Q),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+L+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/'|\\/g,cb=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),db=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{I.apply(F=J.call(v.childNodes),v.childNodes),F[v.childNodes.length].nodeType}catch(eb){I={apply:F.length?function(a,b){H.apply(a,J.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],!a||"string"!=typeof a)return d;if(1!==(k=b.nodeType)&&9!==k)return[];if(p&&!e){if(f=_.exec(a))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return I.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName&&b.getElementsByClassName)return I.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=9===k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(bb,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+qb(o[l]);w=ab.test(a)&&ob(b.parentNode)||b,x=o.join(",")}if(x)try{return I.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function gb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function hb(a){return a[u]=!0,a}function ib(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function jb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function kb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||D)-(~a.sourceIndex||D);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function lb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function nb(a){return hb(function(b){return b=+b,hb(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function ob(a){return a&&typeof a.getElementsByTagName!==C&&a}c=fb.support={},f=fb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fb.setDocument=function(a){var b,e=a?a.ownerDocument||a:v,g=e.defaultView;return e!==n&&9===e.nodeType&&e.documentElement?(n=e,o=e.documentElement,p=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){m()},!1):g.attachEvent&&g.attachEvent("onunload",function(){m()})),c.attributes=ib(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ib(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(e.getElementsByClassName)&&ib(function(a){return a.innerHTML="<div class='a'></div><div class='a i'></div>",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=ib(function(a){return o.appendChild(a).id=u,!e.getElementsByName||!e.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==C&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c=typeof a.getAttributeNode!==C&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==C?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==C&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(e.querySelectorAll))&&(ib(function(a){a.innerHTML="<select msallowclip=''><option selected=''></option></select>",a.querySelectorAll("[msallowclip^='']").length&&q.push("[*^$]="+M+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+M+"*(?:value|"+L+")"),a.querySelectorAll(":checked").length||q.push(":checked")}),ib(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+M+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ib(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",Q)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===v&&t(v,a)?-1:b===e||b.ownerDocument===v&&t(v,b)?1:k?K.call(k,a)-K.call(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],i=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:k?K.call(k,a)-K.call(k,b):0;if(f===g)return kb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?kb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},e):n},fb.matches=function(a,b){return fb(a,null,null,b)},fb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fb(b,n,null,[a]).length>0},fb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&E.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fb.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fb.selectors={cacheLength:50,createPseudo:hb,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||"").replace(cb,db),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+M+")"+a+"("+M+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==C&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fb.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fb.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?hb(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=K.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:hb(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?hb(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:hb(function(a){return function(b){return fb(a,b).length>0}}),contains:hb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:hb(function(a){return W.test(a||"")||fb.error("unsupported lang: "+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:nb(function(){return[0]}),last:nb(function(a,b){return[b-1]}),eq:nb(function(a,b,c){return[0>c?c+b:c]}),even:nb(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:nb(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:nb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:nb(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=lb(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=mb(b);function pb(){}pb.prototype=d.filters=d.pseudos,d.setFilters=new pb,g=fb.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){(!c||(e=S.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=T.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(R," ")}),h=h.slice(c.length));for(g in d.filter)!(e=X[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?fb.error(a):z(a,i).slice(0)};function qb(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function rb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function sb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function tb(a,b,c){for(var d=0,e=b.length;e>d;d++)fb(a,b[d],c);return c}function ub(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function vb(a,b,c,d,e,f){return d&&!d[u]&&(d=vb(d)),e&&!e[u]&&(e=vb(e,f)),hb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||tb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ub(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ub(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?K.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ub(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):I.apply(g,r)})}function wb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=rb(function(a){return a===b},h,!0),l=rb(function(a){return K.call(b,a)>-1},h,!0),m=[function(a,c,d){return!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>i;i++)if(c=d.relative[a[i].type])m=[rb(sb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return vb(i>1&&sb(m),i>1&&qb(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&wb(a.slice(i,e)),f>e&&wb(a=a.slice(e)),f>e&&qb(a))}m.push(c)}return sb(m)}function xb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=G.call(i));s=ub(s)}I.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&fb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?hb(f):f}return h=fb.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xb(e,d)),f.selector=a}return f},i=fb.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&ob(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qb(j),!a)return I.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&ob(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ib(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ib(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||jb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ib(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||jb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ib(function(a){return null==a.getAttribute("disabled")})||jb(L,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fb}(a);m.find=s,m.expr=s.selectors,m.expr[":"]=m.expr.pseudos,m.unique=s.uniqueSort,m.text=s.getText,m.isXMLDoc=s.isXML,m.contains=s.contains;var t=m.expr.match.needsContext,u=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,v=/^.[^:#\[\.,]*$/;function w(a,b,c){if(m.isFunction(b))return m.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return m.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(v.test(b))return m.filter(b,a,c);b=m.filter(b,a)}return m.grep(a,function(a){return m.inArray(a,b)>=0!==c})}m.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?m.find.matchesSelector(d,a)?[d]:[]:m.find.matches(a,m.grep(b,function(a){return 1===a.nodeType}))},m.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(m(a).filter(function(){for(b=0;e>b;b++)if(m.contains(d[b],this))return!0}));for(b=0;e>b;b++)m.find(a,d[b],c);return c=this.pushStack(e>1?m.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(w(this,a||[],!1))},not:function(a){return this.pushStack(w(this,a||[],!0))},is:function(a){return!!w(this,"string"==typeof a&&t.test(a)?m(a):a||[],!1).length}});var x,y=a.document,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=m.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||x).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof m?b[0]:b,m.merge(this,m.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:y,!0)),u.test(c[1])&&m.isPlainObject(b))for(c in b)m.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=y.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return x.find(a);this.length=1,this[0]=d}return this.context=y,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):m.isFunction(a)?"undefined"!=typeof x.ready?x.ready(a):a(m):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),m.makeArray(a,this))};A.prototype=m.fn,x=m(y);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};m.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!m(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),m.fn.extend({has:function(a){var b,c=m(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(m.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=t.test(a)||"string"!=typeof a?m(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&m.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?m.unique(f):f)},index:function(a){return a?"string"==typeof a?m.inArray(this[0],m(a)):m.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(m.unique(m.merge(this.get(),m(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}m.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return m.dir(a,"parentNode")},parentsUntil:function(a,b,c){return m.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return m.dir(a,"nextSibling")},prevAll:function(a){return m.dir(a,"previousSibling")},nextUntil:function(a,b,c){return m.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return m.dir(a,"previousSibling",c)},siblings:function(a){return m.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return m.sibling(a.firstChild)},contents:function(a){return m.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:m.merge([],a.childNodes)}},function(a,b){m.fn[a]=function(c,d){var e=m.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=m.filter(d,e)),this.length>1&&(C[a]||(e=m.unique(e)),B.test(a)&&(e=e.reverse())),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return m.each(a.match(E)||[],function(a,c){b[c]=!0}),b}m.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):m.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){m.each(b,function(b,c){var d=m.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&m.each(arguments,function(a,c){var d;while((d=m.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?m.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},m.extend({Deferred:function(a){var b=[["resolve","done",m.Callbacks("once memory"),"resolved"],["reject","fail",m.Callbacks("once memory"),"rejected"],["notify","progress",m.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return m.Deferred(function(c){m.each(b,function(b,f){var g=m.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&m.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?m.extend(a,d):d}},e={};return d.pipe=d.then,m.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&m.isFunction(a.promise)?e:0,g=1===f?a:m.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&m.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;m.fn.ready=function(a){return m.ready.promise().done(a),this},m.extend({isReady:!1,readyWait:1,holdReady:function(a){a?m.readyWait++:m.ready(!0)},ready:function(a){if(a===!0?!--m.readyWait:!m.isReady){if(!y.body)return setTimeout(m.ready);m.isReady=!0,a!==!0&&--m.readyWait>0||(H.resolveWith(y,[m]),m.fn.triggerHandler&&(m(y).triggerHandler("ready"),m(y).off("ready")))}}});function I(){y.addEventListener?(y.removeEventListener("DOMContentLoaded",J,!1),a.removeEventListener("load",J,!1)):(y.detachEvent("onreadystatechange",J),a.detachEvent("onload",J))}function J(){(y.addEventListener||"load"===event.type||"complete"===y.readyState)&&(I(),m.ready())}m.ready.promise=function(b){if(!H)if(H=m.Deferred(),"complete"===y.readyState)setTimeout(m.ready);else if(y.addEventListener)y.addEventListener("DOMContentLoaded",J,!1),a.addEventListener("load",J,!1);else{y.attachEvent("onreadystatechange",J),a.attachEvent("onload",J);var c=!1;try{c=null==a.frameElement&&y.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!m.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}I(),m.ready()}}()}return H.promise(b)};var K="undefined",L;for(L in m(k))break;k.ownLast="0"!==L,k.inlineBlockNeedsLayout=!1,m(function(){var a,b,c,d;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",k.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(d))}),function(){var a=y.createElement("div");if(null==k.deleteExpando){k.deleteExpando=!0;try{delete a.test}catch(b){k.deleteExpando=!1}}a=null}(),m.acceptData=function(a){var b=m.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var M=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,N=/([A-Z])/g;function O(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(N,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:M.test(c)?m.parseJSON(c):c}catch(e){}m.data(a,b,c)}else c=void 0}return c}function P(a){var b;for(b in a)if(("data"!==b||!m.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function Q(a,b,d,e){if(m.acceptData(a)){var f,g,h=m.expando,i=a.nodeType,j=i?m.cache:a,k=i?a[h]:a[h]&&h;
+if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||m.guid++:h),j[k]||(j[k]=i?{}:{toJSON:m.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=m.extend(j[k],b):j[k].data=m.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[m.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[m.camelCase(b)])):f=g,f}}function R(a,b,c){if(m.acceptData(a)){var d,e,f=a.nodeType,g=f?m.cache:a,h=f?a[m.expando]:m.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){m.isArray(b)?b=b.concat(m.map(b,m.camelCase)):b in d?b=[b]:(b=m.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!P(d):!m.isEmptyObject(d))return}(c||(delete g[h].data,P(g[h])))&&(f?m.cleanData([a],!0):k.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}m.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?m.cache[a[m.expando]]:a[m.expando],!!a&&!P(a)},data:function(a,b,c){return Q(a,b,c)},removeData:function(a,b){return R(a,b)},_data:function(a,b,c){return Q(a,b,c,!0)},_removeData:function(a,b){return R(a,b,!0)}}),m.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=m.data(f),1===f.nodeType&&!m._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=m.camelCase(d.slice(5)),O(f,d,e[d])));m._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){m.data(this,a)}):arguments.length>1?this.each(function(){m.data(this,a,b)}):f?O(f,a,m.data(f,a)):void 0},removeData:function(a){return this.each(function(){m.removeData(this,a)})}}),m.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=m._data(a,b),c&&(!d||m.isArray(c)?d=m._data(a,b,m.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=m.queue(a,b),d=c.length,e=c.shift(),f=m._queueHooks(a,b),g=function(){m.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return m._data(a,c)||m._data(a,c,{empty:m.Callbacks("once memory").add(function(){m._removeData(a,b+"queue"),m._removeData(a,c)})})}}),m.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?m.queue(this[0],a):void 0===b?this:this.each(function(){var c=m.queue(this,a,b);m._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&m.dequeue(this,a)})},dequeue:function(a){return this.each(function(){m.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=m.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=m._data(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var S=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,T=["Top","Right","Bottom","Left"],U=function(a,b){return a=b||a,"none"===m.css(a,"display")||!m.contains(a.ownerDocument,a)},V=m.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===m.type(c)){e=!0;for(h in c)m.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,m.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(m(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},W=/^(?:checkbox|radio)$/i;!function(){var a=y.createElement("input"),b=y.createElement("div"),c=y.createDocumentFragment();if(b.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",k.leadingWhitespace=3===b.firstChild.nodeType,k.tbody=!b.getElementsByTagName("tbody").length,k.htmlSerialize=!!b.getElementsByTagName("link").length,k.html5Clone="<:nav></:nav>"!==y.createElement("nav").cloneNode(!0).outerHTML,a.type="checkbox",a.checked=!0,c.appendChild(a),k.appendChecked=a.checked,b.innerHTML="<textarea>x</textarea>",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,c.appendChild(b),b.innerHTML="<input type='radio' checked='checked' name='t'/>",k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,k.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){k.noCloneEvent=!1}),b.cloneNode(!0).click()),null==k.deleteExpando){k.deleteExpando=!0;try{delete b.test}catch(d){k.deleteExpando=!1}}}(),function(){var b,c,d=y.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(k[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),k[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var X=/^(?:input|select|textarea)$/i,Y=/^key/,Z=/^(?:mouse|pointer|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=/^([^.]*)(?:\.(.+)|)$/;function ab(){return!0}function bb(){return!1}function cb(){try{return y.activeElement}catch(a){}}m.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=m.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof m===K||a&&m.event.triggered===a.type?void 0:m.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(E)||[""],h=b.length;while(h--)f=_.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=m.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=m.event.special[o]||{},l=m.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&m.expr.match.needsContext.test(e),namespace:p.join(".")},i),(n=g[o])||(n=g[o]=[],n.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?n.splice(n.delegateCount++,0,l):n.push(l),m.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m.hasData(a)&&m._data(a);if(r&&(k=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=_.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=m.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,n=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=n.length;while(f--)g=n[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(n.splice(f,1),g.selector&&n.delegateCount--,l.remove&&l.remove.call(a,g));i&&!n.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||m.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)m.event.remove(a,o+b[j],c,d,!0);m.isEmptyObject(k)&&(delete r.handle,m._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,n,o=[d||y],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||y,3!==d.nodeType&&8!==d.nodeType&&!$.test(p+m.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[m.expando]?b:new m.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:m.makeArray(c,[b]),k=m.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!m.isWindow(d)){for(i=k.delegateType||p,$.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||y)&&o.push(l.defaultView||l.parentWindow||a)}n=0;while((h=o[n++])&&!b.isPropagationStopped())b.type=n>1?i:k.bindType||p,f=(m._data(h,"events")||{})[b.type]&&m._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&m.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&m.acceptData(d)&&g&&d[p]&&!m.isWindow(d)){l=d[g],l&&(d[g]=null),m.event.triggered=p;try{d[p]()}catch(r){}m.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=m.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(m._data(this,"events")||{})[a.type]||[],k=m.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=m.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((m.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?m(c,this).index(i)>=0:m.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},fix:function(a){if(a[m.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];g||(this.fixHooks[e]=g=Z.test(e)?this.mouseHooks:Y.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new m.Event(f),b=d.length;while(b--)c=d[b],a[c]=f[c];return a.target||(a.target=f.srcElement||y),3===a.target.nodeType&&(a.target=a.target.parentNode),a.metaKey=!!a.metaKey,g.filter?g.filter(a,f):a},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,d,e,f=b.button,g=b.fromElement;return null==a.pageX&&null!=b.clientX&&(d=a.target.ownerDocument||y,e=d.documentElement,c=d.body,a.pageX=b.clientX+(e&&e.scrollLeft||c&&c.scrollLeft||0)-(e&&e.clientLeft||c&&c.clientLeft||0),a.pageY=b.clientY+(e&&e.scrollTop||c&&c.scrollTop||0)-(e&&e.clientTop||c&&c.clientTop||0)),!a.relatedTarget&&g&&(a.relatedTarget=g===a.target?b.toElement:g),a.which||void 0===f||(a.which=1&f?1:2&f?3:4&f?2:0),a}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==cb()&&this.focus)try{return this.focus(),!1}catch(a){}},delegateType:"focusin"},blur:{trigger:function(){return this===cb()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return m.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):void 0},_default:function(a){return m.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c,d){var e=m.extend(new m.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?m.event.trigger(e,null,b):m.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},m.removeEvent=y.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){var d="on"+b;a.detachEvent&&(typeof a[d]===K&&(a[d]=null),a.detachEvent(d,c))},m.Event=function(a,b){return this instanceof m.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?ab:bb):this.type=a,b&&m.extend(this,b),this.timeStamp=a&&a.timeStamp||m.now(),void(this[m.expando]=!0)):new m.Event(a,b)},m.Event.prototype={isDefaultPrevented:bb,isPropagationStopped:bb,isImmediatePropagationStopped:bb,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=ab,a&&(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=ab,a&&(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=ab,a&&a.stopImmediatePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}},m.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){m.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!m.contains(d,e))&&(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),k.submitBubbles||(m.event.special.submit={setup:function(){return m.nodeName(this,"form")?!1:void m.event.add(this,"click._submit keypress._submit",function(a){var b=a.target,c=m.nodeName(b,"input")||m.nodeName(b,"button")?b.form:void 0;c&&!m._data(c,"submitBubbles")&&(m.event.add(c,"submit._submit",function(a){a._submit_bubble=!0}),m._data(c,"submitBubbles",!0))})},postDispatch:function(a){a._submit_bubble&&(delete a._submit_bubble,this.parentNode&&!a.isTrigger&&m.event.simulate("submit",this.parentNode,a,!0))},teardown:function(){return m.nodeName(this,"form")?!1:void m.event.remove(this,"._submit")}}),k.changeBubbles||(m.event.special.change={setup:function(){return X.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(m.event.add(this,"propertychange._change",function(a){"checked"===a.originalEvent.propertyName&&(this._just_changed=!0)}),m.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1),m.event.simulate("change",this,a,!0)})),!1):void m.event.add(this,"beforeactivate._change",function(a){var b=a.target;X.test(b.nodeName)&&!m._data(b,"changeBubbles")&&(m.event.add(b,"change._change",function(a){!this.parentNode||a.isSimulated||a.isTrigger||m.event.simulate("change",this.parentNode,a,!0)}),m._data(b,"changeBubbles",!0))})},handle:function(a){var b=a.target;return this!==b||a.isSimulated||a.isTrigger||"radio"!==b.type&&"checkbox"!==b.type?a.handleObj.handler.apply(this,arguments):void 0},teardown:function(){return m.event.remove(this,"._change"),!X.test(this.nodeName)}}),k.focusinBubbles||m.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){m.event.simulate(b,a.target,m.event.fix(a),!0)};m.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=m._data(d,b);e||d.addEventListener(a,c,!0),m._data(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=m._data(d,b)-1;e?m._data(d,b,e):(d.removeEventListener(a,c,!0),m._removeData(d,b))}}}),m.fn.extend({on:function(a,b,c,d,e){var f,g;if("object"==typeof a){"string"!=typeof b&&(c=c||b,b=void 0);for(f in a)this.on(f,b,c,a[f],e);return this}if(null==c&&null==d?(d=b,c=b=void 0):null==d&&("string"==typeof b?(d=c,c=void 0):(d=c,c=b,b=void 0)),d===!1)d=bb;else if(!d)return this;return 1===e&&(g=d,d=function(a){return m().off(a),g.apply(this,arguments)},d.guid=g.guid||(g.guid=m.guid++)),this.each(function(){m.event.add(this,a,d,c,b)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,m(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return(b===!1||"function"==typeof b)&&(c=b,b=void 0),c===!1&&(c=bb),this.each(function(){m.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){m.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?m.event.trigger(a,b,c,!0):void 0}});function db(a){var b=eb.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}var eb="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",fb=/ jQuery\d+="(?:null|\d+)"/g,gb=new RegExp("<(?:"+eb+")[\\s/>]","i"),hb=/^\s+/,ib=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,jb=/<([\w:]+)/,kb=/<tbody/i,lb=/<|&#?\w+;/,mb=/<(?:script|style|link)/i,nb=/checked\s*(?:[^=]|=\s*.checked.)/i,ob=/^$|\/(?:java|ecma)script/i,pb=/^true\/(.*)/,qb=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,rb={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:k.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},sb=db(y),tb=sb.appendChild(y.createElement("div"));rb.optgroup=rb.option,rb.tbody=rb.tfoot=rb.colgroup=rb.caption=rb.thead,rb.th=rb.td;function ub(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==K?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==K?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||m.nodeName(d,b)?f.push(d):m.merge(f,ub(d,b));return void 0===b||b&&m.nodeName(a,b)?m.merge([a],f):f}function vb(a){W.test(a.type)&&(a.defaultChecked=a.checked)}function wb(a,b){return m.nodeName(a,"table")&&m.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function xb(a){return a.type=(null!==m.find.attr(a,"type"))+"/"+a.type,a}function yb(a){var b=pb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function zb(a,b){for(var c,d=0;null!=(c=a[d]);d++)m._data(c,"globalEval",!b||m._data(b[d],"globalEval"))}function Ab(a,b){if(1===b.nodeType&&m.hasData(a)){var c,d,e,f=m._data(a),g=m._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)m.event.add(b,c,h[c][d])}g.data&&(g.data=m.extend({},g.data))}}function Bb(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!k.noCloneEvent&&b[m.expando]){e=m._data(b);for(d in e.events)m.removeEvent(b,d,e.handle);b.removeAttribute(m.expando)}"script"===c&&b.text!==a.text?(xb(b).text=a.text,yb(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),k.html5Clone&&a.innerHTML&&!m.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&W.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}m.extend({clone:function(a,b,c){var d,e,f,g,h,i=m.contains(a.ownerDocument,a);if(k.html5Clone||m.isXMLDoc(a)||!gb.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(tb.innerHTML=a.outerHTML,tb.removeChild(f=tb.firstChild)),!(k.noCloneEvent&&k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||m.isXMLDoc(a)))for(d=ub(f),h=ub(a),g=0;null!=(e=h[g]);++g)d[g]&&Bb(e,d[g]);if(b)if(c)for(h=h||ub(a),d=d||ub(f),g=0;null!=(e=h[g]);g++)Ab(e,d[g]);else Ab(a,f);return d=ub(f,"script"),d.length>0&&zb(d,!i&&ub(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,l,n=a.length,o=db(b),p=[],q=0;n>q;q++)if(f=a[q],f||0===f)if("object"===m.type(f))m.merge(p,f.nodeType?[f]:f);else if(lb.test(f)){h=h||o.appendChild(b.createElement("div")),i=(jb.exec(f)||["",""])[1].toLowerCase(),l=rb[i]||rb._default,h.innerHTML=l[1]+f.replace(ib,"<$1></$2>")+l[2],e=l[0];while(e--)h=h.lastChild;if(!k.leadingWhitespace&&hb.test(f)&&p.push(b.createTextNode(hb.exec(f)[0])),!k.tbody){f="table"!==i||kb.test(f)?"<table>"!==l[1]||kb.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)m.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}m.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),k.appendChecked||m.grep(ub(p,"input"),vb),q=0;while(f=p[q++])if((!d||-1===m.inArray(f,d))&&(g=m.contains(f.ownerDocument,f),h=ub(o.appendChild(f),"script"),g&&zb(h),c)){e=0;while(f=h[e++])ob.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=m.expando,j=m.cache,l=k.deleteExpando,n=m.event.special;null!=(d=a[h]);h++)if((b||m.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)n[e]?m.event.remove(d,e):m.removeEvent(d,e,g.handle);j[f]&&(delete j[f],l?delete d[i]:typeof d.removeAttribute!==K?d.removeAttribute(i):d[i]=null,c.push(f))}}}),m.fn.extend({text:function(a){return V(this,function(a){return void 0===a?m.text(this):this.empty().append((this[0]&&this[0].ownerDocument||y).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?m.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||m.cleanData(ub(c)),c.parentNode&&(b&&m.contains(c.ownerDocument,c)&&zb(ub(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&m.cleanData(ub(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&m.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return m.clone(this,a,b)})},html:function(a){return V(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(fb,""):void 0;if(!("string"!=typeof a||mb.test(a)||!k.htmlSerialize&&gb.test(a)||!k.leadingWhitespace&&hb.test(a)||rb[(jb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(ib,"<$1></$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(m.cleanData(ub(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,m.cleanData(ub(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,n=this,o=l-1,p=a[0],q=m.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&nb.test(p))return this.each(function(c){var d=n.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(i=m.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=m.map(ub(i,"script"),xb),f=g.length;l>j;j++)d=i,j!==o&&(d=m.clone(d,!0,!0),f&&m.merge(g,ub(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,m.map(g,yb),j=0;f>j;j++)d=g[j],ob.test(d.type||"")&&!m._data(d,"globalEval")&&m.contains(h,d)&&(d.src?m._evalUrl&&m._evalUrl(d.src):m.globalEval((d.text||d.textContent||d.innerHTML||"").replace(qb,"")));i=c=null}return this}}),m.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){m.fn[a]=function(a){for(var c,d=0,e=[],g=m(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),m(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Cb,Db={};function Eb(b,c){var d,e=m(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:m.css(e[0],"display");return e.detach(),f}function Fb(a){var b=y,c=Db[a];return c||(c=Eb(a,b),"none"!==c&&c||(Cb=(Cb||m("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=(Cb[0].contentWindow||Cb[0].contentDocument).document,b.write(),b.close(),c=Eb(a,b),Cb.detach()),Db[a]=c),c}!function(){var a;k.shrinkWrapBlocks=function(){if(null!=a)return a;a=!1;var b,c,d;return c=y.getElementsByTagName("body")[0],c&&c.style?(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1",b.appendChild(y.createElement("div")).style.width="5px",a=3!==b.offsetWidth),c.removeChild(d),a):void 0}}();var Gb=/^margin/,Hb=new RegExp("^("+S+")(?!px)[a-z%]+$","i"),Ib,Jb,Kb=/^(top|right|bottom|left)$/;a.getComputedStyle?(Ib=function(a){return a.ownerDocument.defaultView.getComputedStyle(a,null)},Jb=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ib(a),g=c?c.getPropertyValue(b)||c[b]:void 0,c&&(""!==g||m.contains(a.ownerDocument,a)||(g=m.style(a,b)),Hb.test(g)&&Gb.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0===g?g:g+""}):y.documentElement.currentStyle&&(Ib=function(a){return a.currentStyle},Jb=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ib(a),g=c?c[b]:void 0,null==g&&h&&h[b]&&(g=h[b]),Hb.test(g)&&!Kb.test(b)&&(d=h.left,e=a.runtimeStyle,f=e&&e.left,f&&(e.left=a.currentStyle.left),h.left="fontSize"===b?"1em":g,g=h.pixelLeft+"px",h.left=d,f&&(e.left=f)),void 0===g?g:g+""||"auto"});function Lb(a,b){return{get:function(){var c=a();if(null!=c)return c?void delete this.get:(this.get=b).apply(this,arguments)}}}!function(){var b,c,d,e,f,g,h;if(b=y.createElement("div"),b.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],c=d&&d.style){c.cssText="float:left;opacity:.5",k.opacity="0.5"===c.opacity,k.cssFloat=!!c.cssFloat,b.style.backgroundClip="content-box",b.cloneNode(!0).style.backgroundClip="",k.clearCloneStyle="content-box"===b.style.backgroundClip,k.boxSizing=""===c.boxSizing||""===c.MozBoxSizing||""===c.WebkitBoxSizing,m.extend(k,{reliableHiddenOffsets:function(){return null==g&&i(),g},boxSizingReliable:function(){return null==f&&i(),f},pixelPosition:function(){return null==e&&i(),e},reliableMarginRight:function(){return null==h&&i(),h}});function i(){var b,c,d,i;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),b.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",e=f=!1,h=!0,a.getComputedStyle&&(e="1%"!==(a.getComputedStyle(b,null)||{}).top,f="4px"===(a.getComputedStyle(b,null)||{width:"4px"}).width,i=b.appendChild(y.createElement("div")),i.style.cssText=b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",i.style.marginRight=i.style.width="0",b.style.width="1px",h=!parseFloat((a.getComputedStyle(i,null)||{}).marginRight)),b.innerHTML="<table><tr><td></td><td>t</td></tr></table>",i=b.getElementsByTagName("td"),i[0].style.cssText="margin:0;border:0;padding:0;display:none",g=0===i[0].offsetHeight,g&&(i[0].style.display="",i[1].style.display="none",g=0===i[0].offsetHeight),c.removeChild(d))}}}(),m.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};var Mb=/alpha\([^)]*\)/i,Nb=/opacity\s*=\s*([^)]*)/,Ob=/^(none|table(?!-c[ea]).+)/,Pb=new RegExp("^("+S+")(.*)$","i"),Qb=new RegExp("^([+-])=("+S+")","i"),Rb={position:"absolute",visibility:"hidden",display:"block"},Sb={letterSpacing:"0",fontWeight:"400"},Tb=["Webkit","O","Moz","ms"];function Ub(a,b){if(b in a)return b;var c=b.charAt(0).toUpperCase()+b.slice(1),d=b,e=Tb.length;while(e--)if(b=Tb[e]+c,b in a)return b;return d}function Vb(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=m._data(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&U(d)&&(f[g]=m._data(d,"olddisplay",Fb(d.nodeName)))):(e=U(d),(c&&"none"!==c||!e)&&m._data(d,"olddisplay",e?c:m.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function Wb(a,b,c){var d=Pb.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function Xb(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=m.css(a,c+T[f],!0,e)),d?("content"===c&&(g-=m.css(a,"padding"+T[f],!0,e)),"margin"!==c&&(g-=m.css(a,"border"+T[f]+"Width",!0,e))):(g+=m.css(a,"padding"+T[f],!0,e),"padding"!==c&&(g+=m.css(a,"border"+T[f]+"Width",!0,e)));return g}function Yb(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=Ib(a),g=k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=Jb(a,b,f),(0>e||null==e)&&(e=a.style[b]),Hb.test(e))return e;d=g&&(k.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Xb(a,b,c||(g?"border":"content"),d,f)+"px"}m.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Jb(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":k.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=m.camelCase(b),i=a.style;if(b=m.cssProps[h]||(m.cssProps[h]=Ub(i,h)),g=m.cssHooks[b]||m.cssHooks[h],void 0===c)return g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b];if(f=typeof c,"string"===f&&(e=Qb.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(m.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||m.cssNumber[h]||(c+="px"),k.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),!(g&&"set"in g&&void 0===(c=g.set(a,c,d)))))try{i[b]=c}catch(j){}}},css:function(a,b,c,d){var e,f,g,h=m.camelCase(b);return b=m.cssProps[h]||(m.cssProps[h]=Ub(a.style,h)),g=m.cssHooks[b]||m.cssHooks[h],g&&"get"in g&&(f=g.get(a,!0,c)),void 0===f&&(f=Jb(a,b,d)),"normal"===f&&b in Sb&&(f=Sb[b]),""===c||c?(e=parseFloat(f),c===!0||m.isNumeric(e)?e||0:f):f}}),m.each(["height","width"],function(a,b){m.cssHooks[b]={get:function(a,c,d){return c?Ob.test(m.css(a,"display"))&&0===a.offsetWidth?m.swap(a,Rb,function(){return Yb(a,b,d)}):Yb(a,b,d):void 0},set:function(a,c,d){var e=d&&Ib(a);return Wb(a,c,d?Xb(a,b,d,k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,e),e):0)}}}),k.opacity||(m.cssHooks.opacity={get:function(a,b){return Nb.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=m.isNumeric(b)?"alpha(opacity="+100*b+")":"",f=d&&d.filter||c.filter||"";c.zoom=1,(b>=1||""===b)&&""===m.trim(f.replace(Mb,""))&&c.removeAttribute&&(c.removeAttribute("filter"),""===b||d&&!d.filter)||(c.filter=Mb.test(f)?f.replace(Mb,e):f+" "+e)}}),m.cssHooks.marginRight=Lb(k.reliableMarginRight,function(a,b){return b?m.swap(a,{display:"inline-block"},Jb,[a,"marginRight"]):void 0}),m.each({margin:"",padding:"",border:"Width"},function(a,b){m.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+T[d]+b]=f[d]||f[d-2]||f[0];return e}},Gb.test(a)||(m.cssHooks[a+b].set=Wb)}),m.fn.extend({css:function(a,b){return V(this,function(a,b,c){var d,e,f={},g=0;if(m.isArray(b)){for(d=Ib(a),e=b.length;e>g;g++)f[b[g]]=m.css(a,b[g],!1,d);return f}return void 0!==c?m.style(a,b,c):m.css(a,b)},a,b,arguments.length>1)},show:function(){return Vb(this,!0)},hide:function(){return Vb(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){U(this)?m(this).show():m(this).hide()})}});function Zb(a,b,c,d,e){return new Zb.prototype.init(a,b,c,d,e)}m.Tween=Zb,Zb.prototype={constructor:Zb,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(m.cssNumber[c]?"":"px")
+},cur:function(){var a=Zb.propHooks[this.prop];return a&&a.get?a.get(this):Zb.propHooks._default.get(this)},run:function(a){var b,c=Zb.propHooks[this.prop];return this.pos=b=this.options.duration?m.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Zb.propHooks._default.set(this),this}},Zb.prototype.init.prototype=Zb.prototype,Zb.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=m.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){m.fx.step[a.prop]?m.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[m.cssProps[a.prop]]||m.cssHooks[a.prop])?m.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},Zb.propHooks.scrollTop=Zb.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},m.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},m.fx=Zb.prototype.init,m.fx.step={};var $b,_b,ac=/^(?:toggle|show|hide)$/,bc=new RegExp("^(?:([+-])=|)("+S+")([a-z%]*)$","i"),cc=/queueHooks$/,dc=[ic],ec={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=bc.exec(b),f=e&&e[3]||(m.cssNumber[a]?"":"px"),g=(m.cssNumber[a]||"px"!==f&&+d)&&bc.exec(m.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,m.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};function fc(){return setTimeout(function(){$b=void 0}),$b=m.now()}function gc(a,b){var c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b)c=T[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function hc(a,b,c){for(var d,e=(ec[b]||[]).concat(ec["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function ic(a,b,c){var d,e,f,g,h,i,j,l,n=this,o={},p=a.style,q=a.nodeType&&U(a),r=m._data(a,"fxshow");c.queue||(h=m._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,n.always(function(){n.always(function(){h.unqueued--,m.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[p.overflow,p.overflowX,p.overflowY],j=m.css(a,"display"),l="none"===j?m._data(a,"olddisplay")||Fb(a.nodeName):j,"inline"===l&&"none"===m.css(a,"float")&&(k.inlineBlockNeedsLayout&&"inline"!==Fb(a.nodeName)?p.zoom=1:p.display="inline-block")),c.overflow&&(p.overflow="hidden",k.shrinkWrapBlocks()||n.always(function(){p.overflow=c.overflow[0],p.overflowX=c.overflow[1],p.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],ac.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(q?"hide":"show")){if("show"!==e||!r||void 0===r[d])continue;q=!0}o[d]=r&&r[d]||m.style(a,d)}else j=void 0;if(m.isEmptyObject(o))"inline"===("none"===j?Fb(a.nodeName):j)&&(p.display=j);else{r?"hidden"in r&&(q=r.hidden):r=m._data(a,"fxshow",{}),f&&(r.hidden=!q),q?m(a).show():n.done(function(){m(a).hide()}),n.done(function(){var b;m._removeData(a,"fxshow");for(b in o)m.style(a,b,o[b])});for(d in o)g=hc(q?r[d]:0,d,n),d in r||(r[d]=g.start,q&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function jc(a,b){var c,d,e,f,g;for(c in a)if(d=m.camelCase(c),e=b[d],f=a[c],m.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=m.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function kc(a,b,c){var d,e,f=0,g=dc.length,h=m.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=$b||fc(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:m.extend({},b),opts:m.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:$b||fc(),duration:c.duration,tweens:[],createTween:function(b,c){var d=m.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(jc(k,j.opts.specialEasing);g>f;f++)if(d=dc[f].call(j,a,k,j.opts))return d;return m.map(k,hc,j),m.isFunction(j.opts.start)&&j.opts.start.call(a,j),m.fx.timer(m.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}m.Animation=m.extend(kc,{tweener:function(a,b){m.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],ec[c]=ec[c]||[],ec[c].unshift(b)},prefilter:function(a,b){b?dc.unshift(a):dc.push(a)}}),m.speed=function(a,b,c){var d=a&&"object"==typeof a?m.extend({},a):{complete:c||!c&&b||m.isFunction(a)&&a,duration:a,easing:c&&b||b&&!m.isFunction(b)&&b};return d.duration=m.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in m.fx.speeds?m.fx.speeds[d.duration]:m.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){m.isFunction(d.old)&&d.old.call(this),d.queue&&m.dequeue(this,d.queue)},d},m.fn.extend({fadeTo:function(a,b,c,d){return this.filter(U).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=m.isEmptyObject(a),f=m.speed(b,c,d),g=function(){var b=kc(this,m.extend({},a),f);(e||m._data(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=m.timers,g=m._data(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&cc.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&m.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=m._data(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=m.timers,g=d?d.length:0;for(c.finish=!0,m.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),m.each(["toggle","show","hide"],function(a,b){var c=m.fn[b];m.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(gc(b,!0),a,d,e)}}),m.each({slideDown:gc("show"),slideUp:gc("hide"),slideToggle:gc("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){m.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),m.timers=[],m.fx.tick=function(){var a,b=m.timers,c=0;for($b=m.now();c<b.length;c++)a=b[c],a()||b[c]!==a||b.splice(c--,1);b.length||m.fx.stop(),$b=void 0},m.fx.timer=function(a){m.timers.push(a),a()?m.fx.start():m.timers.pop()},m.fx.interval=13,m.fx.start=function(){_b||(_b=setInterval(m.fx.tick,m.fx.interval))},m.fx.stop=function(){clearInterval(_b),_b=null},m.fx.speeds={slow:600,fast:200,_default:400},m.fn.delay=function(a,b){return a=m.fx?m.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},function(){var a,b,c,d,e;b=y.createElement("div"),b.setAttribute("className","t"),b.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],c=y.createElement("select"),e=c.appendChild(y.createElement("option")),a=b.getElementsByTagName("input")[0],d.style.cssText="top:1px",k.getSetAttribute="t"!==b.className,k.style=/top/.test(d.getAttribute("style")),k.hrefNormalized="/a"===d.getAttribute("href"),k.checkOn=!!a.value,k.optSelected=e.selected,k.enctype=!!y.createElement("form").enctype,c.disabled=!0,k.optDisabled=!e.disabled,a=y.createElement("input"),a.setAttribute("value",""),k.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),k.radioValue="t"===a.value}();var lc=/\r/g;m.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=m.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,m(this).val()):a,null==e?e="":"number"==typeof e?e+="":m.isArray(e)&&(e=m.map(e,function(a){return null==a?"":a+""})),b=m.valHooks[this.type]||m.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=m.valHooks[e.type]||m.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(lc,""):null==c?"":c)}}}),m.extend({valHooks:{option:{get:function(a){var b=m.find.attr(a,"value");return null!=b?b:m.trim(m.text(a))}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(k.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&m.nodeName(c.parentNode,"optgroup"))){if(b=m(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=m.makeArray(b),g=e.length;while(g--)if(d=e[g],m.inArray(m.valHooks.option.get(d),f)>=0)try{d.selected=c=!0}catch(h){d.scrollHeight}else d.selected=!1;return c||(a.selectedIndex=-1),e}}}}),m.each(["radio","checkbox"],function(){m.valHooks[this]={set:function(a,b){return m.isArray(b)?a.checked=m.inArray(m(a).val(),b)>=0:void 0}},k.checkOn||(m.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var mc,nc,oc=m.expr.attrHandle,pc=/^(?:checked|selected)$/i,qc=k.getSetAttribute,rc=k.input;m.fn.extend({attr:function(a,b){return V(this,m.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){m.removeAttr(this,a)})}}),m.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===K?m.prop(a,b,c):(1===f&&m.isXMLDoc(a)||(b=b.toLowerCase(),d=m.attrHooks[b]||(m.expr.match.bool.test(b)?nc:mc)),void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=m.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void m.removeAttr(a,b))},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(E);if(f&&1===a.nodeType)while(c=f[e++])d=m.propFix[c]||c,m.expr.match.bool.test(c)?rc&&qc||!pc.test(c)?a[d]=!1:a[m.camelCase("default-"+c)]=a[d]=!1:m.attr(a,c,""),a.removeAttribute(qc?c:d)},attrHooks:{type:{set:function(a,b){if(!k.radioValue&&"radio"===b&&m.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),nc={set:function(a,b,c){return b===!1?m.removeAttr(a,c):rc&&qc||!pc.test(c)?a.setAttribute(!qc&&m.propFix[c]||c,c):a[m.camelCase("default-"+c)]=a[c]=!0,c}},m.each(m.expr.match.bool.source.match(/\w+/g),function(a,b){var c=oc[b]||m.find.attr;oc[b]=rc&&qc||!pc.test(b)?function(a,b,d){var e,f;return d||(f=oc[b],oc[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,oc[b]=f),e}:function(a,b,c){return c?void 0:a[m.camelCase("default-"+b)]?b.toLowerCase():null}}),rc&&qc||(m.attrHooks.value={set:function(a,b,c){return m.nodeName(a,"input")?void(a.defaultValue=b):mc&&mc.set(a,b,c)}}),qc||(mc={set:function(a,b,c){var d=a.getAttributeNode(c);return d||a.setAttributeNode(d=a.ownerDocument.createAttribute(c)),d.value=b+="","value"===c||b===a.getAttribute(c)?b:void 0}},oc.id=oc.name=oc.coords=function(a,b,c){var d;return c?void 0:(d=a.getAttributeNode(b))&&""!==d.value?d.value:null},m.valHooks.button={get:function(a,b){var c=a.getAttributeNode(b);return c&&c.specified?c.value:void 0},set:mc.set},m.attrHooks.contenteditable={set:function(a,b,c){mc.set(a,""===b?!1:b,c)}},m.each(["width","height"],function(a,b){m.attrHooks[b]={set:function(a,c){return""===c?(a.setAttribute(b,"auto"),c):void 0}}})),k.style||(m.attrHooks.style={get:function(a){return a.style.cssText||void 0},set:function(a,b){return a.style.cssText=b+""}});var sc=/^(?:input|select|textarea|button|object)$/i,tc=/^(?:a|area)$/i;m.fn.extend({prop:function(a,b){return V(this,m.prop,a,b,arguments.length>1)},removeProp:function(a){return a=m.propFix[a]||a,this.each(function(){try{this[a]=void 0,delete this[a]}catch(b){}})}}),m.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!m.isXMLDoc(a),f&&(b=m.propFix[b]||b,e=m.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=m.find.attr(a,"tabindex");return b?parseInt(b,10):sc.test(a.nodeName)||tc.test(a.nodeName)&&a.href?0:-1}}}}),k.hrefNormalized||m.each(["href","src"],function(a,b){m.propHooks[b]={get:function(a){return a.getAttribute(b,4)}}}),k.optSelected||(m.propHooks.selected={get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null}}),m.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){m.propFix[this.toLowerCase()]=this}),k.enctype||(m.propFix.enctype="encoding");var uc=/[\t\r\n\f]/g;m.fn.extend({addClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j="string"==typeof a&&a;if(m.isFunction(a))return this.each(function(b){m(this).addClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(E)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(uc," "):" ")){f=0;while(e=b[f++])d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=m.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j=0===arguments.length||"string"==typeof a&&a;if(m.isFunction(a))return this.each(function(b){m(this).removeClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(E)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(uc," "):"")){f=0;while(e=b[f++])while(d.indexOf(" "+e+" ")>=0)d=d.replace(" "+e+" "," ");g=a?m.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(m.isFunction(a)?function(c){m(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c){var b,d=0,e=m(this),f=a.match(E)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(c===K||"boolean"===c)&&(this.className&&m._data(this,"__className__",this.className),this.className=this.className||a===!1?"":m._data(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(uc," ").indexOf(b)>=0)return!0;return!1}}),m.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){m.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),m.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var vc=m.now(),wc=/\?/,xc=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;m.parseJSON=function(b){if(a.JSON&&a.JSON.parse)return a.JSON.parse(b+"");var c,d=null,e=m.trim(b+"");return e&&!m.trim(e.replace(xc,function(a,b,e,f){return c&&b&&(d=0),0===d?a:(c=e||b,d+=!f-!e,"")}))?Function("return "+e)():m.error("Invalid JSON: "+b)},m.parseXML=function(b){var c,d;if(!b||"string"!=typeof b)return null;try{a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b))}catch(e){c=void 0}return c&&c.documentElement&&!c.getElementsByTagName("parsererror").length||m.error("Invalid XML: "+b),c};var yc,zc,Ac=/#.*$/,Bc=/([?&])_=[^&]*/,Cc=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Dc=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Ec=/^(?:GET|HEAD)$/,Fc=/^\/\//,Gc=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Hc={},Ic={},Jc="*/".concat("*");try{zc=location.href}catch(Kc){zc=y.createElement("a"),zc.href="",zc=zc.href}yc=Gc.exec(zc.toLowerCase())||[];function Lc(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(E)||[];if(m.isFunction(c))while(d=f[e++])"+"===d.charAt(0)?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Mc(a,b,c,d){var e={},f=a===Ic;function g(h){var i;return e[h]=!0,m.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Nc(a,b){var c,d,e=m.ajaxSettings.flatOptions||{};for(d in b)void 0!==b[d]&&((e[d]?a:c||(c={}))[d]=b[d]);return c&&m.extend(!0,a,c),a}function Oc(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===e&&(e=a.mimeType||b.getResponseHeader("Content-Type"));if(e)for(g in h)if(h[g]&&h[g].test(e)){i.unshift(g);break}if(i[0]in c)f=i[0];else{for(g in c){if(!i[0]||a.converters[g+" "+i[0]]){f=g;break}d||(d=g)}f=f||d}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function Pc(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}m.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:zc,type:"GET",isLocal:Dc.test(yc[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Jc,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":m.parseJSON,"text xml":m.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Nc(Nc(a,m.ajaxSettings),b):Nc(m.ajaxSettings,a)},ajaxPrefilter:Lc(Hc),ajaxTransport:Lc(Ic),ajax:function(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d,e,f,g,h,i,j,k=m.ajaxSetup({},b),l=k.context||k,n=k.context&&(l.nodeType||l.jquery)?m(l):m.event,o=m.Deferred(),p=m.Callbacks("once memory"),q=k.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!j){j={};while(b=Cc.exec(f))j[b[1].toLowerCase()]=b[2]}b=j[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?f:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(k.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return i&&i.abort(b),x(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,k.url=((a||k.url||zc)+"").replace(Ac,"").replace(Fc,yc[1]+"//"),k.type=b.method||b.type||k.method||k.type,k.dataTypes=m.trim(k.dataType||"*").toLowerCase().match(E)||[""],null==k.crossDomain&&(c=Gc.exec(k.url.toLowerCase()),k.crossDomain=!(!c||c[1]===yc[1]&&c[2]===yc[2]&&(c[3]||("http:"===c[1]?"80":"443"))===(yc[3]||("http:"===yc[1]?"80":"443")))),k.data&&k.processData&&"string"!=typeof k.data&&(k.data=m.param(k.data,k.traditional)),Mc(Hc,k,b,v),2===t)return v;h=k.global,h&&0===m.active++&&m.event.trigger("ajaxStart"),k.type=k.type.toUpperCase(),k.hasContent=!Ec.test(k.type),e=k.url,k.hasContent||(k.data&&(e=k.url+=(wc.test(e)?"&":"?")+k.data,delete k.data),k.cache===!1&&(k.url=Bc.test(e)?e.replace(Bc,"$1_="+vc++):e+(wc.test(e)?"&":"?")+"_="+vc++)),k.ifModified&&(m.lastModified[e]&&v.setRequestHeader("If-Modified-Since",m.lastModified[e]),m.etag[e]&&v.setRequestHeader("If-None-Match",m.etag[e])),(k.data&&k.hasContent&&k.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",k.contentType),v.setRequestHeader("Accept",k.dataTypes[0]&&k.accepts[k.dataTypes[0]]?k.accepts[k.dataTypes[0]]+("*"!==k.dataTypes[0]?", "+Jc+"; q=0.01":""):k.accepts["*"]);for(d in k.headers)v.setRequestHeader(d,k.headers[d]);if(k.beforeSend&&(k.beforeSend.call(l,v,k)===!1||2===t))return v.abort();u="abort";for(d in{success:1,error:1,complete:1})v[d](k[d]);if(i=Mc(Ic,k,b,v)){v.readyState=1,h&&n.trigger("ajaxSend",[v,k]),k.async&&k.timeout>0&&(g=setTimeout(function(){v.abort("timeout")},k.timeout));try{t=1,i.send(r,x)}catch(w){if(!(2>t))throw w;x(-1,w)}}else x(-1,"No Transport");function x(a,b,c,d){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),i=void 0,f=d||"",v.readyState=a>0?4:0,j=a>=200&&300>a||304===a,c&&(u=Oc(k,v,c)),u=Pc(k,u,v,j),j?(k.ifModified&&(w=v.getResponseHeader("Last-Modified"),w&&(m.lastModified[e]=w),w=v.getResponseHeader("etag"),w&&(m.etag[e]=w)),204===a||"HEAD"===k.type?x="nocontent":304===a?x="notmodified":(x=u.state,r=u.data,s=u.error,j=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),v.status=a,v.statusText=(b||x)+"",j?o.resolveWith(l,[r,x,v]):o.rejectWith(l,[v,x,s]),v.statusCode(q),q=void 0,h&&n.trigger(j?"ajaxSuccess":"ajaxError",[v,k,j?r:s]),p.fireWith(l,[v,x]),h&&(n.trigger("ajaxComplete",[v,k]),--m.active||m.event.trigger("ajaxStop")))}return v},getJSON:function(a,b,c){return m.get(a,b,c,"json")},getScript:function(a,b){return m.get(a,void 0,b,"script")}}),m.each(["get","post"],function(a,b){m[b]=function(a,c,d,e){return m.isFunction(c)&&(e=e||d,d=c,c=void 0),m.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),m.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){m.fn[b]=function(a){return this.on(b,a)}}),m._evalUrl=function(a){return m.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},m.fn.extend({wrapAll:function(a){if(m.isFunction(a))return this.each(function(b){m(this).wrapAll(a.call(this,b))});if(this[0]){var b=m(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&1===a.firstChild.nodeType)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return this.each(m.isFunction(a)?function(b){m(this).wrapInner(a.call(this,b))}:function(){var b=m(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=m.isFunction(a);return this.each(function(c){m(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){m.nodeName(this,"body")||m(this).replaceWith(this.childNodes)}).end()}}),m.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0||!k.reliableHiddenOffsets()&&"none"===(a.style&&a.style.display||m.css(a,"display"))},m.expr.filters.visible=function(a){return!m.expr.filters.hidden(a)};var Qc=/%20/g,Rc=/\[\]$/,Sc=/\r?\n/g,Tc=/^(?:submit|button|image|reset|file)$/i,Uc=/^(?:input|select|textarea|keygen)/i;function Vc(a,b,c,d){var e;if(m.isArray(b))m.each(b,function(b,e){c||Rc.test(a)?d(a,e):Vc(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==m.type(b))d(a,b);else for(e in b)Vc(a+"["+e+"]",b[e],c,d)}m.param=function(a,b){var c,d=[],e=function(a,b){b=m.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=m.ajaxSettings&&m.ajaxSettings.traditional),m.isArray(a)||a.jquery&&!m.isPlainObject(a))m.each(a,function(){e(this.name,this.value)});else for(c in a)Vc(c,a[c],b,e);return d.join("&").replace(Qc,"+")},m.fn.extend({serialize:function(){return m.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=m.prop(this,"elements");return a?m.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!m(this).is(":disabled")&&Uc.test(this.nodeName)&&!Tc.test(a)&&(this.checked||!W.test(a))}).map(function(a,b){var c=m(this).val();return null==c?null:m.isArray(c)?m.map(c,function(a){return{name:b.name,value:a.replace(Sc,"\r\n")}}):{name:b.name,value:c.replace(Sc,"\r\n")}}).get()}}),m.ajaxSettings.xhr=void 0!==a.ActiveXObject?function(){return!this.isLocal&&/^(get|post|head|put|delete|options)$/i.test(this.type)&&Zc()||$c()}:Zc;var Wc=0,Xc={},Yc=m.ajaxSettings.xhr();a.ActiveXObject&&m(a).on("unload",function(){for(var a in Xc)Xc[a](void 0,!0)}),k.cors=!!Yc&&"withCredentials"in Yc,Yc=k.ajax=!!Yc,Yc&&m.ajaxTransport(function(a){if(!a.crossDomain||k.cors){var b;return{send:function(c,d){var e,f=a.xhr(),g=++Wc;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(e in a.xhrFields)f[e]=a.xhrFields[e];a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest");for(e in c)void 0!==c[e]&&f.setRequestHeader(e,c[e]+"");f.send(a.hasContent&&a.data||null),b=function(c,e){var h,i,j;if(b&&(e||4===f.readyState))if(delete Xc[g],b=void 0,f.onreadystatechange=m.noop,e)4!==f.readyState&&f.abort();else{j={},h=f.status,"string"==typeof f.responseText&&(j.text=f.responseText);try{i=f.statusText}catch(k){i=""}h||!a.isLocal||a.crossDomain?1223===h&&(h=204):h=j.text?200:404}j&&d(h,i,j,f.getAllResponseHeaders())},a.async?4===f.readyState?setTimeout(b):f.onreadystatechange=Xc[g]=b:b()},abort:function(){b&&b(void 0,!0)}}}});function Zc(){try{return new a.XMLHttpRequest}catch(b){}}function $c(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}m.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return m.globalEval(a),a}}}),m.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),m.ajaxTransport("script",function(a){if(a.crossDomain){var b,c=y.head||m("head")[0]||y.documentElement;return{send:function(d,e){b=y.createElement("script"),b.async=!0,a.scriptCharset&&(b.charset=a.scriptCharset),b.src=a.url,b.onload=b.onreadystatechange=function(a,c){(c||!b.readyState||/loaded|complete/.test(b.readyState))&&(b.onload=b.onreadystatechange=null,b.parentNode&&b.parentNode.removeChild(b),b=null,c||e(200,"success"))},c.insertBefore(b,c.firstChild)},abort:function(){b&&b.onload(void 0,!0)}}}});var _c=[],ad=/(=)\?(?=&|$)|\?\?/;m.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=_c.pop()||m.expando+"_"+vc++;return this[a]=!0,a}}),m.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(ad.test(b.url)?"url":"string"==typeof b.data&&!(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&ad.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=m.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(ad,"$1"+e):b.jsonp!==!1&&(b.url+=(wc.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||m.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,_c.push(e)),g&&m.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),m.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||y;var d=u.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=m.buildFragment([a],b,e),e&&e.length&&m(e).remove(),m.merge([],d.childNodes))};var bd=m.fn.load;m.fn.load=function(a,b,c){if("string"!=typeof a&&bd)return bd.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>=0&&(d=m.trim(a.slice(h,a.length)),a=a.slice(0,h)),m.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(f="POST"),g.length>0&&m.ajax({url:a,type:f,dataType:"html",data:b}).done(function(a){e=arguments,g.html(d?m("<div>").append(m.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,e||[a.responseText,b,a])}),this},m.expr.filters.animated=function(a){return m.grep(m.timers,function(b){return a===b.elem}).length};var cd=a.document.documentElement;function dd(a){return m.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}m.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=m.css(a,"position"),l=m(a),n={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=m.css(a,"top"),i=m.css(a,"left"),j=("absolute"===k||"fixed"===k)&&m.inArray("auto",[f,i])>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),m.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(n.top=b.top-h.top+g),null!=b.left&&(n.left=b.left-h.left+e),"using"in b?b.using.call(a,n):l.css(n)}},m.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){m.offset.setOffset(this,a,b)});var b,c,d={top:0,left:0},e=this[0],f=e&&e.ownerDocument;if(f)return b=f.documentElement,m.contains(b,e)?(typeof e.getBoundingClientRect!==K&&(d=e.getBoundingClientRect()),c=dd(f),{top:d.top+(c.pageYOffset||b.scrollTop)-(b.clientTop||0),left:d.left+(c.pageXOffset||b.scrollLeft)-(b.clientLeft||0)}):d},position:function(){if(this[0]){var a,b,c={top:0,left:0},d=this[0];return"fixed"===m.css(d,"position")?b=d.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),m.nodeName(a[0],"html")||(c=a.offset()),c.top+=m.css(a[0],"borderTopWidth",!0),c.left+=m.css(a[0],"borderLeftWidth",!0)),{top:b.top-c.top-m.css(d,"marginTop",!0),left:b.left-c.left-m.css(d,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||cd;while(a&&!m.nodeName(a,"html")&&"static"===m.css(a,"position"))a=a.offsetParent;return a||cd})}}),m.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c=/Y/.test(b);m.fn[a]=function(d){return V(this,function(a,d,e){var f=dd(a);return void 0===e?f?b in f?f[b]:f.document.documentElement[d]:a[d]:void(f?f.scrollTo(c?m(f).scrollLeft():e,c?e:m(f).scrollTop()):a[d]=e)},a,d,arguments.length,null)}}),m.each(["top","left"],function(a,b){m.cssHooks[b]=Lb(k.pixelPosition,function(a,c){return c?(c=Jb(a,b),Hb.test(c)?m(a).position()[b]+"px":c):void 0})}),m.each({Height:"height",Width:"width"},function(a,b){m.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){m.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return V(this,function(b,c,d){var e;return m.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?m.css(b,c,g):m.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),m.fn.size=function(){return this.length},m.fn.andSelf=m.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return m});var ed=a.jQuery,fd=a.$;return m.noConflict=function(b){return a.$===m&&(a.$=fd),b&&a.jQuery===m&&(a.jQuery=ed),m},typeof b===K&&(a.jQuery=a.$=m),m}); \ No newline at end of file
diff --git a/doc/sample_html/status.dat b/doc/sample_html/status.dat
deleted file mode 100644
index 53fb6526..00000000
--- a/doc/sample_html/status.dat
+++ /dev/null
@@ -1,340 +0,0 @@
-(dp1
-S'files'
-p2
-(dp3
-S'cogapp_test_cogapp'
-p4
-(dp5
-S'index'
-p6
-(dp7
-S'html_filename'
-p8
-S'cogapp_test_cogapp.html'
-p9
-sS'name'
-p10
-S'cogapp/test_cogapp'
-p11
-sS'nums'
-p12
-ccopy_reg
-_reconstructor
-p13
-(ccoverage.results
-Numbers
-p14
-c__builtin__
-object
-p15
-NtRp16
-(dp17
-S'n_files'
-p18
-I1
-sS'n_branches'
-p19
-I4
-sS'n_statements'
-p20
-I612
-sS'n_excluded'
-p21
-I17
-sS'n_partial_branches'
-p22
-I0
-sS'n_missing'
-p23
-I404
-sS'n_missing_branches'
-p24
-I2
-sbssS'hash'
-p25
-S'\xaa\xeae\xeaG{\xcf\xde\xe3\xc8;.$\x1f\xb5,'
-p26
-ssS'cogapp_whiteutils'
-p27
-(dp28
-g6
-(dp29
-g8
-S'cogapp_whiteutils.html'
-p30
-sg10
-S'cogapp/whiteutils'
-p31
-sg12
-g13
-(g14
-g15
-NtRp32
-(dp33
-g18
-I1
-sg19
-I32
-sg20
-I45
-sg21
-I0
-sg22
-I3
-sg23
-I3
-sg24
-I3
-sbssg25
-S'o\xfd\x0e+s2="\xb2\x1c\xd6\xa1\xee\x85\x85\xda'
-p34
-ssS'cogapp_test_makefiles'
-p35
-(dp36
-g6
-(dp37
-g8
-S'cogapp_test_makefiles.html'
-p38
-sg10
-S'cogapp/test_makefiles'
-p39
-sg12
-g13
-(g14
-g15
-NtRp40
-(dp41
-g18
-I1
-sg19
-I6
-sg20
-I55
-sg21
-I2
-sg22
-I0
-sg23
-I55
-sg24
-I6
-sbssg25
-S'\xb7\xed\xc1\x98\x1c\x15\t\xf4"\xd8\xff\xb8o4U='
-p42
-ssS'cogapp_makefiles'
-p43
-(dp44
-g6
-(dp45
-g8
-S'cogapp_makefiles.html'
-p46
-sg10
-S'cogapp/makefiles'
-p47
-sg12
-g13
-(g14
-g15
-NtRp48
-(dp49
-g18
-I1
-sg19
-I14
-sg20
-I28
-sg21
-I3
-sg22
-I0
-sg23
-I20
-sg24
-I14
-sbssg25
-S'p/\xc29Y\x0b\x02\x8a\x9eO\xbf\x89r\xa86\xf2'
-p50
-ssS'cogapp_backward'
-p51
-(dp52
-g6
-(dp53
-g8
-S'cogapp_backward.html'
-p54
-sg10
-S'cogapp/backward'
-p55
-sg12
-g13
-(g14
-g15
-NtRp56
-(dp57
-g18
-I1
-sg19
-I2
-sg20
-I25
-sg21
-I0
-sg22
-I1
-sg23
-I12
-sg24
-I1
-sbssg25
-S'\x91\x17\x7f\x8b\x0c\x83"6\rG\xd6gERX\xe5'
-p58
-ssS'cogapp___main__'
-p59
-(dp60
-g6
-(dp61
-g8
-S'cogapp___main__.html'
-p62
-sg10
-S'cogapp/__main__'
-p63
-sg12
-g13
-(g14
-g15
-NtRp64
-(dp65
-g18
-I1
-sg19
-I0
-sg20
-I3
-sg21
-I0
-sg22
-I0
-sg23
-I3
-sg24
-I0
-sbssg25
-S'r\x14\xdf\x8b\x90\x9f\xac\xdf@/\x85\x02\x9ck\x97\x10'
-p66
-ssS'cogapp_test_whiteutils'
-p67
-(dp68
-g6
-(dp69
-g8
-S'cogapp_test_whiteutils.html'
-p70
-sg10
-S'cogapp/test_whiteutils'
-p71
-sg12
-g13
-(g14
-g15
-NtRp72
-(dp73
-g18
-I1
-sg19
-I0
-sg20
-I69
-sg21
-I2
-sg22
-I0
-sg23
-I69
-sg24
-I0
-sbssg25
-S'9^hs\x8b2\xdc\xff)\x8a\xde!Wv\xd0w'
-p74
-ssS'cogapp_cogapp'
-p75
-(dp76
-g6
-(dp77
-g8
-S'cogapp_cogapp.html'
-p78
-sg10
-S'cogapp/cogapp'
-p79
-sg12
-g13
-(g14
-g15
-NtRp80
-(dp81
-g18
-I1
-sg19
-I158
-sg20
-I403
-sg21
-I3
-sg22
-I26
-sg23
-I180
-sg24
-I104
-sbssg25
-S'\xbbX\x05\x95\xff\xe5\xebOd\x9d\xc2\x8c\x98\xe16\xc3'
-p82
-ssS'cogapp___init__'
-p83
-(dp84
-g6
-(dp85
-g8
-S'cogapp___init__.html'
-p86
-sg10
-S'cogapp/__init__'
-p87
-sg12
-g13
-(g14
-g15
-NtRp88
-(dp89
-g18
-I1
-sg19
-I0
-sg20
-I2
-sg21
-I0
-sg22
-I0
-sg23
-I0
-sg24
-I0
-sbssg25
-S'\x99*\x0e\\\x10\x11O\x06WG/gJ\x83\xdd\x99'
-p90
-sssS'version'
-p91
-S'3.7.1'
-p92
-sS'settings'
-p93
-S'\x98\xa8x\xfe"r\xb5K\x98\xb1N\\\x99\x9e\xf3\xe5'
-p94
-sS'format'
-p95
-I1
-s. \ No newline at end of file
diff --git a/doc/sample_html/status.json b/doc/sample_html/status.json
new file mode 100644
index 00000000..200e17e6
--- /dev/null
+++ b/doc/sample_html/status.json
@@ -0,0 +1 @@
+{"files": {"cogapp_test_whiteutils_py": {"index": {"relative_filename": "cogapp/test_whiteutils.py", "html_filename": "cogapp_test_whiteutils_py.html", "nums": [1, 69, 0, 69, 0, 0, 0]}, "hash": "f7a3c04788858b652fcfb29825e1e8d4"}, "cogapp_test_makefiles_py": {"index": {"relative_filename": "cogapp/test_makefiles.py", "html_filename": "cogapp_test_makefiles_py.html", "nums": [1, 55, 0, 55, 6, 0, 6]}, "hash": "ff1f44c04d08ae202f5164e1ba75818e"}, "cogapp_cogapp_py": {"index": {"relative_filename": "cogapp/cogapp.py", "html_filename": "cogapp_cogapp_py.html", "nums": [1, 423, 4, 3, 168, 4, 4]}, "hash": "4c6c4b843da7cd91e690535daa5192c1"}, "cogapp___init___py": {"index": {"relative_filename": "cogapp/__init__.py", "html_filename": "cogapp___init___py.html", "nums": [1, 2, 0, 0, 0, 0, 0]}, "hash": "e8e5f4601febeb4f8cfaedc27cda7ff2"}, "cogapp_backward_py": {"index": {"relative_filename": "cogapp/backward.py", "html_filename": "cogapp_backward_py.html", "nums": [1, 19, 0, 8, 2, 1, 1]}, "hash": "02fc7e84b678eb8cd2df594ecd21792d"}, "cogapp_test_cogapp_py": {"index": {"relative_filename": "cogapp/test_cogapp.py", "html_filename": "cogapp_test_cogapp_py.html", "nums": [1, 704, 6, 0, 6, 1, 1]}, "hash": "8042afebdffb470d9119c676064ad32c"}, "cogapp_makefiles_py": {"index": {"relative_filename": "cogapp/makefiles.py", "html_filename": "cogapp_makefiles_py.html", "nums": [1, 28, 3, 7, 14, 2, 8]}, "hash": "4344b02848c1c9dd0a59c3196640dde0"}, "cogapp_whiteutils_py": {"index": {"relative_filename": "cogapp/whiteutils.py", "html_filename": "cogapp_whiteutils_py.html", "nums": [1, 45, 0, 3, 32, 3, 3]}, "hash": "b898c54cd626b6265d68d6e536ad78cf"}, "cogapp___main___py": {"index": {"relative_filename": "cogapp/__main__.py", "html_filename": "cogapp___main___py.html", "nums": [1, 3, 0, 3, 0, 0, 0]}, "hash": "c846304fff9f9b5f7510a86b60c3c3c6"}}, "version": "4.0", "settings": "7d07facd0b8027d5d394bf363d405670", "format": 1} \ No newline at end of file
diff --git a/doc/sample_html/style.css b/doc/sample_html/style.css
index 811c6401..15b08904 100644
--- a/doc/sample_html/style.css
+++ b/doc/sample_html/style.css
@@ -1,6 +1,9 @@
-/* CSS styles for Coverage. */
+/* Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 */
+/* For details: https://bitbucket.org/ned/coveragepy/src/default/NOTICE.txt */
+
+/* CSS styles for coverage.py. */
/* Page-wide styles */
-html, body, h1, h2, h3, p, td, th {
+html, body, h1, h2, h3, p, table, td, th {
margin: 0;
padding: 0;
border: 0;
@@ -31,6 +34,17 @@ p {
table {
border-collapse: collapse;
}
+td {
+ vertical-align: top;
+}
+table tr.hidden {
+ display: none !important;
+ }
+
+p#no_rows {
+ display: none;
+ font-size: 1.2em;
+ }
a.nav {
text-decoration: none;
@@ -53,11 +67,11 @@ a.nav:hover {
font-family: "courier new", monospace;
}
-#indexfile #footer {
+.indexfile #footer {
margin: 1em 3em;
}
-#pyfile #footer {
+.pyfile #footer {
margin: 1em 1em;
}
@@ -80,6 +94,16 @@ a.nav:hover {
h1 {
font-size: 1.25em;
+ display: inline-block;
+}
+
+#filter_container {
+ display: inline-block;
+ float: right;
+ margin: 0 2em 0 0;
+}
+#filter_container input {
+ width: 10em;
}
h2.stats {
@@ -130,6 +154,7 @@ h2.stats {
/* Help panel */
#keyboard_icon {
float: right;
+ margin: 5px;
cursor: pointer;
}
@@ -141,11 +166,11 @@ h2.stats {
display: none;
}
-#indexfile .help_panel {
+.indexfile .help_panel {
width: 20em; height: 4em;
}
-#pyfile .help_panel {
+.pyfile .help_panel {
width: 16em; height: 8em;
}
@@ -227,7 +252,6 @@ td.text {
.text span.annotate {
font-family: georgia;
- font-style: italic;
color: #666;
float: right;
padding-right: .5em;
@@ -288,9 +312,11 @@ td.text {
text-decoration: underline;
color: #000;
}
-#index tr.total {
+#index tr.total,
+#index tr.total_dynamic {
}
-#index tr.total td {
+#index tr.total td,
+#index tr.total_dynamic td {
font-weight: bold;
border-top: 1px solid #ccc;
border-bottom: none;