Commits

Anonymous committed 80119d3

Added warning message in template. Various little edits throughout. Added CodeManager.py to Comprehensions chapter. First pass of edit of DeveloperGuide.rst for Hg/BitBucket site change.

Comments (0)

Files changed (59)

 .db
 .svn
 .swp
-_build
+_build
+_deltas
+_test

html/Comprehensions.html

 <span class="k">for</span> <span class="n">r</span> <span class="ow">in</span> <span class="n">restFiles</span><span class="p">:</span>
     <span class="k">print</span><span class="p">(</span><span class="n">r</span><span class="p">)</span>
 </pre></div>
+<div class="section" id="a-more-complex-example">
+<h2>A More Complex Example<a class="headerlink" href="#a-more-complex-example" title="Permalink to this headline">¶</a></h2>
+<div class="admonition note">
+<p class="first admonition-title">Note</p>
+<p class="last">This is still under development. After finishing, it will get a full
+description of all parts.</p>
+</div>
+<div class="highlight"><pre><span class="c"># comprehensions/CodeManager.py</span>
+<span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">TODO: update() is still only in test mode; doesn&#39;t actually work yet.</span>
+<span class="sd">TODO: check() should generate deltas</span>
+
+<span class="sd">Extracts, checks and updates code examples in ReST files.</span>
+
+<span class="sd">You can just put in the codeMarker and the (indented) first line (containing the</span>
+<span class="sd">file path) into your ReST file, then run the update program to automatically</span>
+<span class="sd">insert the rest of the file.</span>
+<span class="sd">&quot;&quot;&quot;</span>
+<span class="kn">import</span> <span class="nn">os</span><span class="o">,</span> <span class="nn">re</span><span class="o">,</span> <span class="nn">sys</span><span class="o">,</span> <span class="nn">shutil</span><span class="o">,</span> <span class="nn">inspect</span><span class="o">,</span> <span class="nn">difflib</span>
+
+<span class="n">restFiles</span> <span class="o">=</span> <span class="p">[</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">d</span><span class="p">[</span><span class="mf">0</span><span class="p">],</span> <span class="n">f</span><span class="p">)</span> <span class="k">for</span> <span class="n">d</span> <span class="ow">in</span> <span class="n">os</span><span class="o">.</span><span class="n">walk</span><span class="p">(</span><span class="s">&quot;.&quot;</span><span class="p">)</span> <span class="k">if</span> <span class="ow">not</span> <span class="s">&quot;_test&quot;</span> <span class="ow">in</span> <span class="n">d</span><span class="p">[</span><span class="mf">0</span><span class="p">]</span>
+             <span class="k">for</span> <span class="n">f</span> <span class="ow">in</span> <span class="n">d</span><span class="p">[</span><span class="mf">2</span><span class="p">]</span> <span class="k">if</span> <span class="n">f</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span><span class="s">&quot;.rst&quot;</span><span class="p">)]</span>
+
+<span class="k">class</span> <span class="nc">Languages</span><span class="p">:</span>
+    <span class="s">&quot;Strategy design pattern&quot;</span>
+
+    <span class="k">class</span> <span class="nc">Python</span><span class="p">:</span>
+        <span class="n">codeMarker</span> <span class="o">=</span> <span class="s">&quot;::</span><span class="se">\n\n</span><span class="s">&quot;</span>
+        <span class="n">commentTag</span> <span class="o">=</span> <span class="s">&quot;#&quot;</span>
+        <span class="n">listings</span> <span class="o">=</span> <span class="n">re</span><span class="o">.</span><span class="n">compile</span><span class="p">(</span><span class="s">&quot;::</span><span class="se">\n\n</span><span class="s">( {4}#.*(?:</span><span class="se">\n</span><span class="s">+ {4}.*)*)&quot;</span><span class="p">)</span>
+
+    <span class="k">class</span> <span class="nc">Java</span><span class="p">:</span>
+        <span class="n">codeMarker</span> <span class="o">=</span> <span class="s">&quot;..  code-block:: java</span><span class="se">\n\n</span><span class="s">&quot;</span>
+        <span class="n">commentTag</span> <span class="o">=</span> <span class="s">&quot;//&quot;</span>
+        <span class="n">listings</span> <span class="o">=</span> \
+            <span class="n">re</span><span class="o">.</span><span class="n">compile</span><span class="p">(</span><span class="s">&quot;.. *code-block:: *java</span><span class="se">\n\n</span><span class="s">( {4}//.*(?:</span><span class="se">\n</span><span class="s">+ {4}.*)*)&quot;</span><span class="p">)</span>
+
+<span class="k">def</span> <span class="nf">shift</span><span class="p">(</span><span class="n">listing</span><span class="p">):</span>
+    <span class="s">&quot;Shift the listing left by 4 spaces&quot;</span>
+    <span class="k">return</span> <span class="p">[</span><span class="n">x</span><span class="p">[</span><span class="mf">4</span><span class="p">:]</span> <span class="k">if</span> <span class="n">x</span><span class="o">.</span><span class="n">startswith</span><span class="p">(</span><span class="s">&quot;    &quot;</span><span class="p">)</span> <span class="k">else</span> <span class="n">x</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">listing</span><span class="o">.</span><span class="n">splitlines</span><span class="p">()]</span>
+
+<span class="c"># TEST - makes duplicates of the rst files in a test directory to test update():</span>
+<span class="n">dirs</span> <span class="o">=</span> <span class="n">set</span><span class="p">([</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="s">&quot;_test&quot;</span><span class="p">,</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">dirname</span><span class="p">(</span><span class="n">f</span><span class="p">))</span> <span class="k">for</span> <span class="n">f</span> <span class="ow">in</span> <span class="n">restFiles</span><span class="p">])</span>
+<span class="k">if</span> <span class="p">[</span><span class="n">os</span><span class="o">.</span><span class="n">makedirs</span><span class="p">(</span><span class="n">d</span><span class="p">)</span> <span class="k">for</span> <span class="n">d</span> <span class="ow">in</span> <span class="n">dirs</span> <span class="k">if</span> <span class="ow">not</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">exists</span><span class="p">(</span><span class="n">d</span><span class="p">)]:</span>
+    <span class="p">[</span><span class="n">shutil</span><span class="o">.</span><span class="n">copy</span><span class="p">(</span><span class="n">f</span><span class="p">,</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="s">&quot;_test&quot;</span><span class="p">,</span> <span class="n">f</span><span class="p">))</span> <span class="k">for</span> <span class="n">f</span> <span class="ow">in</span> <span class="n">restFiles</span><span class="p">]</span>
+<span class="n">testFiles</span> <span class="o">=</span> <span class="p">[</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">d</span><span class="p">[</span><span class="mf">0</span><span class="p">],</span> <span class="n">f</span><span class="p">)</span> <span class="k">for</span> <span class="n">d</span> <span class="ow">in</span> <span class="n">os</span><span class="o">.</span><span class="n">walk</span><span class="p">(</span><span class="s">&quot;_test&quot;</span><span class="p">)</span>
+             <span class="k">for</span> <span class="n">f</span> <span class="ow">in</span> <span class="n">d</span><span class="p">[</span><span class="mf">2</span><span class="p">]</span> <span class="k">if</span> <span class="n">f</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span><span class="s">&quot;.rst&quot;</span><span class="p">)]</span>
+
+<span class="k">class</span> <span class="nc">Commands</span><span class="p">:</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Each static method can be called from the command line. Add a new static</span>
+<span class="sd">    method here to add a new command to the program.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+    <span class="nd">@staticmethod</span>
+    <span class="k">def</span> <span class="nf">display</span><span class="p">(</span><span class="n">language</span><span class="p">):</span>
+        <span class="s">&quot;Print all the code listings&quot;</span>
+        <span class="k">for</span> <span class="n">f</span> <span class="ow">in</span> <span class="n">restFiles</span><span class="p">:</span>
+            <span class="n">listings</span> <span class="o">=</span> <span class="n">language</span><span class="o">.</span><span class="n">listings</span><span class="o">.</span><span class="n">findall</span><span class="p">(</span><span class="nb">open</span><span class="p">(</span><span class="n">f</span><span class="p">)</span><span class="o">.</span><span class="n">read</span><span class="p">())</span>
+            <span class="k">if</span> <span class="ow">not</span> <span class="n">listings</span><span class="p">:</span> <span class="k">continue</span>
+            <span class="k">print</span><span class="p">(</span><span class="s">&#39;=&#39;</span> <span class="o">*</span> <span class="mf">60</span> <span class="o">+</span> <span class="s">&quot;</span><span class="se">\n</span><span class="s">&quot;</span> <span class="o">+</span> <span class="n">f</span> <span class="o">+</span> <span class="s">&quot;</span><span class="se">\n</span><span class="s">&quot;</span> <span class="o">+</span> <span class="s">&#39;=&#39;</span> <span class="o">*</span> <span class="mf">60</span><span class="p">)</span>
+            <span class="k">for</span> <span class="n">n</span><span class="p">,</span> <span class="n">l</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">listings</span><span class="p">):</span>
+                <span class="k">print</span><span class="p">(</span><span class="s">&quot;</span><span class="se">\n</span><span class="s">&quot;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">shift</span><span class="p">(</span><span class="n">l</span><span class="p">)))</span>
+                <span class="k">if</span> <span class="n">n</span> <span class="o">&lt;</span> <span class="nb">len</span><span class="p">(</span><span class="n">listings</span><span class="p">)</span> <span class="o">-</span> <span class="mf">1</span><span class="p">:</span>
+                    <span class="k">print</span><span class="p">(</span><span class="s">&#39;-&#39;</span> <span class="o">*</span> <span class="mf">60</span><span class="p">)</span>
+
+    <span class="nd">@staticmethod</span>
+    <span class="k">def</span> <span class="nf">extract</span><span class="p">(</span><span class="n">language</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;Pull the code listings from the ReST files and write each</span>
+<span class="sd">        listing into its own file&quot;&quot;&quot;</span>
+        <span class="n">paths</span> <span class="o">=</span> <span class="n">set</span><span class="p">()</span>
+        <span class="k">for</span> <span class="n">f</span> <span class="ow">in</span> <span class="n">restFiles</span><span class="p">:</span>
+            <span class="k">for</span> <span class="n">listing</span> <span class="ow">in</span> <span class="n">language</span><span class="o">.</span><span class="n">listings</span><span class="o">.</span><span class="n">findall</span><span class="p">(</span><span class="nb">open</span><span class="p">(</span><span class="n">f</span><span class="p">)</span><span class="o">.</span><span class="n">read</span><span class="p">()):</span>
+                <span class="n">listing</span> <span class="o">=</span> <span class="n">shift</span><span class="p">(</span><span class="n">listing</span><span class="p">)</span>
+                <span class="n">path</span> <span class="o">=</span> <span class="n">listing</span><span class="p">[</span><span class="mf">0</span><span class="p">][</span><span class="nb">len</span><span class="p">(</span><span class="n">language</span><span class="o">.</span><span class="n">commentTag</span><span class="p">):]</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
+                <span class="k">if</span> <span class="n">path</span> <span class="ow">in</span> <span class="n">paths</span><span class="p">:</span>
+                    <span class="k">print</span><span class="p">(</span><span class="s">&quot;ERROR: Duplicate file name: </span><span class="si">%s</span><span class="s">&quot;</span> <span class="o">%</span> <span class="n">path</span><span class="p">)</span>
+                    <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="mf">1</span><span class="p">)</span>
+                <span class="k">else</span><span class="p">:</span>
+                    <span class="n">paths</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">path</span><span class="p">)</span>
+                <span class="n">path</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="s">&quot;..&quot;</span><span class="p">,</span> <span class="s">&quot;code&quot;</span><span class="p">,</span> <span class="n">path</span><span class="p">)</span>
+                <span class="n">dirname</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">dirname</span><span class="p">(</span><span class="n">path</span><span class="p">)</span>
+                <span class="k">if</span> <span class="n">dirname</span><span class="p">:</span>
+                    <span class="k">if</span> <span class="ow">not</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">exists</span><span class="p">(</span><span class="n">dirname</span><span class="p">):</span>
+                        <span class="n">os</span><span class="o">.</span><span class="n">makedirs</span><span class="p">(</span><span class="n">dirname</span><span class="p">)</span>
+                <span class="nb">file</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="s">&#39;w&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s">&quot;</span><span class="se">\n</span><span class="s">&quot;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">listing</span><span class="p">))</span>
+
+    <span class="nd">@staticmethod</span>
+    <span class="k">def</span> <span class="nf">check</span><span class="p">(</span><span class="n">language</span><span class="p">):</span>
+        <span class="s">&quot;Ensure that external code files exist&quot;</span>
+        <span class="n">missing</span> <span class="o">=</span> <span class="p">[]</span>
+        <span class="k">for</span> <span class="n">path</span> <span class="ow">in</span> <span class="p">[</span><span class="n">code</span><span class="o">.</span><span class="n">splitlines</span><span class="p">()[</span><span class="mf">0</span><span class="p">]</span> <span class="k">for</span> <span class="n">f</span> <span class="ow">in</span> <span class="n">restFiles</span> <span class="k">for</span> <span class="n">code</span> <span class="ow">in</span>
+                     <span class="n">language</span><span class="o">.</span><span class="n">listings</span><span class="o">.</span><span class="n">findall</span><span class="p">(</span><span class="nb">open</span><span class="p">(</span><span class="n">f</span><span class="p">)</span><span class="o">.</span><span class="n">read</span><span class="p">())]:</span>
+            <span class="n">path</span> <span class="o">=</span> <span class="n">path</span><span class="o">.</span><span class="n">strip</span><span class="p">()[</span><span class="nb">len</span><span class="p">(</span><span class="n">language</span><span class="o">.</span><span class="n">commentTag</span><span class="p">):]</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
+            <span class="n">path</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">normpath</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="s">&quot;..&quot;</span><span class="p">,</span> <span class="s">&quot;code&quot;</span><span class="p">,</span> <span class="n">path</span><span class="p">))</span>
+            <span class="k">if</span> <span class="ow">not</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">exists</span><span class="p">(</span><span class="n">path</span><span class="p">):</span>
+                <span class="n">missing</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">path</span><span class="p">)</span>
+        <span class="k">if</span> <span class="n">missing</span><span class="p">:</span>
+            <span class="k">print</span><span class="p">(</span><span class="s">&quot;Missing&quot;</span><span class="p">,</span> <span class="n">language</span><span class="o">.</span><span class="n">__name__</span><span class="p">,</span> <span class="s">&quot;files:&quot;</span><span class="p">)</span>
+            <span class="k">for</span> <span class="n">p</span> <span class="ow">in</span> <span class="n">missing</span><span class="p">:</span>
+                <span class="k">print</span><span class="p">(</span><span class="n">p</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">missing</span>
+
+    <span class="nd">@staticmethod</span>
+    <span class="k">def</span> <span class="nf">update</span><span class="p">(</span><span class="n">language</span><span class="p">):</span> <span class="c"># Test until it is trustworthy</span>
+        <span class="s">&quot;Refresh external code files into ReST files&quot;</span>
+        <span class="k">if</span> <span class="n">Commands</span><span class="o">.</span><span class="n">check</span><span class="p">(</span><span class="n">language</span><span class="p">):</span>
+            <span class="k">print</span><span class="p">(</span><span class="n">language</span><span class="o">.</span><span class="n">__name__</span><span class="p">,</span> <span class="s">&quot;update aborted&quot;</span><span class="p">)</span>
+            <span class="k">return</span>
+        <span class="k">def</span> <span class="nf">_update</span><span class="p">(</span><span class="n">matchobj</span><span class="p">):</span>
+            <span class="n">listing</span> <span class="o">=</span> <span class="n">shift</span><span class="p">(</span><span class="n">matchobj</span><span class="o">.</span><span class="n">group</span><span class="p">(</span><span class="mf">1</span><span class="p">))</span>
+            <span class="n">path</span> <span class="o">=</span> <span class="n">listing</span><span class="p">[</span><span class="mf">0</span><span class="p">]</span><span class="o">.</span><span class="n">strip</span><span class="p">()[</span><span class="nb">len</span><span class="p">(</span><span class="n">language</span><span class="o">.</span><span class="n">commentTag</span><span class="p">):]</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
+            <span class="n">filename</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">basename</span><span class="p">(</span><span class="n">path</span><span class="p">)</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s">&#39;.&#39;</span><span class="p">)[</span><span class="mf">0</span><span class="p">]</span>
+            <span class="n">path</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="s">&quot;..&quot;</span><span class="p">,</span> <span class="s">&quot;code&quot;</span><span class="p">,</span> <span class="n">path</span><span class="p">)</span>
+            <span class="n">code</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">path</span><span class="p">)</span><span class="o">.</span><span class="n">read</span><span class="p">()</span><span class="o">.</span><span class="n">splitlines</span><span class="p">()</span>
+            <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="n">difflib</span><span class="o">.</span><span class="n">ndiff</span><span class="p">(</span><span class="n">listing</span><span class="p">,</span> <span class="n">code</span><span class="p">):</span>
+                <span class="k">if</span> <span class="n">i</span><span class="o">.</span><span class="n">startswith</span><span class="p">(</span><span class="s">&quot;+ &quot;</span><span class="p">)</span> <span class="ow">or</span> <span class="n">i</span><span class="o">.</span><span class="n">startswith</span><span class="p">(</span><span class="s">&quot;- &quot;</span><span class="p">):</span>
+                    <span class="n">d</span> <span class="o">=</span> <span class="n">difflib</span><span class="o">.</span><span class="n">HtmlDiff</span><span class="p">()</span>
+                    <span class="k">if</span> <span class="ow">not</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">exists</span><span class="p">(</span><span class="s">&quot;_deltas&quot;</span><span class="p">):</span>
+                        <span class="n">os</span><span class="o">.</span><span class="n">makedirs</span><span class="p">(</span><span class="s">&quot;_deltas&quot;</span><span class="p">)</span>
+                    <span class="nb">open</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="s">&quot;_deltas&quot;</span><span class="p">,</span> <span class="n">filename</span> <span class="o">+</span> <span class="s">&quot;.html&quot;</span><span class="p">),</span> <span class="s">&#39;w&#39;</span><span class="p">)</span>\
+                        <span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">d</span><span class="o">.</span><span class="n">make_file</span><span class="p">(</span><span class="n">listing</span><span class="p">,</span> <span class="n">code</span><span class="p">))</span>
+                    <span class="k">break</span>
+            <span class="k">return</span> <span class="n">language</span><span class="o">.</span><span class="n">codeMarker</span> <span class="o">+</span> \
+                <span class="s">&quot;</span><span class="se">\n</span><span class="s">&quot;</span><span class="o">.</span><span class="n">join</span><span class="p">([(</span><span class="s">&quot;    &quot;</span> <span class="o">+</span> <span class="n">line</span><span class="p">)</span><span class="o">.</span><span class="n">rstrip</span><span class="p">()</span> <span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="n">listing</span><span class="p">])</span>
+        <span class="k">for</span> <span class="n">f</span> <span class="ow">in</span> <span class="n">testFiles</span><span class="p">:</span>
+            <span class="n">updated</span> <span class="o">=</span> <span class="n">language</span><span class="o">.</span><span class="n">listings</span><span class="o">.</span><span class="n">sub</span><span class="p">(</span><span class="n">_update</span><span class="p">,</span> <span class="nb">open</span><span class="p">(</span><span class="n">f</span><span class="p">)</span><span class="o">.</span><span class="n">read</span><span class="p">())</span>
+            <span class="nb">open</span><span class="p">(</span><span class="n">f</span><span class="p">,</span> <span class="s">&#39;w&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">updated</span><span class="p">)</span>
+
+<span class="k">if</span> <span class="n">__name__</span> <span class="o">==</span> <span class="s">&quot;__main__&quot;</span><span class="p">:</span>
+    <span class="n">commands</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span><span class="n">inspect</span><span class="o">.</span><span class="n">getmembers</span><span class="p">(</span><span class="n">Commands</span><span class="p">,</span> <span class="n">inspect</span><span class="o">.</span><span class="n">isfunction</span><span class="p">))</span>
+    <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">sys</span><span class="o">.</span><span class="n">argv</span><span class="p">)</span> <span class="o">&lt;</span> <span class="mf">2</span> <span class="ow">or</span> <span class="n">sys</span><span class="o">.</span><span class="n">argv</span><span class="p">[</span><span class="mf">1</span><span class="p">]</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">commands</span><span class="p">:</span>
+        <span class="k">print</span><span class="p">(</span><span class="s">&quot;Command line options:&quot;</span><span class="p">)</span>
+        <span class="k">for</span> <span class="n">name</span> <span class="ow">in</span> <span class="n">commands</span><span class="p">:</span>
+            <span class="k">print</span><span class="p">(</span><span class="n">name</span> <span class="o">+</span> <span class="s">&quot;: &quot;</span> <span class="o">+</span> <span class="n">commands</span><span class="p">[</span><span class="n">name</span><span class="p">]</span><span class="o">.</span><span class="n">__doc__</span><span class="p">)</span>
+    <span class="k">else</span><span class="p">:</span>
+        <span class="k">for</span> <span class="n">language</span> <span class="ow">in</span> <span class="n">inspect</span><span class="o">.</span><span class="n">getmembers</span><span class="p">(</span><span class="n">Languages</span><span class="p">,</span> <span class="n">inspect</span><span class="o">.</span><span class="n">isclass</span><span class="p">):</span>
+            <span class="n">commands</span><span class="p">[</span><span class="n">sys</span><span class="o">.</span><span class="n">argv</span><span class="p">[</span><span class="mf">1</span><span class="p">]](</span><span class="n">language</span><span class="p">[</span><span class="mf">1</span><span class="p">])</span>
+</pre></div>
+</div>
 </div>
 
 
             </a></p>
     <font color="Red">This book is in early development; you will find parts that are incorrect &amp; incomplete.</font>
     
+            <h3><a href="index.html">Table Of Contents</a></h3>
+            <ul>
+<li><a class="reference external" href="">Comprehensions</a><ul>
+<li><a class="reference external" href="#a-more-complex-example">A More Complex Example</a></li>
+</ul>
+</li>
+</ul>
+
 
             <h4>Previous topic</h4>
             <p class="topless"><a href="GeneratorsIterators.html" title="previous chapter">Generators, Iterators, and Itertools</a></p>

html/Contributors.html

   
   <div class="section" id="contributors">
 <h1>Contributors<a class="headerlink" href="#contributors" title="Permalink to this headline">¶</a></h1>
-<p>Contributors ordered by the number of Launchpad.net Karma points.</p>
-<p class="rubric">Karma List</p>
+<p>List of contributors.</p>
 <div class="admonition note">
 <p class="first admonition-title">Note</p>
-<p class="last">Launchpad.net now has a web services interface; we need to figure
-out how to automatically download the Karma list.</p>
+<p class="last">This needs some thought. I want to include everyone who makes a
+contribution, but I&#8217;d also like to indicate people who have made
+larger contributions &#8211; there&#8217;s no automatic way to do this now
+that we have moved to BitBucket and are using Wikis to allow people
+to make contributions more simply in the beginning.</p>
 </div>
 <div class="section" id="thanks-to">
 <h2>Thanks To<a class="headerlink" href="#thanks-to" title="Permalink to this headline">¶</a></h2>
 <blockquote>
 <ul class="simple">
-<li>Launchpad.net</li>
+<li>BitBucket.org and the creators of Mercurial</li>
 <li>Creator(s) of Sphinx</li>
 <li>And of course, Guido and the team for their incessant improvement of Python,
 especially for taking the risk in breaking backward compatibility in Python

html/DeveloperGuide.html

   <div class="section" id="developer-guide">
 <h1>Developer Guide<a class="headerlink" href="#developer-guide" title="Permalink to this headline">¶</a></h1>
 <p>Details for people participating in the book development process.</p>
+<div class="section" id="getting-started-the-easiest-approach">
+<h2>Getting Started: The Easiest Approach<a class="headerlink" href="#getting-started-the-easiest-approach" title="Permalink to this headline">¶</a></h2>
+<p>If all of the details are a little overwhelming at first, there&#8217;s an easy way
+for you to make contributions without learning about distributed version control
+and Sphinx:</p>
+<ol class="arabic simple">
+<li>Create an account at <a class="reference external" href="http://www.BitBucket.org">http://www.BitBucket.org</a>.</li>
+<li>In your account, you get a wiki. In your wiki, create a page for your
+contribution. Just add your code and descriptions using plain text.</li>
+<li>Point us to your wiki via the <a class="reference external" href="http://groups.google.com/group/python3patterns/">newsgroup</a>.</li>
+<li>We&#8217;ll take your contribution and do the necessary formatting.</li>
+</ol>
+<p>If you want to take another step, you can learn how to format your wiki page
+using Sphinx by looking at the source for pages in the book. You can try it
+right now &#8211; on the left side of this page (in the HTML book) you&#8217;ll see a
+header that says <strong>This Page</strong> and underneath it <strong>Show Source</strong>. Click on
+<strong>Show Source</strong> and you&#8217;ll see the Sphinx source for this page. Just look at
+the page sources and imitate that.</p>
+<p>When you&#8217;re ready, you can learn more about Sphinx and Mercurial and begin
+making contributions that way.</p>
+<p>The following sections are for those who are ready to build the book on their
+own machines.</p>
+</div>
 <div class="section" id="for-windows-users">
 <h2>For Windows Users<a class="headerlink" href="#for-windows-users" title="Permalink to this headline">¶</a></h2>
 <p>You need to install Cygwin; go to:</p>
 <p>You need to install at least the <tt class="docutils literal"><span class="pre">make</span></tt> utility, but I find that <tt class="docutils literal"><span class="pre">chere</span></tt>
 (command prompt here) is also very useful.</p>
 <p>Also install <tt class="docutils literal"><span class="pre">openssh</span></tt> (under <strong>Net</strong>), so you can create your RSA key
-for Bazaar.</p>
+for Mercurial.</p>
 <p>I&#8217;ve discovered that it&#8217;s best if you <em>don&#8217;t</em> install Python as part of
 Cygwin; instead use a single Python installation under windows. Cygwin will
 find the installation if it is on your Windows PATH.</p>
-<p>Because of this, you shouldn&#8217;t select &#8220;mercurial&#8221; or &#8220;bazaar&#8221; when you&#8217;re
+<p>Because of this, you shouldn&#8217;t select &#8220;mercurial&#8221; when you&#8217;re
 installing Cygwin because that will cause Python to be installed. Instead,
 install them as Windows applications (see below).</p>
 </div>
 <ol class="arabic">
 <li><p class="first">Sign up for an account at <a class="reference external" href="http://Launchpad.net">http://Launchpad.net</a>.</p>
 </li>
-<li><p class="first">Install the Bazaar distributed version control system (DVCS):</p>
+<li><p class="first">Install the Mercurial distributed version control system (DVCS):</p>
 <p><a class="reference external" href="https://launchpad.net/bzr">https://launchpad.net/bzr</a></p>
-<p>It&#8217;s helpful to follow this Bazaar mini-tutorial:</p>
-<p><a class="reference external" href="http://doc.bazaar-vcs.org/latest/en/mini-tutorial/index.html">http://doc.bazaar-vcs.org/latest/en/mini-tutorial/index.html</a></p>
-<p>And here&#8217;s the complete Bazaar user guide:</p>
-<p><a class="reference external" href="http://doc.bazaar-vcs.org/latest/en/user-guide/index.html">http://doc.bazaar-vcs.org/latest/en/user-guide/index.html</a></p>
+<p>It&#8217;s helpful to follow this Mercurial mini-tutorial:</p>
+<p><a class="reference external" href="http://doc.Mercurial-vcs.org/latest/en/mini-tutorial/index.html">http://doc.Mercurial-vcs.org/latest/en/mini-tutorial/index.html</a></p>
+<p>And here&#8217;s the complete Mercurial user guide:</p>
+<p><a class="reference external" href="http://doc.Mercurial-vcs.org/latest/en/user-guide/index.html">http://doc.Mercurial-vcs.org/latest/en/user-guide/index.html</a></p>
 </li>
 <li><p class="first">You must create an rsa key. Under OSX and Linux, and if you installed
 <tt class="docutils literal"><span class="pre">openssh</span> <span class="pre">with</span></tt> Cygwin under windows, you run <tt class="docutils literal"><span class="pre">ssh-keygen</span></tt> to generate
 <tt class="docutils literal"><span class="pre">build</span> <span class="pre">help</span></tt></blockquote>
 <p>to see the options.</p>
 </div>
-<div class="section" id="working-with-launchpad-and-bazaar">
-<h2>Working with Launchpad and Bazaar<a class="headerlink" href="#working-with-launchpad-and-bazaar" title="Permalink to this headline">¶</a></h2>
+<div class="section" id="working-with-launchpad-and-mercurial">
+<h2>Working with Launchpad and Mercurial<a class="headerlink" href="#working-with-launchpad-and-mercurial" title="Permalink to this headline">¶</a></h2>
 <p>(Adapted from a posting by Yarko T)</p>
 <p>This assumes that you have created a local branch on your private machine where
 you do work, and keep it merged with the trunk.</p>
 (<tt class="docutils literal"><span class="pre">https://code.launchpad.net/python3patterns/+addbranch</span></tt>). Suggest you
 create a hosted branch, then you can work locally, and pull/push as you make
 progress (see
-<a class="reference external" href="http://doc.bazaar-vcs.org/latest/en/user-guide/index.html#organizing">http://doc.bazaar-vcs.org/latest/en/user-guide/index.html#organizing</a>).</li>
+<a class="reference external" href="http://doc.Mercurial-vcs.org/latest/en/user-guide/index.html#organizing">http://doc.Mercurial-vcs.org/latest/en/user-guide/index.html#organizing</a>).</li>
 <li>Once you have registered your branch, launchpad will provide you with
 instructions on how to pull and push to your personal development copy.</li>
 <li>Link your bug report or blueprint to your branch.</li>
 </div>
 <div class="section" id="branch-registration-details">
 <h2>Branch Registration Details<a class="headerlink" href="#branch-registration-details" title="Permalink to this headline">¶</a></h2>
-<p>Register a branch on <a class="reference external" href="http://code.launchpad.net/python3patterns/">http://code.launchpad.net/python3patterns/</a>.  Since your login
-will identify your branch, <tt class="docutils literal"><span class="pre">devel</span></tt> is a good choice for a general development branch.
-If you&#8217;re unsure, select <tt class="docutils literal"><span class="pre">Hosted</span></tt> branching.</p>
+<p>Register a branch on <a class="reference external" href="http://code.launchpad.net/python3patterns/">http://code.launchpad.net/python3patterns/</a>.  Since your
+login will identify your branch, <tt class="docutils literal"><span class="pre">devel</span></tt> is a good choice for a general
+development branch. If you&#8217;re unsure, select <tt class="docutils literal"><span class="pre">Hosted</span></tt> branching.</p>
 <p>You must submit a public key - this will get you there:</p>
 <blockquote>
 <a class="reference external" href="https://launchpad.net/people/+me/+editsshkeys">https://launchpad.net/people/+me/+editsshkeys</a></blockquote>
-<p>When you create your branch, Launchpad will show you the command to push to your branch.
-It will look something like this.</p>
+<p>When you create your branch, Launchpad will show you the command to push to your
+branch. It will look something like this.</p>
 <img alt="_images/pushPath.png" src="_images/pushPath.png" />
 <p>A good local setup is to keep an updated copy of the current trunk
 and a separate local development branch.</p>
 <p class="last">I want to eventually move to the mode where submissions are
 reviewed by another member of the team, rather than me reviewing everything.</p>
 </div>
-<ul>
-<li><p class="first">Make a merge using a local test branch</p>
-</li>
-<li><p class="first">Consider using kdiff3: <a class="reference external" href="http://kdiff3.sourceforge.net/">http://kdiff3.sourceforge.net/</a></p>
-</li>
-<li><p class="first">You can use <tt class="docutils literal"><span class="pre">bzr</span> <span class="pre">diff</span> <span class="pre">--using=kdiff3</span></tt> to browse differences, and use a bazaar
-plugin to merge conflicts:</p>
-<blockquote>
-<p><tt class="docutils literal"><span class="pre">bzr</span> <span class="pre">extmerge</span> <span class="pre">--all</span></tt></p>
-</blockquote>
-</li>
-<li><p class="first">More here:  <a class="reference external" href="http://dev.mysql.com/tech-resources/articles/advanced-bazaar.html">http://dev.mysql.com/tech-resources/articles/advanced-bazaar.html</a></p>
-</li>
+<ul class="simple">
+<li>Make a merge using a local test branch</li>
+<li>Consider using kdiff3: <a class="reference external" href="http://kdiff3.sourceforge.net/">http://kdiff3.sourceforge.net/</a></li>
+<li>You can use <tt class="docutils literal"><span class="pre">bzr</span> <span class="pre">diff</span> <span class="pre">--using=kdiff3</span></tt> to browse differences, and use a</li>
 </ul>
+<dl class="docutils">
+<dt>Mercurial</dt>
+<dd><p class="first">plugin to merge conflicts:</p>
+<blockquote class="last">
+<tt class="docutils literal"><span class="pre">bzr</span> <span class="pre">extmerge</span> <span class="pre">--all</span></tt></blockquote>
+</dd>
+</dl>
+<ul class="simple">
+<li>More here:  <a class="reference external" href="http://dev.mysql.com/tech-resources/articles/advanced">http://dev.mysql.com/tech-resources/articles/advanced</a>-</li>
+</ul>
+<p>Mercurial.html</p>
 </div>
 </div>
 
             <h3><a href="index.html">Table Of Contents</a></h3>
             <ul>
 <li><a class="reference external" href="">Developer Guide</a><ul>
+<li><a class="reference external" href="#getting-started-the-easiest-approach">Getting Started: The Easiest Approach</a></li>
 <li><a class="reference external" href="#for-windows-users">For Windows Users</a></li>
 <li><a class="reference external" href="#installing-sphinx">Installing Sphinx</a></li>
 <li><a class="reference external" href="#getting-the-development-branch-of-the-book">Getting the Development Branch of the Book</a></li>
 <li><a class="reference external" href="#building-the-book">Building the Book</a></li>
-<li><a class="reference external" href="#working-with-launchpad-and-bazaar">Working with Launchpad and Bazaar</a></li>
+<li><a class="reference external" href="#working-with-launchpad-and-mercurial">Working with Launchpad and Mercurial</a></li>
 <li><a class="reference external" href="#branch-registration-details">Branch Registration Details</a></li>
 <li><a class="reference external" href="#tips-for-merging">Tips for Merging</a></li>
 </ul>

html/Introduction.html

 <li>Experiment with group creation of teaching materials for the book, which
 will benefit me in my own training (see the previous point) but will also
 benefit anyone choosing to use the book as a text in a course or training
-seminar. (See <a class="reference external" href="_test/TeachingSupport.html#teachingsupport"><em>Teaching Support</em></a>).</li>
+seminar. (See <a class="reference external" href="TeachingSupport.html#teachingsupport"><em>Teaching Support</em></a>).</li>
 <li>Generate profits by selling printed books. (But see above about the ability
 to print the book yourself).</li>
 <li>Help raise money for non-U.S. Python user groups via translations, from

html/LanguageChanges.html

 <p>Covers language features that don&#8217;t require their own chapters.</p>
 <div class="admonition note">
 <p class="first admonition-title">Note</p>
-<p class="last">If a section in this chapter grows too large it may require its own chapter.</p>
+<p class="last">If a section in this chapter grows too large it may
+require its own chapter.</p>
 </div>
 </div>
 
 </div>
 <div class="section" id="diagrams">
 <h2>Diagrams<a class="headerlink" href="#diagrams" title="Permalink to this headline">¶</a></h2>
-<p>Create diagrams using whatever tool is convenient for you, as long as it produces
-formats that Sphinx can use.</p>
-<p>It doesn&#8217;t matter if your diagram is imperfect. Even if you just sketch something
-by hand and scan it in, it will help readers visualize what&#8217;s going on.</p>
-<p>At some point, diagrams will be redone for consistency using a single tool,
-with print publication in mind. This tool may be a commercial product. However,
-if you need to change the diagram you can replace it with your new version using
+<p>Create diagrams using whatever tool is convenient for you, as long as it
+produces formats that Sphinx can use.</p>
+<p>It doesn&#8217;t matter if your diagram is imperfect. Even if you just sketch
+something by hand and scan it in, it will help readers visualize what&#8217;s going
+on.</p>
+<p>At some point, diagrams will be redone for consistency using a single tool, with
+print publication in mind. This tool may be a commercial product. However, if
+you need to change the diagram you can replace it with your new version using
 your tool of choice. The important thing is to get the diagram right; at some
 point it will be redone to look good.</p>
 <p>Note that all image tags should use a <tt class="docutils literal"><span class="pre">*</span></tt> at the end, not the file extension
 name. For example <tt class="docutils literal"><span class="pre">..image::</span> <span class="pre">_images/foo.*</span></tt>. This way the tag will work for
-both the HTML output and the Latex output. Also, all images should be placed
-in the <tt class="docutils literal"><span class="pre">_images</span></tt> directory.</p>
+both the HTML output and the Latex output. Also, all images should be placed in
+the <tt class="docutils literal"><span class="pre">_images</span></tt> directory.</p>
 <p>Here&#8217;s an example which was done with the free online service Gliffy.com, then
 modified using the free Windows program Paint.NET (note, however, that we should
 not use color because it won&#8217;t translate well to the print book):</p>

html/_sources/Comprehensions.txt

     for r in restFiles:
         print(r)
 
+
+A More Complex Example
+==============================================================================
+
+..  note:: This is still under development. After finishing, it will get a full
+           description of all parts.
+
+::
+
+    # comprehensions/CodeManager.py
+    """
+    TODO: update() is still only in test mode; doesn't actually work yet.
+    TODO: check() should generate deltas
+
+    Extracts, checks and updates code examples in ReST files.
+
+    You can just put in the codeMarker and the (indented) first line (containing the
+    file path) into your ReST file, then run the update program to automatically
+    insert the rest of the file.
+    """
+    import os, re, sys, shutil, inspect, difflib
+
+    restFiles = [os.path.join(d[0], f) for d in os.walk(".") if not "_test" in d[0]
+                 for f in d[2] if f.endswith(".rst")]
+
+    class Languages:
+        "Strategy design pattern"
+
+        class Python:
+            codeMarker = "::\n\n"
+            commentTag = "#"
+            listings = re.compile("::\n\n( {4}#.*(?:\n+ {4}.*)*)")
+
+        class Java:
+            codeMarker = "..  code-block:: java\n\n"
+            commentTag = "//"
+            listings = \
+                re.compile(".. *code-block:: *java\n\n( {4}//.*(?:\n+ {4}.*)*)")
+
+    def shift(listing):
+        "Shift the listing left by 4 spaces"
+        return [x[4:] if x.startswith("    ") else x for x in listing.splitlines()]
+
+    # TEST - makes duplicates of the rst files in a test directory to test update():
+    dirs = set([os.path.join("_test", os.path.dirname(f)) for f in restFiles])
+    if [os.makedirs(d) for d in dirs if not os.path.exists(d)]:
+        [shutil.copy(f, os.path.join("_test", f)) for f in restFiles]
+    testFiles = [os.path.join(d[0], f) for d in os.walk("_test")
+                 for f in d[2] if f.endswith(".rst")]
+
+    class Commands:
+        """
+        Each static method can be called from the command line. Add a new static
+        method here to add a new command to the program.
+        """
+
+        @staticmethod
+        def display(language):
+            "Print all the code listings"
+            for f in restFiles:
+                listings = language.listings.findall(open(f).read())
+                if not listings: continue
+                print('=' * 60 + "\n" + f + "\n" + '=' * 60)
+                for n, l in enumerate(listings):
+                    print("\n".join(shift(l)))
+                    if n < len(listings) - 1:
+                        print('-' * 60)
+
+        @staticmethod
+        def extract(language):
+            """Pull the code listings from the ReST files and write each
+            listing into its own file"""
+            paths = set()
+            for f in restFiles:
+                for listing in language.listings.findall(open(f).read()):
+                    listing = shift(listing)
+                    path = listing[0][len(language.commentTag):].strip()
+                    if path in paths:
+                        print("ERROR: Duplicate file name: %s" % path)
+                        sys.exit(1)
+                    else:
+                        paths.add(path)
+                    path = os.path.join("..", "code", path)
+                    dirname = os.path.dirname(path)
+                    if dirname:
+                        if not os.path.exists(dirname):
+                            os.makedirs(dirname)
+                    file(path, 'w').write("\n".join(listing))
+
+        @staticmethod
+        def check(language):
+            "Ensure that external code files exist"
+            missing = []
+            for path in [code.splitlines()[0] for f in restFiles for code in
+                         language.listings.findall(open(f).read())]:
+                path = path.strip()[len(language.commentTag):].strip()
+                path = os.path.normpath(os.path.join("..", "code", path))
+                if not os.path.exists(path):
+                    missing.append(path)
+            if missing:
+                print("Missing", language.__name__, "files:")
+                for p in missing:
+                    print(p)
+            return missing
+
+        @staticmethod
+        def update(language): # Test until it is trustworthy
+            "Refresh external code files into ReST files"
+            if Commands.check(language):
+                print(language.__name__, "update aborted")
+                return
+            def _update(matchobj):
+                listing = shift(matchobj.group(1))
+                path = listing[0].strip()[len(language.commentTag):].strip()
+                filename = os.path.basename(path).split('.')[0]
+                path = os.path.join("..", "code", path)
+                code = open(path).read().splitlines()
+                for i in difflib.ndiff(listing, code):
+                    if i.startswith("+ ") or i.startswith("- "):
+                        d = difflib.HtmlDiff()
+                        if not os.path.exists("_deltas"):
+                            os.makedirs("_deltas")
+                        open(os.path.join("_deltas", filename + ".html"), 'w')\
+                            .write(d.make_file(listing, code))
+                        break
+                return language.codeMarker + \
+                    "\n".join([("    " + line).rstrip() for line in listing])
+            for f in testFiles:
+                updated = language.listings.sub(_update, open(f).read())
+                open(f, 'w').write(updated)
+
+    if __name__ == "__main__":
+        commands = dict(inspect.getmembers(Commands, inspect.isfunction))
+        if len(sys.argv) < 2 or sys.argv[1] not in commands:
+            print("Command line options:")
+            for name in commands:
+                print(name + ": " + commands[name].__doc__)
+        else:
+            for language in inspect.getmembers(Languages, inspect.isclass):
+                commands[sys.argv[1]](language[1])
+
+           

html/_sources/Contributors.txt

 Contributors
 *******************************************************************************
 
-Contributors ordered by the number of Launchpad.net Karma points.
+List of contributors.
 
-.. rubric:: Karma List
-
-..  note:: Launchpad.net now has a web services interface; we need to figure
-    out how to automatically download the Karma list.
+..  Note::  This needs some thought. I want to include everyone who makes a
+            contribution, but I'd also like to indicate people who have made
+            larger contributions -- there's no automatic way to do this now
+            that we have moved to BitBucket and are using Wikis to allow people
+            to make contributions more simply in the beginning.
 
 Thanks To
 ===============================================================================
 
-  * Launchpad.net
+  * BitBucket.org and the creators of Mercurial
 
   * Creator(s) of Sphinx
 

html/_sources/DeveloperGuide.txt

 
 Details for people participating in the book development process.
 
+Getting Started: The Easiest Approach
+===============================================================================
+
+If all of the details are a little overwhelming at first, there's an easy way
+for you to make contributions without learning about distributed version control
+and Sphinx:
+
+1.  Create an account at http://www.BitBucket.org.
+
+2.  In your account, you get a wiki. In your wiki, create a page for your
+    contribution. Just add your code and descriptions using plain text.
+
+3.  Point us to your wiki via the `newsgroup
+    <http://groups.google.com/group/python3patterns/>`_.
+
+4.  We'll take your contribution and do the necessary formatting.
+
+If you want to take another step, you can learn how to format your wiki page
+using Sphinx by looking at the source for pages in the book. You can try it
+right now -- on the left side of this page (in the HTML book) you'll see a
+header that says **This Page** and underneath it **Show Source**. Click on
+**Show Source** and you'll see the Sphinx source for this page. Just look at
+the page sources and imitate that.
+
+When you're ready, you can learn more about Sphinx and Mercurial and begin
+making contributions that way.
+
+The following sections are for those who are ready to build the book on their
+own machines.
+
+
 For Windows Users
 ===============================================================================
 
 (command prompt here) is also very useful.
 
 Also install ``openssh`` (under **Net**), so you can create your RSA key
-for Bazaar.
+for Mercurial.
 
 I've discovered that it's best if you *don't* install Python as part of
 Cygwin; instead use a single Python installation under windows. Cygwin will
 find the installation if it is on your Windows PATH.
 
-Because of this, you shouldn't select "mercurial" or "bazaar" when you're
+Because of this, you shouldn't select "mercurial" when you're
 installing Cygwin because that will cause Python to be installed. Instead,
 install them as Windows applications (see below).
 
 
 #.  Sign up for an account at http://Launchpad.net.
 
-#.  Install the Bazaar distributed version control system (DVCS):
+#.  Install the Mercurial distributed version control system (DVCS):
 
     https://launchpad.net/bzr
 
-    It's helpful to follow this Bazaar mini-tutorial:
+    It's helpful to follow this Mercurial mini-tutorial:
 
-    http://doc.bazaar-vcs.org/latest/en/mini-tutorial/index.html
+    http://doc.Mercurial-vcs.org/latest/en/mini-tutorial/index.html
 
-    And here's the complete Bazaar user guide:
+    And here's the complete Mercurial user guide:
 
-    http://doc.bazaar-vcs.org/latest/en/user-guide/index.html
+    http://doc.Mercurial-vcs.org/latest/en/user-guide/index.html
 
 #.  You must create an rsa key. Under OSX and Linux, and if you installed
     ``openssh with`` Cygwin under windows, you run ``ssh-keygen`` to generate
 
 to see the options.
 
-Working with Launchpad and Bazaar
+Working with Launchpad and Mercurial
 ===============================================================================
 
 (Adapted from a posting by Yarko T)
     (``https://code.launchpad.net/python3patterns/+addbranch``). Suggest you
     create a hosted branch, then you can work locally, and pull/push as you make
     progress (see
-    http://doc.bazaar-vcs.org/latest/en/user-guide/index.html#organizing).
+    http://doc.Mercurial-vcs.org/latest/en/user-guide/index.html#organizing).
 
 3.  Once you have registered your branch, launchpad will provide you with
     instructions on how to pull and push to your personal development copy.
 
 Branch Registration Details
 ===============================================================================
-Register a branch on http://code.launchpad.net/python3patterns/.  Since your login
-will identify your branch, ``devel`` is a good choice for a general development branch.
-If you're unsure, select ``Hosted`` branching.
+
+Register a branch on http://code.launchpad.net/python3patterns/.  Since your
+login will identify your branch, ``devel`` is a good choice for a general
+development branch. If you're unsure, select ``Hosted`` branching.
 
 You must submit a public key - this will get you there:
 
     https://launchpad.net/people/+me/+editsshkeys
 
-When you create your branch, Launchpad will show you the command to push to your branch.
-It will look something like this.
+When you create your branch, Launchpad will show you the command to push to your
+branch. It will look something like this.
 
 .. image:: _images/pushPath.*
 
 
 -   Consider using kdiff3: http://kdiff3.sourceforge.net/
 
--   You can use ``bzr diff --using=kdiff3`` to browse differences, and use a bazaar
+-   You can use ``bzr diff --using=kdiff3`` to browse differences, and use a
+Mercurial
     plugin to merge conflicts:
 
        ``bzr extmerge --all``
 
--    More here:  http://dev.mysql.com/tech-resources/articles/advanced-bazaar.html
+-    More here:  http://dev.mysql.com/tech-resources/articles/advanced-
+Mercurial.html
 

html/_sources/LanguageChanges.txt

 
 Covers language features that don't require their own chapters.
 
-.. note:: If a section in this chapter grows too large it may require its own chapter.
+.. note:: If a section in this chapter grows too large it may
+          require its own chapter.

html/_sources/PythonDecorators.txt

    decorator: Python decorators
    @: Python decorators
 
-************************************************************************************
+********************************************************************************
 Decorators
-************************************************************************************
+********************************************************************************
 
 .. note:: This chapter is a work in progress; it's probably better if you don't
           begin making changes until I've finished the original version, which

html/_sources/Rules.txt

 Diagrams
 ===============================================================================
 
-Create diagrams using whatever tool is convenient for you, as long as it produces
-formats that Sphinx can use.
+Create diagrams using whatever tool is convenient for you, as long as it
+produces formats that Sphinx can use.
 
-It doesn't matter if your diagram is imperfect. Even if you just sketch something
-by hand and scan it in, it will help readers visualize what's going on.
+It doesn't matter if your diagram is imperfect. Even if you just sketch
+something by hand and scan it in, it will help readers visualize what's going
+on.
 
-At some point, diagrams will be redone for consistency using a single tool,
-with print publication in mind. This tool may be a commercial product. However,
-if you need to change the diagram you can replace it with your new version using
+At some point, diagrams will be redone for consistency using a single tool, with
+print publication in mind. This tool may be a commercial product. However, if
+you need to change the diagram you can replace it with your new version using
 your tool of choice. The important thing is to get the diagram right; at some
 point it will be redone to look good.
 
 Note that all image tags should use a ``*`` at the end, not the file extension
 name. For example ``..image:: _images/foo.*``. This way the tag will work for
-both the HTML output and the Latex output. Also, all images should be placed
-in the ``_images`` directory.
+both the HTML output and the Latex output. Also, all images should be placed in
+the ``_images`` directory.
 
 Here's an example which was done with the free online service Gliffy.com, then
 modified using the free Windows program Paint.NET (note, however, that we should

html/_sources/TeachingSupport.txt

 
 Here are some places to get ideas for exercises and projects:
 
-  - `For coding dojos <http://www.dtsato.com/blog/2008/10/21/source-of-problems-for-your-coding-dojo/>`_
+  - `For coding dojos
+    <http://www.dtsato.com/blog/2008/10/21/source-of-problems-for-your-coding-dojo/>`_
 
   - `Rosetta Code <http://www.rosettacode.org/wiki/Category:Python>`_

html/_sources/fronting.txt

 
-************************************************************************************
+********************************************************************************
 Fronting for an Implementation
-************************************************************************************
+********************************************************************************
 
 Both *Proxy* and *State* provide a surrogate class that you use in your code;
 the real class that does the work is hidden behind this surrogate class. When
     idiom and prevent object aliasing. A simpler example is keeping track of the
     number of calls to a particular method.
 
-You could look at a Python reference as a kind of protection proxy, since it controls access to the actual object on the heap (and ensures, for example, that you don't use a **null** reference).
+You could look at a Python reference as a kind of protection proxy, since it
+controls access to the actual object on the heap (and ensures, for example, that
+you don't use a **null** reference).
 
-[[ Rewrite this: In *Design Patterns*, *Proxy* and *State* are not seen as related to each other because the two are given (what I consider arbitrarily) different structures. *State*, in particular, uses a separate implementation hierarchy but this seems to me to be unnecessary unless you have decided that the implementation is not under your control (certainly a possibility, but if you own all the code there seems to be no reason not to benefit from the elegance and helpfulness of the single base class). In addition, *Proxy* need not use the same base class for its implementation, as long as the proxy object is controlling access to the object it "fronting" for. Regardless of the specifics, in both *Proxy* and *State* a surrogate is passing method calls through to an implementation object.]]]
+[[ Rewrite this: In *Design Patterns*, *Proxy* and *State* are not seen as
+related to each other because the two are given (what I consider arbitrarily)
+different structures. *State*, in particular, uses a separate implementation
+hierarchy but this seems to me to be unnecessary unless you have decided that
+the implementation is not under your control (certainly a possibility, but if
+you own all the code there seems to be no reason not to benefit from the
+elegance and helpfulness of the single base class). In addition, *Proxy* need
+not use the same base class for its implementation, as long as the proxy object
+is controlling access to the object it "fronting" for. Regardless of the
+specifics, in both *Proxy* and *State* a surrogate is passing method calls
+through to an implementation object.]]]
 
 
 

html/_sources/iterators.txt

-************************************************************************************
+********************************************************************************
 Iterators: Decoupling Algorithms from Containers
-************************************************************************************
+********************************************************************************
 
 .. note:: This chapter has not had any significant translation yet.
 

html/_sources/jython.txt

 Jython
 ********************************************************************************
 
-.. note:: This chapter has not been brought up-to-date with the current version of Jython.
+.. note:: This chapter has not been brought up-to-date with the current
+          version of Jython.
 
 This chapter looks at the value of crossing language boundaries. It is often
 advantageous to solve a problem using more than one programming language, rather
 interpreter, and pull data back out.
 
 Putting Data In
-----------------------------------------------------------------------------------------
+--------------------------------------------------------------------------------
 
 To inject data into your Python program, the **PythonInterpreter** class has a
 deceptively simple method: **set( )**. However, **set( )** takes many different
 We'll see the use of the extraction tools in the next section.
 
 Getting Data Out
-----------------------------------------------------------------------------------------
+--------------------------------------------------------------------------------
 
 There are a number of different ways to extract data from the
 **PythonInterpreter**. If you simply call the **get( )** method, passing it the

html/_sources/observer.txt

 Kevin Altis using PythonCard, and placed here as a starting point for a
 translation that does include Observer::
 
-    # observer/BoxObserver.py
+    # observer/BoxObserverPythonCard.py
     """ Written by Kevin Altis as a first-cut for
     converting BoxObserver to Python. The Observer
     hasn't been integrated yet.

html/_sources/patternConcept.txt

 * **Variation in behavior**
 * **Notification**
 * **Transaction**
-* **Mirror**: "the ability to keep a parallel universe(s) in step with the golden world"
-* **Shadow**: "follows your movement and does something different in a different medium" (May be a variation on Proxy).
+* **Mirror**: "the ability to keep a parallel universe(s) in step with the
+    golden world"
+* **Shadow**: "follows your movement and does something different in a different
+    medium" (May be a variation on Proxy).
 
 Design Principles
 =======================================================================

html/_sources/patternRefactoring.txt

 
-************************************************************************************
+********************************************************************************
 Pattern Refactoring
-************************************************************************************
+********************************************************************************
 
 .. note:: This chapter has not had any significant translation yet.
 
 the rest of the code considerably.
 
 "Make More Objects"
-----------------------------------------------------------------------------------------
+--------------------------------------------------------------------------------
 
 This brings up a general object-oriented design principle that I first heard
 spoken by Grady Booch: "If the design is too complicated, make more objects."
 **double** argument).
 
 **Trash** Subclasses
-----------------------------------------------------------------------------------------
+--------------------------------------------------------------------------------
 
 To fit into the prototyping scheme, the only thing that's required of each new
 subclass of **Trash** is that it contain a constructor that takes a **double**
 of these classes.
 
 Parsing **Trash** from an External File
-----------------------------------------------------------------------------------------
+--------------------------------------------------------------------------------
 
 The information about **Trash** objects will be read from an outside file. The
 file has all of the necessary information about each piece of trash on a single
 **Fillable**. (You'll see this later, in **DynaTrash.py**.)
 
 Recycling with Prototyping
-----------------------------------------------------------------------------------------
+-------------------------------------------------------------------------------
 
 Now you can see the revised version of **RecycleA.py** using the prototyping
 technique::
 dispatching*).
 
 Implementing the Double Dispatch
-----------------------------------------------------------------------------------------
+--------------------------------------------------------------------------------
 
 Remember that polymorphism can occur only via method calls, so if you want
 double dispatching to occur, there must be two method calls: one used to
 
 
 A Reflective Decorator
-----------------------------------------------------------------------------------------
+--------------------------------------------------------------------------------
 
 At this point, you *could* follow the same approach that was used for double
 dispatching and create new subtypes of **Aluminum**, **Paper**, **Glass**, and
 overridden in every subclass of **Visitor**.
 
 More Coupling?
-----------------------------------------------------------------------------------------
+--------------------------------------------------------------------------------
 
 There's a lot more code here, and there's definite coupling between the
 **Trash** hierarchy and the **Visitor** hierarchy. However, there's also high

html/_sources/projects.txt

 
-
-************************************************************************************
+*******************************************************************************
 Projects
-************************************************************************************
+*******************************************************************************
 
 .. note:: This chapter has not had any significant translation yet.
 

html/_sources/quickPython.txt

 literally so you don't have to put in an extra backslash in order to insert a
 literal backslash.
 
-Substitution in strings is exceptionally easy, since Python uses C's **printf(
-)** substitution syntax, but for any string at all. You simply follow the string
-with a '**%**' and the values to substitute::
+Substitution in strings is exceptionally easy, since Python uses C's
+**printf()** substitution syntax, but for any string at all. You simply follow
+the string with a '**%**' and the values to substitute::
 
     # quickPython/stringFormatting.py
     val = 47
 be modified - you can also use regular lists for multiple arguments, but tuples
 are typical).
 
-All the formatting from **printf( )** is available, including control over the
+All the formatting from **printf()** is available, including control over the
 number of decimal places and alignment. Python also has very sophisticated
 regular expressions.
 
 However, if this file is imported as a module into another program, the
 **__main__** code is not executed.
 
-Something that's a little surprising at first is that while in C++ or Java you 
-declare object level fields outside of the methods, you do not declare them in 
-Python.  To create an object field, you just name it - using **self** - inside 
+Something that's a little surprising at first is that while in C++ or Java you
+declare object level fields outside of the methods, you do not declare them in
+Python.  To create an object field, you just name it - using **self** - inside
 of one of the methods (usually in the constructor, but not always), and space is
-created when that method is run. This seems a little strange coming from C++ or 
-Java where you must decide ahead of time how much space your object is going to 
-occupy, but it turns out to be a very flexible way to program. If you declare 
-fields using the C++/Java style, they implicitly become class level fields 
+created when that method is run. This seems a little strange coming from C++ or
+Java where you must decide ahead of time how much space your object is going to
+occupy, but it turns out to be a very flexible way to program. If you declare
+fields using the C++/Java style, they implicitly become class level fields
 (similar to the static fields in C++/Java)
 
 Inheritance
 ..  note:: you don't have to explicitly call the base-class constructor if the
            argument list is the same. Show example.
 
-..  note:: The note above is confusing. Did not understand. IMHO one still needs to invoke the base-class constructor if the argument is the same
-    
-    Probably one needs to state that in case the base class constructor functionality continues to be adequate for the derived class, then a new constructor need not be declared for the derived class at all. 
+..  note::  (Reader) The note above is confusing. Did not understand. IMHO one still
+            needs to invoke the base-class constructor if the argument is the
+            same.  Probably one needs to state that in case the base class
+            constructor functionality continues to be adequate for the derived
+            class, then a new constructor need not be declared for the derived
+            class at all.
 
 
 **Simple2** is inherited from **Simple**, and in the constructor, the base-class
 automatically get the equivalent of templates - without having to learn that
 particularly difficult syntax and semantics.
 
-.. note :: I am not sure if I agree with the remark about templates. One of the big objective of templates has always been type safety along with genericity. What python gives us is the genericity. IMHO the analogy with template mechanism is not appropriate.
+.. note ::  (Reader) I am not sure if I agree with the remark about templates. One of the
+            big objective of templates has always been type safety along with
+            genericity. What python gives us is the genericity. IMHO the analogy
+            with template mechanism is not appropriate.
 
 .. note:: Suggest Further Topics for inclusion in the introductory chapter
 

html/_sources/singleton.txt

 
-************************************************************************************
+********************************************************************************
 The Singleton
-************************************************************************************
+********************************************************************************
 
 Possibly the simplest design pattern is the *singleton*, which is a way to
 provide one and only one object of a particular type. To accomplish this, you

html/_sources/stateMachine.txt

 * Similar to flyweight
 * Each state may move to many others
 * Condition & action functions must also be external to states
-* Centralize description in a single table containing all variations, for ease of configuration
+* Centralize description in a single table containing all variations,
+  for ease of configuration
 
 Example:
 
 * State Machine & Table-Driven Code
 * Implements a vending machine
 * Uses several other patterns
-* Separates common state-machine code from specific application (like template method)
-* Each input causes a seek for appropriate solution (like chain of responsibility)
-* Tests and transitions are encapsulated in function objects (objects that hold functions)
+* Separates common state-machine code from specific application
+  (like template method)
+* Each input causes a seek for appropriate solution
+  (like chain of responsibility)
+* Tests and transitions are encapsulated in function objects
+  (objects that hold functions)
 * Java constraint: methods are not first-class objects
 
 .. image:: _images/stateMachine.*
 
 
 The State Class
-----------------------------------------------------------------------------------------
+--------------------------------------------------------------------------------
 
 The **State** class is distinctly different from before, since it is really just
 a placeholder with a name. Thus it is not inherited from previous **State**
 
 
 Conditions for Transition
-----------------------------------------------------------------------------------------
+--------------------------------------------------------------------------------
 
 In the state transition diagram, an input is tested to see if it meets the
 condition necessary to transfer to the state under question. As before, the
 
 
 Transition Actions
-----------------------------------------------------------------------------------------
+--------------------------------------------------------------------------------
 
 If the **Condition** returns **true**, then the transition to a new state is
 made, and as that transition is made some kind of action occurs (in the previous
 
 
 The Table
-----------------------------------------------------------------------------------------
+--------------------------------------------------------------------------------
 
 With these classes in place, we can set up a 3-dimensional table where each row
 completely describes a state. The first element in the row is the current state,
 
 
 The Basic Machine
-----------------------------------------------------------------------------------------
+--------------------------------------------------------------------------------
 
 Here's the basic machine, (code only roughly converted)::
 
 
 
 Simple Vending Machine
-----------------------------------------------------------------------------------------
+--------------------------------------------------------------------------------
 
 Here's the simple vending machine, (code only roughly converted)::
 
 Tools
 =======================================================================
 
-Another approach, as your state machine gets bigger, is to use an automation tool whereby you configure a table and let the tool generate the state machine code for you. This can be created yourself using a language like Python, but there are also free, open-source tools such as *Libero*, at http://www.imatix.com.
+Another approach, as your state machine gets bigger, is to use an automation
+tool whereby you configure a table and let the tool generate the state machine
+code for you. This can be created yourself using a language like Python, but
+there are also free, open-source tools such as *Libero*, at
+http://www.imatix.com.
+
 
 Exercises
 =======================================================================

html/_sources/unitTesting.txt

 
+********************************************************************************
+Unit Testing & Test-Driven Development
+********************************************************************************
 
-************************************************************************************
-Unit Testing & Test-Driven Development
-************************************************************************************
-
-..  note:: This chapter has not had any significant translation yet. Should introduce and compare the various common test systems.
+..  note:: This chapter has not had any significant translation yet. Should
+           introduce and compare the various common test systems.
 
 One of the important recent realizations is the dramatic value of unit testing.
 

html/_sources/visitor.txt

 
-************************************************************************************
+********************************************************************************
 Visitor
-************************************************************************************
+********************************************************************************
 
 The visitor pattern is implemented using multiple dispatching, but people often
 confuse the two, because they look at the implementation rather than the intent.

html/fronting.html

 idiom and prevent object aliasing. A simpler example is keeping track of the
 number of calls to a particular method.</li>
 </ol>
-<p>You could look at a Python reference as a kind of protection proxy, since it controls access to the actual object on the heap (and ensures, for example, that you don&#8217;t use a <strong>null</strong> reference).</p>
-<p>[[ Rewrite this: In <em>Design Patterns</em>, <em>Proxy</em> and <em>State</em> are not seen as related to each other because the two are given (what I consider arbitrarily) different structures. <em>State</em>, in particular, uses a separate implementation hierarchy but this seems to me to be unnecessary unless you have decided that the implementation is not under your control (certainly a possibility, but if you own all the code there seems to be no reason not to benefit from the elegance and helpfulness of the single base class). In addition, <em>Proxy</em> need not use the same base class for its implementation, as long as the proxy object is controlling access to the object it &#8220;fronting&#8221; for. Regardless of the specifics, in both <em>Proxy</em> and <em>State</em> a surrogate is passing method calls through to an implementation object.]]]</p>
+<p>You could look at a Python reference as a kind of protection proxy, since it
+controls access to the actual object on the heap (and ensures, for example, that
+you don&#8217;t use a <strong>null</strong> reference).</p>
+<p>[[ Rewrite this: In <em>Design Patterns</em>, <em>Proxy</em> and <em>State</em> are not seen as
+related to each other because the two are given (what I consider arbitrarily)
+different structures. <em>State</em>, in particular, uses a separate implementation
+hierarchy but this seems to me to be unnecessary unless you have decided that
+the implementation is not under your control (certainly a possibility, but if
+you own all the code there seems to be no reason not to benefit from the
+elegance and helpfulness of the single base class). In addition, <em>Proxy</em> need
+not use the same base class for its implementation, as long as the proxy object
+is controlling access to the object it &#8220;fronting&#8221; for. Regardless of the
+specifics, in both <em>Proxy</em> and <em>State</em> a surrogate is passing method calls
+through to an implementation object.]]]</p>
 </div>
 </div>
 

html/genindex.html

 <table width="100%" class="indextable"><tr><td width="33%" valign="top">
 <dl>
 
-<dt><a href="PythonDecorators.html#index-5">@: Python decorators</a>, <a href="_test/PythonDecorators.html#index-11">[1]</a></dt></dl></td><td width="33%" valign="top"><dl>
+<dt><a href="PythonDecorators.html#index-5">@: Python decorators</a></dt></dl></td><td width="33%" valign="top"><dl>
 </dl></td></tr></table>
 
 <h2 id="C">C</h2>
 
 <dt>canonical form</dt>
   <dd><dl>
-    <dt><a href="CanonicalScript.html#index-0">script command-line</a>, <a href="_test/CanonicalScript.html#index-6">[1]</a></dt>
+    <dt><a href="CanonicalScript.html#index-0">script command-line</a></dt>
   </dl></dd>
 <dt>command-line</dt>
   <dd><dl>
-    <dt><a href="CanonicalScript.html#index-0">canonical form, script</a>, <a href="_test/CanonicalScript.html#index-6">[1]</a></dt>
+    <dt><a href="CanonicalScript.html#index-0">canonical form, script</a></dt>
   </dl></dd>
 <dt>comprehension</dt>
   <dd><dl>
-    <dt><a href="Comprehensions.html#index-1">generator</a>, <a href="_test/Comprehensions.html#index-7">[1]</a></dt>
-    <dt><a href="Comprehensions.html#index-1">list</a>, <a href="_test/Comprehensions.html#index-7">[1]</a></dt>
+    <dt><a href="Comprehensions.html#index-1">generator</a></dt>
+    <dt><a href="Comprehensions.html#index-1">list</a></dt>
   </dl></dd></dl></td><td width="33%" valign="top"><dl>
-<dt><a href="CoroutinesAndConcurrency.html#index-2">concurrency</a>, <a href="_test/CoroutinesAndConcurrency.html#index-8">[1]</a></dt>
-<dt><a href="CoroutinesAndConcurrency.html#index-2">coroutines</a>, <a href="_test/CoroutinesAndConcurrency.html#index-8">[1]</a></dt>
+<dt><a href="CoroutinesAndConcurrency.html#index-2">concurrency</a></dt>
+<dt><a href="CoroutinesAndConcurrency.html#index-2">coroutines</a></dt>
 </dl></td></tr></table>
 
 <h2 id="D">D</h2>
 <table width="100%" class="indextable"><tr><td width="33%" valign="top">
 <dl>
 
-<dt><a href="PythonDecorators.html#index-5">decorator: Python decorators</a>, <a href="_test/PythonDecorators.html#index-11">[1]</a></dt></dl></td><td width="33%" valign="top"><dl>
+<dt><a href="PythonDecorators.html#index-5">decorator: Python decorators</a></dt></dl></td><td width="33%" valign="top"><dl>
 </dl></td></tr></table>
 
 <h2 id="G">G</h2>
 
 <dt>generator</dt>
   <dd><dl>
-    <dt><a href="Comprehensions.html#index-1">comprehension</a>, <a href="_test/Comprehensions.html#index-7">[1]</a></dt>
+    <dt><a href="Comprehensions.html#index-1">comprehension</a></dt>
   </dl></dd>
-<dt><a href="GeneratorsIterators.html#index-3">generators</a>, <a href="_test/GeneratorsIterators.html#index-9">[1]</a></dt></dl></td><td width="33%" valign="top"><dl>
-<dt><a href="CoroutinesAndConcurrency.html#index-2">GIL: Global Interpreter Lock</a>, <a href="_test/CoroutinesAndConcurrency.html#index-8">[1]</a></dt>
+<dt><a href="GeneratorsIterators.html#index-3">generators</a></dt></dl></td><td width="33%" valign="top"><dl>
+<dt><a href="CoroutinesAndConcurrency.html#index-2">GIL: Global Interpreter Lock</a></dt>
 </dl></td></tr></table>
 
 <h2 id="I">I</h2>
 <table width="100%" class="indextable"><tr><td width="33%" valign="top">
 <dl>
 
-<dt><a href="GeneratorsIterators.html#index-3">iterators</a>, <a href="_test/GeneratorsIterators.html#index-9">[1]</a></dt>
-<dt><a href="GeneratorsIterators.html#index-3">itertools</a>, <a href="_test/GeneratorsIterators.html#index-9">[1]</a></dt></dl></td><td width="33%" valign="top"><dl>
+<dt><a href="GeneratorsIterators.html#index-3">iterators</a></dt>
+<dt><a href="GeneratorsIterators.html#index-3">itertools</a></dt></dl></td><td width="33%" valign="top"><dl>
 </dl></td></tr></table>
 
 <h2 id="L">L</h2>
 
 <dt>Language differences</dt>
   <dd><dl>
-    <dt><a href="_test/LanguageChanges.html#index-10">Python 3</a>, <a href="LanguageChanges.html#index-4">[1]</a></dt>
+    <dt><a href="LanguageChanges.html#index-4">Python 3</a></dt>
   </dl></dd>
 <dt>list</dt>
   <dd><dl>
-    <dt><a href="Comprehensions.html#index-1">comprehension</a>, <a href="_test/Comprehensions.html#index-7">[1]</a></dt>
+    <dt><a href="Comprehensions.html#index-1">comprehension</a></dt>
   </dl></dd></dl></td><td width="33%" valign="top"><dl>
 </dl></td></tr></table>
 
 <table width="100%" class="indextable"><tr><td width="33%" valign="top">
 <dl>
 
-<dt><a href="CoroutinesAndConcurrency.html#index-2">multiprocessing</a>, <a href="_test/CoroutinesAndConcurrency.html#index-8">[1]</a></dt></dl></td><td width="33%" valign="top"><dl>
+<dt><a href="CoroutinesAndConcurrency.html#index-2">multiprocessing</a></dt></dl></td><td width="33%" valign="top"><dl>
 </dl></td></tr></table>
 
 <h2 id="P">P</h2>
 <table width="100%" class="indextable"><tr><td width="33%" valign="top">
 <dl>
 
-<dt><a href="CoroutinesAndConcurrency.html#index-2">parallelism</a>, <a href="_test/CoroutinesAndConcurrency.html#index-8">[1]</a></dt>
+<dt><a href="CoroutinesAndConcurrency.html#index-2">parallelism</a></dt>
 <dt>Python 3</dt>
   <dd><dl>
-    <dt><a href="_test/LanguageChanges.html#index-10">Language differences</a>, <a href="LanguageChanges.html#index-4">[1]</a></dt>
+    <dt><a href="LanguageChanges.html#index-4">Language differences</a></dt>
   </dl></dd></dl></td><td width="33%" valign="top"><dl>
 </dl></td></tr></table>
 
 
 <dt>script</dt>
   <dd><dl>
-    <dt><a href="CanonicalScript.html#index-0">command-line canonical form</a>, <a href="_test/CanonicalScript.html#index-6">[1]</a></dt>
+    <dt><a href="CanonicalScript.html#index-0">command-line canonical form</a></dt>
   </dl></dd></dl></td><td width="33%" valign="top"><dl>
 </dl></td></tr></table>
 
 <table width="100%" class="indextable"><tr><td width="33%" valign="top">
 <dl>
 
-<dt><a href="CoroutinesAndConcurrency.html#index-2">threads</a>, <a href="_test/CoroutinesAndConcurrency.html#index-8">[1]</a></dt></dl></td><td width="33%" valign="top"><dl>
+<dt><a href="CoroutinesAndConcurrency.html#index-2">threads</a></dt></dl></td><td width="33%" valign="top"><dl>
 </dl></td></tr></table>
 
 
 </ul>
 <ul>
 <li><a class="reference external" href="DeveloperGuide.html">Developer Guide</a><ul>
+<li><a class="reference external" href="DeveloperGuide.html#getting-started-the-easiest-approach">Getting Started: The Easiest Approach</a></li>
 <li><a class="reference external" href="DeveloperGuide.html#for-windows-users">For Windows Users</a></li>
 <li><a class="reference external" href="DeveloperGuide.html#installing-sphinx">Installing Sphinx</a></li>
 <li><a class="reference external" href="DeveloperGuide.html#getting-the-development-branch-of-the-book">Getting the Development Branch of the Book</a></li>
 <li><a class="reference external" href="DeveloperGuide.html#building-the-book">Building the Book</a></li>
-<li><a class="reference external" href="DeveloperGuide.html#working-with-launchpad-and-bazaar">Working with Launchpad and Bazaar</a></li>
+<li><a class="reference external" href="DeveloperGuide.html#working-with-launchpad-and-mercurial">Working with Launchpad and Mercurial</a></li>
 <li><a class="reference external" href="DeveloperGuide.html#branch-registration-details">Branch Registration Details</a></li>
 <li><a class="reference external" href="DeveloperGuide.html#tips-for-merging">Tips for Merging</a></li>
 </ul>
 <li><a class="reference external" href="GeneratorsIterators.html">Generators, Iterators, and Itertools</a></li>
 </ul>
 <ul>
-<li><a class="reference external" href="Comprehensions.html">Comprehensions</a></li>
+<li><a class="reference external" href="Comprehensions.html">Comprehensions</a><ul>
+<li><a class="reference external" href="Comprehensions.html#a-more-complex-example">A More Complex Example</a></li>
+</ul>
+</li>
 </ul>
 <ul>
 <li><a class="reference external" href="CoroutinesAndConcurrency.html">Coroutines &amp; Concurrency</a></li>
 <h1>Jython<a class="headerlink" href="#jython" title="Permalink to this headline">¶</a></h1>
 <div class="admonition note">
 <p class="first admonition-title">Note</p>
-<p class="last">This chapter has not been brought up-to-date with the current version of Jython.</p>
+<p class="last">This chapter has not been brought up-to-date with the current
+version of Jython.</p>
 </div>
 <p>This chapter looks at the value of crossing language boundaries. It is often
 advantageous to solve a problem using more than one programming language, rather

html/observer.html

 <p>Here is a version of the above that doesn&#8217;t use the Observer pattern, written by
 Kevin Altis using PythonCard, and placed here as a starting point for a
 translation that does include Observer:</p>
-<div class="highlight"><pre><span class="c"># observer/BoxObserver.py</span>
+<div class="highlight"><pre><span class="c"># observer/BoxObserverPythonCard.py</span>
 <span class="sd">&quot;&quot;&quot; Written by Kevin Altis as a first-cut for</span>
 <span class="sd">converting BoxObserver to Python. The Observer</span>
 <span class="sd">hasn&#39;t been integrated yet.</span>

html/patternConcept.html

 <p>Here <a class="footnote-reference" href="#id9" id="id3">[3]</a> is the present list of candidates, only some of which will make it to
 the final list. Feel free to suggest others, or possibly relationships with
 patterns.</p>
-<ul class="simple">
-<li><strong>Encapsulation</strong>: self containment and embodying a model of usage</li>
-<li><strong>Gathering</strong></li>
-<li><strong>Localization</strong></li>
-<li><strong>Separation</strong></li>
-<li><strong>Hiding</strong></li>
-<li><strong>Guarding</strong></li>
-<li><strong>Connector</strong></li>
-<li><strong>Barrier/fence</strong></li>
-<li><strong>Variation in behavior</strong></li>
-<li><strong>Notification</strong></li>
-<li><strong>Transaction</strong></li>
-<li><strong>Mirror</strong>: &#8220;the ability to keep a parallel universe(s) in step with the golden world&#8221;</li>
-<li><strong>Shadow</strong>: &#8220;follows your movement and does something different in a different medium&#8221; (May be a variation on Proxy).</li>
+<ul>
+<li><p class="first"><strong>Encapsulation</strong>: self containment and embodying a model of usage</p>
+</li>
+<li><p class="first"><strong>Gathering</strong></p>
+</li>
+<li><p class="first"><strong>Localization</strong></p>
+</li>
+<li><p class="first"><strong>Separation</strong></p>
+</li>
+<li><p class="first"><strong>Hiding</strong></p>
+</li>
+<li><p class="first"><strong>Guarding</strong></p>
+</li>
+<li><p class="first"><strong>Connector</strong></p>
+</li>
+<li><p class="first"><strong>Barrier/fence</strong></p>
+</li>
+<li><p class="first"><strong>Variation in behavior</strong></p>
+</li>
+<li><p class="first"><strong>Notification</strong></p>
+</li>
+<li><p class="first"><strong>Transaction</strong></p>
+</li>
+<li><dl class="first docutils">
+<dt><strong>Mirror</strong>: &#8220;the ability to keep a parallel universe(s) in step with the</dt>
+<dd><p class="first last">golden world&#8221;</p>
+</dd>
+</dl>
+</li>
+<li><dl class="first docutils">
+<dt><strong>Shadow</strong>: &#8220;follows your movement and does something different in a different</dt>
+<dd><p class="first last">medium&#8221; (May be a variation on Proxy).</p>
+</dd>
+</dl>
+</li>
 </ul>
 </div>
 <div class="section" id="design-principles">

html/quickPython.html

 <p>The &#8216;<strong>r</strong>&#8216; right before a string means &#8220;raw,&#8221; which takes the backslashes
 literally so you don&#8217;t have to put in an extra backslash in order to insert a
 literal backslash.</p>
-<p>Substitution in strings is exceptionally easy, since Python uses C&#8217;s <strong>printf(
-)</strong> substitution syntax, but for any string at all. You simply follow the string
-with a &#8216;<strong>%</strong>&#8216; and the values to substitute:</p>
+<p>Substitution in strings is exceptionally easy, since Python uses C&#8217;s
+<strong>printf()</strong> substitution syntax, but for any string at all. You simply follow
+the string with a &#8216;<strong>%</strong>&#8216; and the values to substitute:</p>
 <div class="highlight"><pre><span class="c"># quickPython/stringFormatting.py</span>
 <span class="n">val</span> <span class="o">=</span> <span class="mf">47</span>
 <span class="k">print</span><span class="p">(</span><span class="s">&quot;The number is </span><span class="si">%d</span><span class="s">&quot;</span> <span class="o">%</span> <span class="n">val</span><span class="p">)</span>
 surround them in parentheses (this forms a <em>tuple</em>, which is a list that cannot
 be modified - you can also use regular lists for multiple arguments, but tuples
 are typical).</p>
-<p>All the formatting from <strong>printf( )</strong> is available, including control over the
+<p>All the formatting from <strong>printf()</strong> is available, including control over the
 number of decimal places and alignment. Python also has very sophisticated
 regular expressions.</p>
 </div>
 </div>
 <div class="admonition note">
 <p class="first admonition-title">Note</p>
-<p>The note above is confusing. Did not understand. IMHO one still needs to invoke the base-class constructor if the argument is the same</p>
-<p class="last">Probably one needs to state that in case the base class constructor functionality continues to be adequate for the derived class, then a new constructor need not be declared for the derived class at all.</p>
+<p class="last">(Reader) The note above is confusing. Did not understand. IMHO one still
+needs to invoke the base-class constructor if the argument is the
+same.  Probably one needs to state that in case the base class
+constructor functionality continues to be adequate for the derived
+class, then a new constructor need not be declared for the derived
+class at all.</p>
 </div>
 <p><strong>Simple2</strong> is inherited from <strong>Simple</strong>, and in the constructor, the base-class
 constructor is called. In <strong>display( )</strong>, <strong>showMsg( )</strong> can be called as a
 particularly difficult syntax and semantics.</p>
 <div class="admonition note">
 <p class="first admonition-title">Note</p>
-<p class="last">I am not sure if I agree with the remark about templates. One of the big objective of templates has always been type safety along with genericity. What python gives us is the genericity. IMHO the analogy with template mechanism is not appropriate.</p>
+<p class="last">(Reader) I am not sure if I agree with the remark about templates. One of the
+big objective of templates has always been type safety along with
+genericity. What python gives us is the genericity. IMHO the analogy
+with template mechanism is not appropriate.</p>
 </div>
 <div class="admonition note">
 <p class="first admonition-title">Note</p>

html/searchindex.js

-Search.setIndex({desctypes:{},terms:{defaultcloseoper:[40,42],orthogon:[23,69],yellow:[21,4],four:[47,24,25,34,26,54],secondli:[63,32],prefix:[21,4],sleep:[25,54,21,4],dirnam:[64,59],"00798f9c":[1,11],browse_thread:[10,41],gladiolu:[39,65],evalscissor:[44,9],whose:[19,7,2,4,21,44,9,45,50,51],selen:[10,41],concret:[7,59,64,28,49,50],swap:[36,12,21,4],under:[19,23,40,2,41,47,42,5,26,64,45,12,51,10,17,36,69,59],testabl:[64,59],worth:[40,42,7,28,49,50],lure:[26,47],everi:[0,21,5,7,18,19,4,26,28,32,33,23,40,17,42,56,47,49,50,63,45,59,64,69],risk:[60,8],inventfeatur:[39,65],"void":[40,64,42,59],rise:[23,69],lurk:[40,42],voic:[17,59,5,64,24,34],govern:[26,47],affect:[50,7,21,4],disturb:[7,28,50,49],nestedshapefactori:[28,49],metaclass:[33,1,18,11],gnu:[64,59],correct:[40,47,42,26,7,50],"__templatemethod":[29,67],getdeclaredmethod:[64,59],technolog:[24,34,64,59],verif:[64,59],unpredictableperson:[26,47],cappuccinowhip:[63,32],c02:[64,59],cmp:[26,47],storag:[1,11],"10f":[7,50],direct:[33,20,40,47,42,23,69,25,28,38,18,26,54,49],commerci:[24,34,40,42],nail:[7,50],second:[0,19,1,2,7,21,4,56,51,42,40,44,45,11,12,9,50,33,36,18],classcastexcept:[19,45],"__finditem__":[40,42],even:[0,1,2,40,11,12,16,18,33,24,32,34,36,7,42,56,46,50,51,63,59,64],hide:[23,7,50,37,69,3],createshap:[28,49],canvasheight:[25,54],item1:[44,9],weren:[1,11],shallowai:[2,51],firstdigit:[26,47],"new":[0,2,47,5,6,7,9,10,17,19,23,24,25,27,28,30,63,32,65,34,39,40,41,42,43,44,45,67,49,50,51,54,56,29,59,64,69,26],net:[40,41,21,4,34,5,42,64,8,24,10,17,60,59],ever:[19,7,44,9,45,50],succumb:[64,59],liberti:[37,3],told:[28,49],getsiz:[21,4],widget:[21,4],behavior:[1,2,37,21,40,11,3,18,19,4,23,25,33,7,42,44,45,47,50,51,54,9,69,26],never:[1,7,59,42,5,40,64,11,50,17],chang:[1,37,21,65,7,11,12,3,10,18,33,20,4,23,24,26,28,38,32,34,36,39,40,41,42,47,67,49,50,63,57,29,59,64,66,69],here:[0,1,2,37,21,5,7,9,10,11,3,16,17,18,19,4,23,24,25,26,27,28,30,31,32,34,70,33,40,41,42,44,45,46,47,49,50,51,54,56,58,59,68,64,69,63],fun:[33,18],debugg:[10,41],gridlayout:[21,4],path:[40,41,21,4,26,42,64,7,47,13,50,10,35,59],cardboard:[7,50],interpret:[23,20,40,2,42,7,38,50,51,69],dry:[63,32],haschang:[47,26,21,4],credit:[24,20,38,34],loop:[0,23,40,29,42,7,28,56,67,49,50,69],studi:[23,7,4,21,64,28,49,50,69,59],portabl:[40,28,42,49],tremend:[40,42],golden:[23,69],propag:[23,7,4,21,50,69],brought:[0,56,40,42],substr:[7,50],unix:[58,68],ratsandmaz:[25,54],wateron:[40,42],total:[7,26,47,50],unit:[20,40,59,42,64,38],getchar:[40,42],plot:[21,4],redon:[24,34],describ:[0,47,5,65,7,12,10,17,19,23,26,32,36,39,40,41,42,56,50,63,45,59,64,69],would:[0,1,2,21,5,40,11,18,19,4,26,28,31,32,70,33,7,17,42,45,47,67,49,50,51,63,56,29,59,64],quickpython:[0,56],call:[0,1,2,37,21,65,7,9,11,12,3,10,19,18,23,4,26,28,33,36,39,40,41,42,44,45,47,67,49,50,51,56,29,59,64,69],typo:[24,34],recommend:[7,50],type:[0,1,2,37,21,65,7,9,11,3,10,19,23,20,4,26,28,38,32,39,40,41,42,44,45,47,49,50,51,63,56,59,64,69],until:[0,39,40,2,47,42,23,65,26,51,7,56,46,50,33,16,69,18],looni:[2,51],relat:[23,40,42,12,36,69],notic:[0,39,40,7,21,4,65,44,42,64,28,56,49,50,33,18,9,59],hurt:[21,4],warn:[23,40,42,7,50,69],glass:[7,50],loss:[63,32],flowervisitor:[39,65],moin:[33,18],hole:[64,59],hold:[19,40,2,47,42,24,26,7,45,50,51,34],unpack:[40,42,7,50],must:[0,1,2,37,21,5,65,7,9,11,3,10,17,18,33,4,25,28,63,32,39,40,41,42,44,56,47,49,50,51,54,59,64,26],join:[35,13],err:[7,64,50,59],setup:[41,59,64,28,49,10],work:[0,1,21,5,7,9,10,11,12,16,17,18,19,20,4,23,24,28,38,32,34,36,33,40,41,42,44,45,46,49,50,63,56,59,64,69],worm:[39,65],introduc:[23,40,7,59,42,5,64,24,50,34,17,69],root:[7,64,50,59],overrid:[0,7,29,4,21,26,64,56,47,67,50,59],give:[0,33,40,58,7,59,42,23,5,69,25,68,64,56,24,50,34,17,18,54],digit:[26,47],indic:[0,33,40,7,21,4,20,26,42,28,56,47,38,50,18,49],setvis:[40,21,42,25,4,54],unavail:[26,47],want:[0,1,2,37,21,5,7,9,11,12,3,10,17,18,19,4,23,24,26,28,32,34,36,33,40,41,42,44,45,47,49,50,51,63,56,59,64,69],keep:[21,5,7,12,10,17,23,4,24,26,28,34,36,40,41,42,47,49,50,59,64,69],addtobin:[7,50],end:[0,23,40,2,17,4,21,5,69,25,42,7,44,56,24,50,51,34,9,54],quot:[0,56],ordinari:[40,7,4,21,42,64,28,49,50,59],classifi:[23,20,69,38],revisit:[7,28,50,49],how:[0,1,2,21,5,65,7,8,9,11,10,17,19,4,23,24,27,28,30,32,34,39,40,41,42,44,45,49,50,51,63,56,59,60,64,69],hot:[63,32],disappear:[16,46,25,54],env:[64,59],regist:[10,41,21,4],answer:[7,41,59,64,44,50,10,9],verifi:[40,64,42,59],changeinterfac:[37,3],perspect:[23,7,69,50],phyast:[33,18],updat:[41,4,21,25,10,54],my_new:[1,11],recogn:[40,42],lai:[64,59],mess:[5,17],coffeeshop:[63,32],after:[0,1,2,47,7,11,10,18,33,25,54,32,23,40,41,42,56,50,51,63,59,64,69,26],implementation1:[12,36],lump:[12,36],implementation2:[12,36],diagram:[20,7,32,47,24,26,12,38,50,34,36,63],befor:[0,2,21,5,7,18,19,4,26,32,33,23,40,17,42,45,47,50,51,63,56,59,64,69],wrong:[40,59,42,7,64,50],beauti:[7,12,36,50],law:[23,69],parallel:[23,69],demonstr:[0,39,40,29,21,4,65,26,42,64,44,56,47,12,36,9,67,59],beanmeup:[63,32],chere:[10,41],profess:[31,70],attempt:[23,7,59,64,50,69],third:[7,50],classmethod:[1,11],revolv:[23,69],exclud:[64,59],alias:[12,36],maintain:[33,23,7,2,32,47,24,69,25,44,9,63,50,51,34,18,26,54],environ:[39,7,58,68,65,28,49,50],incorpor:[33,40,2,59,42,64,51,18],enter:[33,40,4,21,25,42,47,18,26,54],lambda:[40,42],order:[0,2,21,5,7,8,12,19,4,26,28,32,36,40,17,42,45,47,67,49,50,51,63,56,29,60],thermostatdai:[40,42],oper:[0,2,47,65,7,19,18,23,20,26,27,28,30,38,33,39,40,42,44,45,49,50,51,56,9,69],composit:[23,69],os_walk_comprehens:[35,13],over:[0,19,40,2,7,59,42,23,5,69,51,64,56,45,50,33,17,18],fall:[33,58,59,68,64,18],orang:[21,4],becaus:[0,1,37,21,5,65,7,10,11,12,3,16,17,19,18,33,4,23,24,26,34,36,39,40,41,42,45,46,47,50,56,59,64,69],paperscissorsrock:[39,9,44,65],flexibl:[0,20,40,2,32,42,23,69,26,7,44,56,62,47,38,50,51,52,9,63],vari:[23,2,69,51],fit:[23,7,2,17,4,21,5,64,12,50,51,36,69,59],fix:[39,1,32,41,21,4,24,65,7,34,11,50,10,63],avocado:[63,32],"__class__":[39,40,2,42,65,44,9,32,51,63],strang:[0,47,26,28,56,49],better:[33,23,40,2,7,21,4,5,69,26,42,64,24,47,50,51,34,17,18,59],imp:[19,45,12,36],blemang:[0,56],comprehens:[20,35,13,38],hidden:[0,7,29,56,12,50,36,67],schmidt:[7,50],easier:[33,39,40,21,4,23,65,26,42,64,47,69,18,59],glassbin:[7,50],them:[0,2,21,5,65,7,9,13,10,17,19,18,33,4,23,24,25,31,32,34,35,70,39,40,41,42,44,45,50,51,54,56,59,64,69,63],thei:[0,1,2,37,21,5,65,7,11,13,3,19,18,23,4,24,26,32,33,34,35,39,40,17,42,45,47,50,51,63,56,59,64,69],proce:[10,41],number_of_processor:[58,68],stringformat:[0,56],"break":[40,7,32,42,25,64,8,60,63,50,54,59],promis:[7,50],setvalu:[7,50],"instanceof":[7,50],choic:[2,21,5,65,10,17,4,24,25,28,54,32,34,39,7,41,44,49,50,51,63,9],grammat:[5,17],alex:[1,11],getvalu:[40,47,42,26,7,50],closeobserv:[21,4],each:[0,1,2,21,65,40,9,11,12,63,23,20,4,25,28,38,32,36,39,7,42,44,56,47,67,49,50,51,54,29,59,64,69,26],debug:[40,42],side:[40,59,42,24,7,64,50,34],mean:[0,2,21,65,7,12,19,18,23,4,24,26,32,33,34,36,39,40,42,45,47,50,51,63,56,59,64,69],prohibit:[7,50],setdefaultcloseoper:[40,42,21,4],nochang:[26,47],enorm:[33,18],arduou:[63,32],taught:[2,51],makecharact:[28,49],receptacl:[7,50],extract:[40,59,42,7,64,50],whip:[63,32],won:[0,40,17,4,21,5,42,7,56,24,50,34],goe:[0,7,50,24,56,32,34,63],gof:[23,2,12,51,36,69],content:[7,50],rewrit:[19,33,7,32,17,50,5,45,24,12,63,3,34,36,18,37],vector:[23,7,47,25,50,69,26,54],adapt:[20,7,41,3,38,50,10,37],reader:[19,20,59,24,64,45,34,38,16,46],got:[3,24,64,37,34,59],washer:[26,47],forth:[40,42],linear:[23,69],barrier:[23,69],situat:[0,1,7,59,42,40,64,56,11,50],free:[23,47,24,26,34,69],standard:[0,33,40,2,21,4,23,69,42,64,56,51,18,59],ncpu:[58,68],println:[40,59,42,7,64,50],mousemovegener:[26,47],darkgrai:[25,54,21,4],sheet:[10,41,64,59],getweight:[7,50],uiuc:[7,50],puzzl:[28,49],angl:[23,69],openssh:[10,41],ish:[0,24,56,34],isn:[0,23,7,29,17,4,21,5,56,12,50,36,69,67],subtl:[23,7,69,50],onto:[23,69],bite:[64,59],rang:[0,39,40,29,4,21,65,42,28,44,56,67,49,9],perfectli:[26,47],gradi:[7,50],setlayout:[21,4],hoop:[33,18],independ:[23,7,4,21,50,69],wast:[0,4,21,28,56,49],restrict:[33,1,17,21,4,5,42,40,11,18],"__tojava__":[40,42],instruct:[10,41,64,59],alreadi:[19,23,40,2,7,21,4,5,25,42,64,45,50,51,17,69,54,59],wrapper:[40,42,7,50],wasn:[7,50],thick:[28,49],agre:[0,56],primari:[39,7,2,59,65,51,64,50,6,43],hood:[40,42],brillig:[40,42],vendingmachinetest:[26,47],rewritten:[16,24,46,34],"__implement":[12,36],spinach:[63,32],top:[63,32],sometim:[33,23,40,29,41,50,42,24,69,7,34,67,3,10,18,37],stack:[21,4],mercuri:[10,41],exponenti:[23,69,63,32],master:[40,47,42,26,7,50],too:[33,23,40,57,7,32,42,24,69,59,64,34,66,50,16,18,63,46],similarli:[40,42],consol:[64,59],tool:[2,21,5,7,10,17,20,4,24,26,28,38,34,40,41,42,47,49,50,51,59,64],propon:[7,50],getcontentpan:[21,4],somewhat:[5,17],technic:[24,34],trek:[1,11],silli:[7,50],target:[40,42,21,4],keyword:[0,40,21,42,28,56,4,49],provid:[0,1,2,37,21,7,11,12,3,10,18,19,4,26,28,32,33,36,23,40,41,42,45,47,67,49,50,51,63,56,29,59,64,69],"__onlyon":[1,11],tree:[64,59],hors:[0,56],"final":[21,5,65,7,18,33,4,23,24,25,54,32,34,39,40,17,42,67,50,63,29,59,64,69],project:[5,65,7,10,17,23,20,24,25,38,31,34,70,39,40,41,42,50,54,59,64,69],matter:[23,7,2,24,28,49,50,51,34,69],shapefactori:[28,49],foamedmilk:[63,32],mini:[10,41],fashion:[0,33,7,56,50,18],mind:[1,59,24,64,11,13,34,35],raw:[0,56],rat:[20,25,38,54],"__main__":[0,1,21,4,42,40,64,56,11,59],seen:[0,2,21,5,12,18,19,4,26,28,33,36,23,40,17,42,56,47,49,51,45,69],seem:[0,33,40,7,47,42,23,69,26,64,28,56,12,49,50,36,18,59],seek:[7,26,47,50],seminar:[5,17],innerclass:[40,42],realm:[19,23,45,69],respectjavaaccess:[40,42],terrif:[40,42],person:[10,40,41,42],latter:[23,40,69,42],especi:[0,23,40,60,42,7,8,56,70,50,69,31],thorough:[40,42],alreadyopen:[21,4],staticinnerclass:[40,42],client:[7,29,17,50,47,5,26,64,12,3,36,37,67,59],alldecor:[63,32],thoroughli:[5,17],wherebi:[26,47],simplifi:[1,41,42,40,28,11,49,10],shall:[40,2,59,42,64,51],bruce:[10,41],glob:[40,64,42,59],object:[0,1,2,37,21,65,7,9,11,12,3,19,18,33,20,4,23,25,26,28,38,32,36,39,40,42,44,45,47,49,50,51,54,56,59,64,69,63],what:[0,1,2,37,21,5,7,10,11,12,13,3,16,17,18,19,20,4,23,24,26,28,38,32,34,35,36,33,40,41,42,45,46,47,49,50,51,63,56,59,64,69],messeng:[7,2,47,26,50,51],regular:[0,40,59,42,64,56,32,63],letter:[29,67],phase:[33,23,7,18,50,69],coin:[2,51],tradit:[23,69],simplic:[0,39,40,47,42,23,65,26,56,69],don:[0,37,21,5,7,10,12,3,16,17,18,33,20,4,24,28,38,34,36,23,40,41,42,44,56,46,49,50,57,9,66,69],simplif:[40,42],pythoninterpreterset:[40,42],doc:[10,41],flow:[24,34,40,42],doe:[0,1,2,21,40,11,12,18,33,4,26,28,36,23,7,42,56,47,67,49,50,51,29,59,64,69],dummi:[2,51],declar:[0,56,64,59],tech:[10,41],wildcard:[40,42],itemslot:[26,47],notion:[12,36],came:[19,23,7,45,50,69],marvel:[0,56],has_kei:[7,58,47,68,26,28,49,50],endear:[40,42],visitor:[23,39,7,4,21,20,65,64,38,50,69,59],"__str__":[39,1,2,47,65,26,44,9,11,51],random:[23,39,7,4,21,65,28,44,49,50,69,9],particip:[10,41],syntax:[0,33,1,7,59,42,40,64,56,11,50,18],"2008v1":[10,41],involv:[19,23,1,41,27,7,45,11,30,50,10,69],despit:[7,50],layout:[40,17,42,5,24,34],acquir:[21,4],menu:[27,28,30,49,32,63],explain:[33,59,64,28,12,49,36,18],configur:[20,40,4,21,24,26,42,7,44,62,47,38,50,34,52,9],restaur:[63,32],sugar:[33,18],theme:[2,51],busi:[39,65],"__call__":[33,1,2,11,51,18],edict:[39,65],cappuccino:[63,32],stop:[7,64,50,59],on_mouseup:[21,4],report:[41,59,25,64,10,54],rosettacod:[2,51],bat:[40,42],bar:[1,24,6,11,43,34],isopen:[21,4],emb:[0,56,40,42],excel:[19,45],baz:[6,43],shape:[7,28,50,49],"public":[23,40,41,59,42,34,5,64,7,24,50,10,17,69],twice:[21,64,4,59],bad:[24,34,28,49],steam:[63,32],fair:[2,51],decoratortalk:[33,18],elimin:[7,50],mandatori:[23,69],result:[0,2,21,7,18,19,4,25,54,32,33,23,40,42,45,50,51,63,56,59,64,69],respons:[0,20,7,2,32,47,67,25,56,29,38,50,51,63,26,54],fail:[33,40,47,42,26,7,64,50,18,59],hash:[0,19,56,47,26,45],charact:[40,28,42,49],hammer:[7,50],best:[0,33,40,41,42,34,5,69,23,56,24,10,17,18],brazil:[5,17],awar:[40,4,21,42,7,28,49,50],said:[5,17],alsum:[7,50],databas:[1,11],red3d:[25,54],discoveri:[23,7,69,50],mug:[63,32],emptor:[16,46],simplest:[23,1,4,21,42,40,64,11,69,59],awai:[23,7,50,47,26,32,69,63],getkei:[40,42],approach:[1,37,21,65,40,11,3,18,19,20,4,23,26,28,38,32,33,39,7,42,45,47,49,50,63,69],attribut:[33,23,40,17,42,5,69,18],accord:[19,7,59,64,45,50],extend:[19,39,40,7,59,42,65,64,28,45,49,50],weak:[0,56],extens:[24,34,7,50],lazi:[1,47,26,11,12,36],preprocessor:[33,18],backgroundcolor:[21,4],rtti:[20,7,38,50],aparat:[7,50],protect:[40,4,21,42,64,12,36,59],accident:[23,7,69,50],easi:[0,23,40,41,32,42,69,64,7,44,56,50,10,9,63,59],ill:[7,50],pitt:[33,18],against:[33,39,7,65,50,18],sketch:[24,34],logic:[23,4,21,32,69,63],countri:[2,51],login:[10,41],com:[19,33,40,41,47,42,23,24,69,25,64,7,45,34,50,10,18,26,54,59],con:[63,32],compromis:[20,63,38,32],kwd:[1,11],notifyobserv:[21,4],elf:[39,65],trunk:[10,41],sai:[0,2,21,65,7,19,18,23,4,24,26,33,34,39,40,42,44,56,47,67,50,51,45,29,9,69],"2nd":[40,42],diff:[10,41],guid:[10,20,41,38],assum:[0,1,41,7,56,11,50,10],speak:[5,12,17,36],light:[40,42],testsynchron:[21,4],three:[33,39,40,47,42,23,65,26,32,69,18,63],been:[0,1,21,5,40,11,12,16,18,33,4,24,26,34,36,23,7,17,42,56,46,47,50,69],chrysanthemum:[39,65],much:[0,21,5,65,7,16,18,23,4,24,28,33,34,39,40,17,42,56,46,49,50,59,64,69],interest:[33,23,1,7,21,4,5,69,42,40,64,11,50,17,18,59],basic:[0,37,21,5,7,12,3,18,19,20,4,26,28,38,32,33,36,23,40,17,42,45,47,49,50,63,56,59,64,69],evolut:[23,7,69,50],"__len__":[40,42],quickli:[40,26,47,42],life:[21,4],rather:[0,37,21,65,7,12,3,10,19,18,33,4,24,28,32,34,36,39,40,41,42,45,49,50,63,56,58,59,68,64],deeper:[40,42,7,28,49,50],getval:[40,42],xxx:[58,68],ani:[0,1,21,5,40,11,12,18,19,4,24,25,28,63,32,33,34,36,23,7,17,42,45,47,49,50,54,56,59,64,69,26],dave:[19,45],alreadyclos:[21,4],bookstor:[5,17],ugli:[7,37,50,3],exception:[0,56,40,42],ident:[1,3,47,26,7,11,50,37],occam:[23,69],affirm:[0,56,64,59],servic:[17,60,5,8,24,34],properti:[40,42],sourceforg:[40,41,21,42,4,10],air:[26,28,47,49],employ:[5,17],calcul:[2,21,4,51],aid:[0,56],vagu:[23,69],dizzi:[23,69],enlev:[23,69],seconddigit:[26,47],player:[21,4],indent:[0,24,56,34],tediou:[40,42,21,4],sever:[40,47,42,26,7,28,49,50],valgen:[40,42],quand:[23,69],perform:[2,21,65,7,9,18,33,4,23,26,28,32,39,40,42,44,47,67,49,50,51,63,29,59,64,69],suggest:[0,23,1,41,59,24,64,7,56,34,11,50,10,69],make:[0,1,2,21,5,65,7,9,11,12,13,10,17,18,33,20,4,23,24,26,28,38,32,34,35,36,31,39,40,41,42,44,56,47,49,50,51,63,59,64,69,70],transpar:[40,59,42,64,32,63],who:[7,17,4,21,5,24,31,50,34,70],complex:[33,40,2,21,4,42,64,28,49,51,18,59],descend:[64,59],complet:[33,23,40,41,21,4,69,25,42,64,7,47,12,50,10,36,18,26,54,59],inheritor:[21,4],blue:[21,4],listperform:[52,62],hand:[0,19,1,2,7,21,4,23,24,69,51,28,56,45,11,49,50,33,34,18],fairli:[23,40,7,4,21,69,42,64,44,50,9,59],rais:[7,17,47,5,26,50],garlic:[63,32],refin:[7,50],squar:[49,21,4,28],qualif:[40,42],jframe:[40,42,21,4],kept:[5,17,64,59],thu:[0,2,47,7,9,18,19,26,28,32,33,23,40,42,44,45,67,49,50,51,63,56,29,59,64,69],getbyt:[25,54],inherit:[0,1,2,21,40,11,23,20,4,26,28,38,32,7,42,56,47,67,49,50,51,63,29,59,64,69],runtimeexcept:[19,45,26,47],weakli:[40,42],shortli:[0,56,64,59],greatest:[23,7,69,50],thi:[0,1,2,37,21,5,65,7,9,10,11,12,3,16,17,19,18,33,4,23,24,25,27,28,30,63,32,34,36,39,40,41,42,44,45,46,47,67,49,50,51,54,56,57,29,59,64,66,69,26],programm:[0,1,47,5,11,12,3,18,33,20,26,38,36,23,40,17,42,56,67,37,29,59,64,69],everyth:[0,33,40,58,41,21,4,24,5,68,42,7,46,56,10,50,16,17,18,34],isomorph:[23,69],left:[23,39,7,4,21,24,65,27,30,50,34,69],agon:[5,17],identifi:[0,40,41,42,28,56,49,10],setcolor:[25,54,21,4],just:[0,1,2,21,5,40,9,11,12,16,18,33,4,24,26,28,32,34,36,23,7,17,42,44,56,46,47,49,50,51,63,58,59,68,64,69],"__dict__":[21,1,11,4],kdiff3:[10,41],yet:[0,19,1,7,21,4,24,25,59,64,56,45,34,11,50,16,54,46],languag:[0,2,47,7,8,18,33,20,26,28,38,23,40,42,56,49,50,51,57,59,60,64,66,69],previous:[7,28,50,49],expos:[7,37,50,3],had:[0,2,47,5,65,7,19,18,23,25,54,32,33,39,40,17,42,45,50,51,63,56,59,64,69,26],keyset:[40,42,7,50],spread:[49,9,28,44],prison:[25,54],falter:[64,59],els:[0,23,1,58,7,47,42,68,25,40,64,56,11,50,69,26,54,59],functionobject:[2,51],explanatori:[40,42],gave:[5,7,17,50],applic:[33,20,40,29,41,47,42,23,69,26,28,12,38,10,36,18,67,49],fortun:[7,50],larman:[37,3],mayb:[24,34,64,59],background:[21,4],elabor:[7,50],shadow:[23,69],unten:[33,18],ineffici:[21,4],apart:[23,69],measur:[24,34],specif:[19,23,40,2,7,21,4,26,42,64,28,45,47,12,49,50,51,36,69,59],arbitrari:[0,56,7,50],nudg:[29,67],hunt:[7,4,21,25,50,54],manual:[7,44,50,9],doubledispatch:[7,50],night:[5,40,17,42],ocbox:[21,4],unnecessari:[40,47,42,26,28,12,49,36],singletonpattern:[1,11],underli:[23,69],www:[0,2,21,7,10,18,19,4,25,33,23,40,41,42,56,47,50,51,54,45,59,64,69,26],right:[0,23,40,17,4,21,34,5,42,7,56,24,50,16,69,46],old:[7,50],deal:[40,3,42,7,44,9,50,37],printf:[0,56],interp:[40,42],somehow:[40,42,7,12,50,36],percentag:[5,17],intern:[19,7,59,64,28,45,49,50],borg:[1,11],indirect:[7,50],successfulli:[7,64,50,59],atteint:[23,69],txt:[25,26,47,54],htmlhelp:[10,41],bottom:[0,56,2,51],subclass:[20,40,7,50,42,26,28,47,38,32,63,49],condit:[0,20,2,59,47,25,64,28,56,38,51,26,54,49],foo:[33,1,42,24,6,40,11,43,34,18],paintcompon:[21,4],sensibl:[49,9,28,44],steamedmilk:[63,32],confer:[7,17,5,24,50,34],duplic:[23,69],promot:[5,7,17,50],mazegen:[25,54],pylist:[40,42],post:[10,18,41,33],"super":[21,1,11,4],meyer:[25,54],chapter:[0,2,5,7,18,19,24,25,54,32,34,33,40,17,42,56,62,50,51,52,63,45,57,59,64,66],unpackag:[40,42],obj:[0,19,45,56],getparametertyp:[64,59],slightli:[33,20,4,21,26,64,47,38,18,59],py2float:[40,42],surround:[0,7,4,21,25,56,50,54],unfortun:[40,42],patternrefactor:[7,2,50,51],commit:[10,41],produc:[37,47,5,65,7,9,3,18,19,23,24,26,28,33,34,39,40,17,42,44,45,49,50,59,64,69],makeobstacl:[28,49],dilemma:[39,7,50,65],thermostat:[40,42],javac:[40,42],curiou:[16,46],"float":[40,42],encod:[40,44,42,9],bound:[39,40,17,42,5,65,7,50],mocha:[63,32],down:[40,2,4,21,25,42,64,28,49,32,51,63,54,59],ppr:[7,50],weightvisitor:[7,50],cappuccinodecafwhip:[63,32],wrap:[19,33,1,2,7,21,4,45,42,40,32,11,50,51,18,63],opportun:[7,50],clearchang:[21,4],javax:[40,42],testdumpclassinfo:[40,42],east:[25,54],accordingli:[24,34],wai:[0,1,2,37,21,5,65,7,11,12,3,10,17,18,33,4,23,24,26,28,32,34,36,39,40,41,42,56,47,49,50,51,63,58,59,68,64,69],frustrat:[40,42],support:[0,20,40,7,21,4,5,49,59,42,64,28,56,47,31,50,17,26,70,38],"class":[0,1,2,37,21,65,7,9,11,12,3,19,18,33,20,4,23,25,26,28,38,32,36,39,40,42,44,45,62,47,67,49,50,51,52,54,56,29,59,64,69,63],avail:[0,23,40,2,7,59,42,5,64,56,50,51,17,69],width:[25,54,21,4],reli:[19,45,7,50],editor:[24,34],aforement:[23,69],analysi:[23,69],head:[23,2,69,51],medium:[23,69],repetiti:[30,27],form:[0,19,7,17,21,4,20,5,56,23,27,64,28,45,59,30,38,50,69,49],offer:[63,32],altogeth:[23,7,69,50],forg:[64,59],heat:[26,47],hear:[64,59],dead:[25,54],heap:[7,12,36,50],hashtabl:[40,42],"true":[0,28,40,47,42,26,7,64,56,49,50,59],analyst:[7,50],"6dd415847e5cbf7c":[10,41],entryexit:[33,18],pragu:[7,50],notat:[40,42],setsuccess:[2,51],maximum:[0,23,56,69],tell:[0,40,2,7,47,42,25,28,64,56,49,50,51,26,54,59],minor:[21,4],absenc:[64,59],fundament:[0,23,2,59,64,56,29,51,69,67],trim:[7,50],classif:[23,69],featur:[0,33,40,41,57,42,23,5,69,27,64,7,56,66,30,50,10,17,18,59],setxi:[25,54],semicolon:[0,56],classic:[7,26,47,50],howdi:[40,42],request:[23,2,47,25,51,69,26,54],"abstract":[23,20,7,3,69,28,38,50,37,49],visitabledecor:[7,50],extmerg:[10,41],exist:[19,7,29,28,45,67,49,50],desir:[40,2,4,21,42,7,50,51],download:[19,40,17,4,21,5,42,8,45,60],mold:[7,37,50,3],check:[0,28,1,41,21,4,26,42,40,7,64,56,11,49,50,47,10,59],assembl:[63,32],surpris:[0,33,18,56],tip:[10,20,41,38],refactor:[20,7,59,60,64,8,38,50],tij:[52,62],test:[23,20,40,2,41,21,4,26,59,42,64,7,16,47,38,50,51,10,69,46],tie:[23,69],appetit:[23,69],smell:[26,47],realiti:[40,42],getsizetupl:[21,4],notif:[23,69,21,4],intend:[40,17,59,42,5,64],felt:[40,42],intent:[19,39,23,65,45,69],consid:[2,7,9,12,10,18,33,20,25,38,32,36,54,23,40,41,42,44,50,51,63,59,64,69],bitbucket:[10,41],receiv:[33,40,21,42,4,18],longer:[0,33,7,50,24,56,32,34,18,63],furthermor:[2,51],intimaci:[7,50],safe:[19,33,20,45,38,18],ignor:[1,59,7,64,11,50],fact:[0,33,1,7,21,4,23,69,42,40,64,56,11,50,18,59],time:[0,1,2,21,5,40,11,18,19,4,24,25,28,63,32,33,34,23,7,17,42,45,47,67,49,50,51,54,56,29,59,64,69,26],push:[10,41],backward:[60,25,54,8],osx:[10,58,41,68],concept:[23,20,40,2,42,29,38,51,69,67],chain:[20,2,47,26,38,51],skip:[40,64,42,59],consum:[40,63,42,32],focus:[28,49],invent:[40,12,36,42],signific:[19,7,59,24,25,64,45,50,34,54],objcount:[64,59],milk:[63,32],row:[47,26,21,4],decid:[0,39,40,32,7,4,21,65,26,42,28,56,47,12,49,50,36,63],depend:[23,40,7,4,21,26,42,28,47,49,50,69],decim:[0,56],intermedi:[5,17],certainli:[23,7,32,21,26,28,4,12,49,50,47,36,69,63],decis:[0,19,56,24,25,45,34,54],text:[0,17,47,5,25,27,56,24,30,34,26,54],jtextarea:[40,42],isinst:[19,45,58,68],sourc:[23,40,7,4,21,5,25,42,64,24,47,50,34,17,69,26,54,59],string:[0,20,40,2,7,21,4,25,59,42,64,28,56,47,38,50,51,26,54,49],brazillian:[5,17],onlyon:[1,11],"fa\u00e7ad":[20,37,38,3],broadli:[7,50],word:[33,2,37,47,26,64,29,3,51,18,67,59],brows:[10,41],jdk:[21,64,4,59],level:[0,33,7,21,4,23,69,59,64,28,56,13,50,35,18,49],did:[0,40,42,56,13,35],die:[25,54],gui:[29,4,21,28,67,49],evalpap:[44,9],vein:[33,18],item:[40,21,42,26,44,28,4,49,47,9],team:[20,41,60,5,8,38,10,17],quick:[0,20,41,59,64,56,38,32,10,63],round:[12,36],dir:[64,59],prevent:[20,7,4,21,59,64,28,12,38,50,36,49],plaincap:[63,32],core:[0,40,41,42,56,10],htm:[25,54],compens:[23,69],sign:[10,40,41,42],bondag:[33,18],cost:[23,47,26,32,69,63],cafelattewetwhip:[63,32],run:[0,2,21,7,12,10,18,33,20,4,25,38,36,23,40,41,42,56,47,67,50,51,54,29,59,64,69,26],corba:[40,42],appear:[0,1,2,21,40,11,18,33,4,24,26,28,34,23,7,42,56,47,49,50,51,59,64,69],filler:[7,50],scaffold:[28,49],current:[0,19,40,41,47,42,23,25,64,7,56,45,50,10,69,26,54,59],suspect:[28,49],newalgorithm:[2,51],shapefact2:[28,49],deriv:[0,40,7,4,21,26,42,64,28,56,47,12,49,50,36,59],cappuccinodri:[63,32],gener:[0,1,2,37,21,5,65,7,9,11,12,3,10,17,19,18,33,20,4,23,25,28,38,36,39,40,41,42,44,45,47,49,50,51,54,55,56,59,64,53,69,26],satisfi:[23,7,2,47,26,12,50,51,36,69],modif:[33,7,50,32,18,63],chainlink:[2,51],address:[12,36],along:[0,19,40,7,47,42,23,26,64,56,45,12,50,36,69,59],stem:[40,42],teacher:[31,70],wait:[40,21,42,26,7,4,50,47],box:[20,40,4,21,59,42,64,28,38,49],nextb:[26,47],alti:[21,4],shift:[35,13],clip4:[7,50],queue:[2,51],behav:[33,40,47,42,26,7,50,18],extrem:[33,40,59,42,7,64,50,18],commonli:[40,42,7,50],trashtyp:[7,50],semant:[0,56,64,59],regardless:[7,12,36,50],repositori:[5,17],extra:[0,56,7,4,21,64,50,32,63,59],activ:[39,7,24,65,28,49,50,34],modul:[0,33,40,21,4,6,42,56,43,18],prefer:[24,34],toarrai:[40,42],leav:[50,7,21,4],visibl:[40,42],instal:[20,40,41,21,4,42,64,7,38,50,10,59],forefront:[64,59],gsum:[7,50],anounc:[10,41],newslett:[23,69],prove:[33,7,18,50],univers:[23,69,28,49],visit:[39,7,50,65],recycleap:[7,50],everybodi:[21,4],live:[40,42],handler:[21,4],msg:[0,56],dict:[1,11,40,42],checkout:[10,41],testid:[64,59],appendic:[24,34],peopl:[0,39,7,41,59,34,5,65,23,64,69,56,24,31,50,33,10,17,18,70],claus:[0,21,47,26,28,56,4,49],clue:[7,50],visual:[20,4,21,24,38,34],appendix:[5,17],oop:[23,7,4,21,64,50,69,59],examin:[40,42,7,50],alexand:[19,45],jlabel:[40,42],effort:[20,40,2,7,59,42,5,64,31,50,51,17,70,38],easiest:[39,40,42,65],fly:[39,65],graphic:[4,21,25,64,28,49,54,59],prepar:[33,18],dmitri:[1,11],battl:[39,49,28,65],focu:[7,24,6,50,43,34],addel:[25,54],flowlayout:[40,42],problemsolv:[2,51],whatev:[7,59,24,64,50,34],purpos:[23,7,2,28,49,50,51,69],problemat:[19,45],claim:[2,51],encapsul:[23,20,7,2,47,26,28,38,50,51,69,49],sysconf:[58,68],predict:[33,18],wrapped_f:[33,18],explos:[7,50],backslash:[0,56,40,42],topic:[0,1,17,5,56,11],heard:[7,50],chih:[1,11],abort:[64,59],proxydemo:[12,36],recycl:[20,7,38,50],simul:[23,20,7,38,50,69],occur:[23,7,2,4,21,24,69,44,64,28,47,49,50,51,34,9,26,59],pink:[21,4],alwai:[0,23,1,29,7,59,64,56,11,67,50,69],killanddismemb:[28,49],variou:[2,47,65,7,9,23,26,28,32,39,40,42,44,67,49,50,51,63,29,59,64,69],get:[0,2,37,21,5,65,7,9,10,13,3,16,17,19,18,33,20,4,23,24,26,38,32,34,35,31,39,40,41,42,44,45,46,47,50,51,63,56,59,64,69,70],write:[0,2,21,5,7,12,19,20,4,24,26,28,38,34,36,23,40,17,42,45,47,67,49,50,51,56,29,59,64,69],anyon:[5,25,17,54],actual:[0,2,21,7,9,12,18,19,4,26,28,33,36,23,40,42,44,45,47,49,50,51,56,59,64,69],pure:[40,26,47,42],"0x00798900":[1,11],parameter:[7,50],ensconc:[40,42],map:[0,39,40,47,42,65,25,7,56,50,26,54],product:[0,40,59,42,24,64,56,34],dialog:[40,42],max:[21,4],"23f":[7,50],spot:[24,34,28,49],usabl:[26,47],wantmor:[26,47],inputb:[26,47],inputc:[26,47],membership:[7,50],inputa:[26,47],mymethod:[21,4],aop:[33,18],mai:[0,1,2,21,5,7,11,10,17,19,4,24,25,28,63,32,34,23,40,41,42,45,47,49,50,51,54,56,57,59,64,66,69,26],underscor:[0,1,24,56,11,34],data:[0,19,1,2,7,21,4,20,56,51,42,40,28,45,11,38,50,47,26,49],grow:[57,66],goal:[0,33,40,7,47,42,20,5,69,25,23,64,56,38,50,17,18,26,54,59],practic:[0,56],johnson:[23,69],divid:[64,59],explicit:[33,23,2,69,44,9,51,18],cafelattewhip:[63,32],inform:[0,1,2,21,40,9,11,18,33,4,25,28,7,42,44,56,47,49,50,51,54,58,59,68,64,26],"switch":[7,2,25,12,50,51,36,54],preced:[63,32],combin:[20,40,2,17,4,21,5,42,44,9,38,32,51,63],block:[24,34],callabl:[33,18,21,4],talk:[23,7,41,50,10,69],vike:[0,56],extractor:[64,59],dojo:[31,70],comfort:[37,64,3,59],countobserv:[21,4],greenhouselanguag:[40,42],brain:[0,56,2,51],lst:[40,42],still:[0,23,40,7,4,21,5,26,42,28,56,24,47,49,50,34,17,69],stringlist:[7,50],dynam:[0,2,21,65,7,12,18,23,20,4,28,38,32,33,36,39,40,42,44,56,49,50,51,63,9,69],rosetta:[31,70],group:[0,39,7,2,41,21,4,23,5,65,25,56,31,50,51,10,17,69,54,70],thank:[20,38,8,60],interp1:[40,42],jim:[7,2,50,51],platform:[20,58,38,68],window:[20,58,41,68,24,27,34,30,38,10],curli:[0,56],borgsingleton:[1,11],main:[0,40,29,7,4,21,5,25,42,64,56,67,50,17,54,59],ddtrash:[7,50],non:[0,23,40,7,59,42,5,64,56,50,17,69],within:[0,33,40,7,4,21,23,69,26,42,28,56,47,49,50,18],halt:[64,59],halv:[0,56],sysconf_nam:[58,68],initi:[1,21,7,11,12,10,23,4,25,28,36,40,41,42,47,67,49,50,54,29,69,26],sorter:[7,50],typedbinmemb:[7,50],pyinteg:[40,42],aesthet:[7,50],therebi:[64,59],half:[12,36],javaclassinpython:[40,42],now:[33,39,40,7,47,42,23,65,25,64,8,28,60,49,50,69,18,26,54,59],discuss:[23,7,25,50,69,54],introduct:[0,20,17,5,56,38,33,18],term:[33,23,7,2,50,47,69,26,64,12,3,51,36,18,37,59],name:[0,1,21,40,9,11,12,18,33,4,24,26,28,32,34,36,23,7,42,44,56,47,67,49,50,63,29,59,64,69],creativ:[7,17,5,31,50,70],getweapon:[39,65],didn:[0,23,59,64,56,69],oliv:[63,32],separ:[0,2,21,65,7,12,10,23,4,26,28,36,39,40,41,42,56,47,67,49,50,51,29,59,64,69],rock:[44,9],cafemochadecafwhip:[63,32],pizza:[63,32],compil:[0,33,40,2,7,21,4,23,69,42,64,56,46,12,50,51,16,36,18,59],replac:[0,39,40,2,59,42,24,65,51,64,56,33,34,18],individu:[7,50,25,54,32,63],arg3:[33,18],continu:[0,40,47,42,26,7,64,56,50,59],contributor:[20,17,60,5,8,38],parsetrash:[7,50],significantli:[33,18],begun:[23,69],year:[19,23,7,59,64,45,50,69],happen:[21,5,7,18,33,4,24,26,28,32,34,23,40,17,42,47,49,50,63,59,64,69],dispos:[40,42],troll:[39,65],shown:[0,39,40,2,7,32,42,23,65,28,56,49,50,51,69,63],cafelatteextraespressowhip:[63,32],cafemochawhip:[63,32],"3rd":[19,45,63,32],space:[0,40,42,24,25,7,56,12,50,34,36,54],profit:[5,40,17,42],antoin:[23,69],stuff:[24,34],internet:[25,64,54,59],returnstr:[40,42],factori:[23,20,7,3,47,69,26,28,38,50,37,49],earlier:[7,50],"goto":[7,50],state:[0,20,1,2,7,21,4,23,26,51,28,56,11,12,38,50,47,36,69,49],getcwd:[64,59],argu:[19,33,23,24,69,45,34,18],lab:[7,50],org:[0,33,40,2,41,21,4,42,64,56,51,10,18,59],"byte":[40,42,25,54],care:[0,7,24,28,56,49,50,34],reusabl:[19,45,7,50],couldn:[7,2,59,64,50,51],yarko:[10,41],synchron:[21,4],junit:[40,64,42,59],recov:[7,50],thing:[0,2,21,5,7,9,12,18,33,4,24,34,36,23,40,17,42,44,56,50,51,59,64,69],place:[0,21,5,7,16,18,19,4,24,26,28,31,32,34,70,33,40,17,42,45,46,47,49,50,63,56,59,64],greenhous:[52,40,42,62],principl:[23,20,7,3,47,69,26,64,38,50,37,59],typic:[0,33,7,2,32,47,23,69,26,64,56,67,29,50,51,18,63,59],think:[0,2,21,5,7,9,10,17,18,19,4,32,33,23,40,41,42,44,45,50,51,63,56,59,64,69],frequent:[7,50],first:[0,1,37,21,40,9,11,12,3,18,19,20,4,25,26,28,38,32,33,36,23,7,42,44,45,47,67,49,50,54,56,29,59,64,69,63],origin:[19,33,40,32,7,21,4,25,42,64,45,63,50,18,54,59],directli:[0,1,29,7,59,42,5,40,64,56,11,67,50,17],carri:[7,2,47,26,50,51],onc:[33,23,40,32,41,21,4,69,42,7,13,50,10,35,18,63],arrai:[0,23,40,7,3,42,69,25,28,56,47,49,50,37,26,54],getcost:[63,32],crib:[58,68],yourself:[0,40,41,47,42,5,26,7,56,50,10,17],submit:[10,41,64,59],ring:[40,42],open:[40,29,7,4,21,5,26,42,64,24,47,67,50,34,17,59],size:[40,17,4,21,5,42,64,32,63,59],given:[40,29,7,4,21,67,25,42,28,47,12,49,50,36,26,54],"__subclasses__":[28,39,65,44,9,49],stuck:[40,64,42,59],teardown:[64,59],caught:[26,47],adjac:[21,4],plastic:[7,50],necessarili:[24,34,29,67],circl:[26,28,47,49],showdigit:[26,47],white:[20,7,4,21,64,38,50,59],conveni:[1,4,21,24,42,40,28,11,12,49,32,34,36,63],cite:[25,54],simionato:[33,18],cope:[7,50],copi:[7,41,4,21,5,26,47,12,50,10,17,36],specifi:[0,40,17,47,42,5,26,64,28,56,49,59],broadcast:[26,47],newcolor:[21,4],enclos:[63,32],enigma:[7,50],changeavail:[26,47],holder:[7,50],than:[0,2,21,65,7,9,12,10,19,18,23,4,24,28,32,33,34,36,39,40,41,42,44,45,49,50,51,63,56,59,64,69],png:[10,41],serv:[23,69,28,49],setattr:[1,11],applet:[29,67],were:[0,33,40,7,47,42,26,64,28,56,49,50,18,59],posit:[25,54,21,4],stub:[12,36],surrog:[2,32,12,63,37,51,36,3],seri:[33,18],launchpad:[20,41,60,34,5,8,24,38,10,17],coconut:[0,56],nicer:[21,37,4,3],argument:[0,2,21,7,18,33,20,4,26,28,38,23,40,42,56,47,49,50,51,59,64,69],prt:[40,42],properli:[33,40,42,7,44,9,50,18],deliv:[40,42],breakfast:[21,4],kevin:[21,4],leastsquar:[2,51],engin:[39,29,59,65,64,67],techniqu:[19,39,1,7,6,28,45,11,49,50,65,43],wink:[29,67],note:[0,1,2,21,7,8,10,11,12,16,18,19,20,4,23,24,25,26,27,28,30,38,32,34,36,33,40,41,42,45,46,47,49,50,51,54,56,57,59,60,64,66,69,63],forc:[0,19,40,17,21,4,23,5,56,42,64,28,45,12,49,36,69,59],ideal:[40,42],take:[0,1,2,37,21,5,65,40,8,11,3,19,18,23,4,26,28,32,33,39,7,17,42,45,47,67,49,50,51,63,56,29,59,60,64,69],green:[21,4],noth:[23,7,2,4,21,24,25,64,50,51,34,69,54,59],rsrc:[21,4],begin:[0,33,40,42,23,24,69,7,56,50,34,18],sure:[0,40,17,42,5,56],trace:[33,4,21,64,18,59],normal:[0,39,1,2,7,59,42,23,65,40,64,56,11,28,49,50,51,69],track:[7,17,4,21,5,26,47,12,50,36],price:[7,17,50,47,5,26,32,63],drinkcompon:[63,32],pair:[7,37,50,3],neatli:[12,36],mainstream:[33,18],televis:[1,11],latex:[24,34],synonym:[23,69],later:[33,23,1,2,41,32,69,64,7,28,11,49,50,51,10,18,63,59],drive:[29,67],quantiti:[1,4,21,26,7,11,50,47],addbranch:[10,41],runtim:[20,40,2,42,28,38,51,49],parseint:[21,4],link:[2,41,24,34,51,10],shop:[5,17,63,32],shot:[7,63,32,50],linedata:[2,51],show:[0,1,2,6,7,11,10,18,19,24,27,28,30,33,34,23,40,41,42,43,45,49,50,51,56,59,64,69],cheat:[10,41],cheap:[23,7,69,50],mousetrap2test:[26,47],concurr:[6,43,38,20],permiss:[64,59],hack:[10,41],ground:[40,42],xml:[37,3],onli:[0,1,2,37,21,5,65,7,9,11,12,3,19,18,33,4,23,24,26,28,32,34,36,39,40,17,42,44,45,47,67,49,50,51,63,56,29,59,64,69],explicitli:[0,33,40,7,42,28,56,49,50,18],nexta:[26,47],fenc:[23,69],nextc:[26,47],transact:[23,69],fillabl:[7,50],observedflow:[21,4],behind:[23,12,69,36],doubleespresso:[63,32],black:[20,40,4,21,42,64,38,59],analyz:[23,69],jaroslav:[7,50],clearselect:[26,47],proxy2:[12,36],nearli:[64,59],viewpoint:[7,50],distinctli:[26,47],ddaluminum:[7,50],cannot:[0,39,1,29,7,47,42,23,65,26,40,56,45,11,67,50,19,69],ssh:[10,41],afunct:[33,18],gen:[28,49],requir:[0,37,21,7,13,3,18,19,4,26,28,32,33,35,23,40,42,45,47,49,50,63,56,57,59,64,66,69],jtextfield:[40,42],prime:[7,59,21,64,4,50],reveal:[25,54],isemptyxi:[25,54],aluminum:[7,50],dramat:[64,59],yield:[39,43,6,44,28,49,65,9],spameggssausageandspam:[40,42],expedi:[64,59],pynam:[40,42],through:[0,1,2,21,5,40,9,11,12,18,19,4,24,26,28,33,34,36,23,7,17,42,44,45,47,49,50,51,56,59,64,69],where:[0,2,21,5,7,10,13,16,17,18,33,4,25,28,46,35,23,40,41,42,44,56,47,49,50,51,54,9,69,26],vision:[5,17],summari:[20,40,42,7,38,50],wiki:[33,7,2,50,51,18],caller:[7,28,50,49],truli:[40,42],pydictionari:[40,42],booch:[7,50],cafelattewet:[63,32],testcas:[40,42],rmi:[12,36],purest:[2,51],concern:[33,7,59,64,50,18],detect:[7,58,42,68,25,40,44,50,9,54],charat:[40,42],review:[33,20,41,59,64,38,10,18],enumer:[19,47,26,44,9,45],label:[40,42],getattr:[36,1,12,11],trashbinset:[7,50],between:[23,40,7,4,21,26,42,64,47,12,50,36,69,59],"import":[0,21,5,65,7,9,13,23,4,24,26,28,34,35,39,40,17,42,44,56,47,67,49,50,29,59,64,69],item2:[44,9],across:[40,28,42,49],aslist:[40,42],assumpt:[39,7,50,65],parent:[10,40,41,42],tup:[40,42],screen:[7,29,4,21,64,67,50,59],inflex:[63,32],cycl:[0,56],pythoncardapp:[21,4],findminima:[2,51],come:[0,1,21,5,40,11,13,23,4,25,28,35,7,17,42,56,47,49,50,54,59,64,69,26],readlin:[40,47,42,25,7,50,26,54],ispubl:[64,59],pepperdew:[63,32],quiet:[7,50],contract:[5,17],tutori:[10,41],improv:[0,20,1,17,60,47,5,26,7,8,56,24,11,38,50,34],somecondit:[64,59],minima:[2,51],color:[4,21,24,25,34,54],overview:[7,50],unittest:[40,47,42,26,7,64,50,59],period:[0,56],dispatch:[39,7,4,21,20,65,28,44,38,50,9,49],yearli:[7,50],colon:[0,56,40,42],exuperi:[23,69],consider:[20,7,50,38,32,63],mousetrap:[26,47],math:[40,21,42,7,4,50],coupl:[23,20,7,38,50,69],games2:[28,49],west:[25,54],rebuild:[40,42],mark:[0,23,56,69],appframework:[29,67],quiesec:[26,47],reflex:[23,69],astonish:[23,69],spare:[0,56],emphas:[40,42,24,7,28,49,50,34],further:[0,33,40,7,21,4,20,24,42,64,56,38,50,34,18,59],trantabl:[26,47],cafelatteextraespresso:[63,32],lectur:[31,70],"__eq__":[26,44,47,9],former:[19,45,1,11],hasattr:[58,68],newbyt:[25,54],sound:[5,33,18,17],myself:[33,18,31,70],tostr:[40,42],keygen:[10,41],new_f:[33,18],cast:[40,50,42,7,37,3],invok:[0,33,7,50,64,44,56,9,32,18,63,59],outcom:[49,9,28,44],invoc:[63,32],anytim:[24,34,21,4],advantag:[19,1,47,42,26,7,45,11,40,50],canon:[20,27,38,30],ivi:[10,41],worri:[19,17,5,45,24,34],endswith:[35,13],good:[0,23,40,41,47,42,34,5,26,64,7,56,24,50,10,17,69,59],eras:[49,59,64,28],myapp:[29,67],couplet:[7,50],fame:[7,50],"__init__":[0,1,2,37,21,40,9,11,12,3,18,19,4,25,28,63,32,36,33,7,42,44,45,47,67,49,50,51,54,56,29,59,64,26],develop:[23,20,40,41,59,42,34,5,64,24,38,10,17,69],author:[2,21,4,51],fulful:[2,51],same:[0,1,2,21,40,9,11,12,18,19,4,24,26,28,32,33,34,36,23,7,42,44,45,47,49,50,51,63,56,59,64,69],trip:[5,17],inconsist:[33,18],testrunn:[40,42],customize1:[29,67],pai:[40,17,42,5,7,50],document:[0,33,40,21,4,24,42,64,56,34,18,59],pollut:[23,69],finish:[33,23,40,47,42,69,26,64,18,59],nest:[0,1,28,56,11,49,32,63],foam:[63,32],someon:[21,4],driven:[20,59,47,25,64,62,38,52,26,54],mani:[0,1,21,5,7,11,10,17,18,33,4,26,32,40,41,42,56,47,50,63,59,64],extern:[20,40,47,42,26,7,64,38,50,59],tosynch:[21,4],tradition:[0,56,64,59],hummingbird:[21,4],appropri:[0,39,40,2,7,47,42,23,65,26,64,28,56,49,50,51,69,59],macro:[33,20,2,38,51,18],facad:[37,3],connector:[23,69],pep8:[24,34],gameenviron:[28,49],without:[0,21,5,7,18,19,20,4,24,28,38,32,33,34,23,40,17,42,45,49,50,63,56,59,64,69],model:[23,39,7,32,21,65,4,50,69,63],dimension:[26,37,47,3],arrays2:[0,56],execut:[0,33,40,2,7,21,4,20,44,59,42,64,28,56,38,50,51,18,9,49],when:[0,2,37,21,5,65,7,9,10,12,3,16,17,18,33,4,23,25,28,63,32,46,36,39,40,41,42,44,56,47,49,50,51,54,59,64,69,26],thermostatnight:[40,42],rest:[33,23,40,29,7,47,42,5,69,26,64,28,67,49,50,17,18,59],recyclea:[7,50],aspect:[33,23,40,4,21,69,42,28,49,18],recycleb:[7,50],touch:[39,7,50,65],monei:[5,26,17,47],flavor:[2,51],speed:[40,42],pythondecoratorlibrari:[33,18],except:[33,40,29,47,42,44,7,64,67,9,50,18,26,59],littl:[0,33,7,59,47,23,69,25,64,56,50,18,26,54],identif:[7,50],pile:[23,69],treatment:[7,50],exercis:[1,2,37,21,65,40,11,3,20,4,26,28,38,31,32,70,39,7,42,47,67,49,50,51,63,29,59,64],addmouselisten:[21,4],real:[40,2,42,25,12,51,36,54],around:[0,21,65,12,18,23,4,24,25,28,54,32,33,34,36,39,7,56,49,50,63,59,64,69],read:[0,21,5,7,18,33,20,4,25,38,23,40,17,42,56,47,29,50,54,58,59,68,64,67,69,26],"0079ef2c":[1,11],repaint:[25,54,21,4],grid:[21,4],pop:[40,42,7,50],world:[33,23,2,59,69,64,51,18],rununittest:[64,59],presum:[40,42,7,28,49,50],returnarrai:[40,42],mod:[25,54],saniti:[64,59],colorbox:[21,4],stranger:[23,69],vend:[20,26,38,47],chainofrespons:[2,51],integ:[0,40,21,42,56,4],benefit:[0,7,32,17,4,21,5,56,24,12,50,34,36,63],either:[0,23,40,2,4,21,42,44,9,56,32,51,69,63],output:[0,33,1,29,47,42,24,26,40,64,56,11,67,32,34,18,63,59],margherita:[63,32],manag:[23,39,1,2,21,4,65,26,51,42,40,11,47,69],fulfil:[23,2,12,51,36,69],tulach:[7,50],satisfactori:[7,50],adequ:[0,23,56,69],constitut:[21,4],nonzero:[64,59],regina:[63,32],slice:[40,42],mood:[26,47],chronicl:[23,69],definit:[0,33,40,29,7,59,42,5,64,56,12,50,17,36,18,67],evolv:[23,7,59,24,64,50,34,69],exit:[33,4,21,25,64,18,54,59],inject:[33,40,18,42],complic:[7,50,64,12,32,36,63,59],ratcount:[25,54],refer:[0,1,47,5,9,11,12,16,23,24,25,28,63,32,34,36,7,17,44,56,46,49,50,54,59,64,69,26],power:[33,1,7,42,40,11,50,18],cappuccinoextraespressowhip:[63,32],garbag:[64,59],inspect:[10,41],typedbin:[7,50],standpoint:[64,59],"__name__":[0,39,40,2,21,4,65,44,51,42,64,28,56,9,49,32,33,18,63,59],bazaar:[10,20,41,38],"throw":[19,40,47,42,26,64,28,45,49,59],comparison:[40,47,42,26,28,49],central:[19,7,47,26,45,50],greatli:[7,50],strategypattern:[2,51],wikic:[7,50],panna:[63,32],currentlin:[25,54],stand:[23,39,7,65,12,50,36,69],neighbor:[21,4],act:[33,23,7,2,69,50,51,18],other:[0,1,2,37,21,5,65,7,9,11,12,3,10,17,19,18,33,20,4,23,24,25,26,27,28,30,38,32,34,36,39,40,41,42,44,45,47,67,49,50,51,54,56,29,59,64,69,63],routin:[12,36],effici:[7,50],lastli:[19,45],quietli:[40,42],"75f":[63,32],strip:[7,50,47,26,64,32,63,59],counterintuit:[7,50],your:[0,1,2,21,5,65,7,9,11,12,10,17,19,20,4,23,24,26,27,28,30,38,32,34,36,39,40,41,42,44,45,47,29,49,50,51,63,56,58,59,68,64,67,69],wustl:[7,50],log:[21,4],aren:[0,23,37,24,64,56,3,34,69,59],hee:[12,36],interfac:[0,2,37,21,65,7,8,12,3,19,23,20,4,26,28,38,32,36,39,40,42,45,47,49,50,51,63,56,60,69],low:[23,7,69,50],lot:[0,23,40,7,47,42,5,26,64,56,50,17,69,59],submiss:[10,41],strictli:[7,50],machin:[20,58,41,47,68,26,38,10],stage:[23,7,50,32,69,63],enough:[40,41,4,21,24,42,64,7,28,34,49,50,10,59],tupl:[0,40,42,44,9,56],bundl:[37,3],regard:[23,69],vendingmachin:[26,47],stepanov:[19,45],conciev:[26,47],"0076aa3c":[1,11],functor:[2,51],mice:[26,47],conclus:[19,45],faster:[40,64,42,59],pull:[40,41,42,7,50,10],tripl:[0,56],algorithm:[19,20,7,2,4,21,23,25,28,45,38,50,51,69,54,49],impenetr:[64,59],possibl:[0,1,47,5,40,11,12,18,33,24,25,28,63,32,34,36,23,7,17,42,56,49,50,54,59,64,69,26],"default":[40,2,7,4,21,68,25,42,64,58,50,51,54,59],asynchronizedmethod:[21,4],grasp:[0,56],embed:[40,42],connect:[23,1,2,7,4,21,26,51,42,40,11,50,47,69],gone:[40,2,42,51],creat:[0,1,2,37,21,5,6,7,9,11,12,3,10,17,19,18,33,20,4,23,24,25,26,27,28,30,31,32,65,34,36,38,39,40,41,42,43,44,45,47,67,49,50,51,54,56,29,59,63,64,69,70],certain:[40,50,42,26,27,7,47,30,32,63],whatihave2:[37,3],strongli:[0,56,40,42],file:[0,2,21,7,20,4,24,25,27,30,38,34,40,42,56,47,67,50,51,54,29,59,64,26],jargon:[39,65],rearrang:[19,45],cream:[63,32],incorrect:[19,45],again:[0,40,17,59,42,5,7,64,56,50],setval:[40,42],googl:[10,41],unassign:[10,41],tradeoff:[63,32],compel:[23,35,69,13],orient:[0,33,40,2,7,42,23,69,28,56,49,50,51,18],field:[0,40,4,21,24,26,42,64,56,47,34,59],valid:[40,64,42,59],compet:[44,9],elementat:[25,54],you:[0,1,2,37,21,5,65,7,9,10,11,12,13,3,16,17,19,18,33,20,4,23,24,25,26,27,28,30,38,32,34,35,36,39,40,41,42,44,45,46,47,29,49,50,51,54,56,58,59,68,64,67,69,63],getdescript:[63,32],interactwith:[28,49],architectur:[23,40,17,4,21,5,42,69],poor:[7,50],registri:[40,42],sequenc:[0,19,40,2,56,47,42,23,26,7,45,50,51,69],tbin:[7,50],vocabulari:[23,69],pool:[1,11],reduc:[63,64,32,59],bulk:[24,34,7,50],multiplejython:[40,42],opennotifi:[21,4],directori:[40,59,42,24,7,64,50,34],descript:[7,50,47,26,1,64,11,32,63,59],hello:[33,40,42,47,26,18],gradient:[23,69],mass:[21,4],potenti:[23,69,21,4],escap:[26,47],cpu:[58,68],represent:[26,47],all:[0,1,2,21,5,65,7,9,10,11,12,16,17,19,18,33,4,23,24,26,28,32,34,36,39,40,41,42,44,45,46,47,67,49,50,51,63,56,29,59,64,69],skeleton:[12,36],messi:[7,58,68,9,44,50],lack:[64,59],dollar:[26,47],sanitycheck:[64,59],monti:[0,56],abil:[33,39,40,17,21,4,23,5,65,42,24,34,69,18],follow:[0,21,5,7,9,12,10,17,18,33,4,24,26,28,32,34,36,23,40,41,42,44,56,47,49,50,63,59,64,69],princ:[23,69],hashmap:[40,47,42,26,7,50],edong:[10,41],"__cmp__":[40,26,47,42],init:[29,67],program:[0,1,2,21,5,40,9,11,18,19,20,4,24,26,27,28,30,38,33,34,23,7,17,42,44,45,47,49,50,51,56,59,64,69],those:[0,21,5,7,9,18,33,4,28,31,70,23,40,17,42,44,56,49,50,59,64,69],contentpan:[40,42],"case":[0,1,2,21,5,40,9,11,12,18,19,4,25,28,36,33,7,17,42,44,45,49,50,51,54,56,59,64],liter:[0,56,44,9],straightforward:[23,40,42,7,50,69],fals:[40,47,42,26,7,50],checkin:[10,41],util:[0,19,40,41,21,4,42,64,56,45,10,59],candid:[19,23,45,69],mechan:[0,19,7,2,56,20,24,51,44,9,45,12,29,38,50,33,34,36,18,67],failur:[23,2,59,64,51,69],veri:[0,1,2,21,5,9,11,10,17,18,33,20,4,24,25,28,38,34,23,40,41,42,44,56,49,51,54,59,64,69],bruceeckel:[19,23,59,64,45,69],lisp:[33,18],list:[0,2,21,5,7,8,9,13,18,33,4,26,28,35,23,40,17,42,44,56,47,67,49,50,51,29,59,60,64,69],cafelattedecaf:[63,32],emul:[21,4],small:[23,17,5,24,32,34,69,63],everth:[30,27],dimens:[21,4],pyobject:[40,42],tea:[63,32],eas:[7,50,47,26,32,63],tee:[12,36],zero:[40,64,42,59],pressur:[64,59],design:[0,1,2,37,21,65,7,11,12,3,19,18,33,20,4,23,24,26,28,38,32,34,36,39,40,42,45,47,49,50,51,63,56,59,64,69],pass:[0,1,2,37,21,65,7,9,11,12,3,10,18,33,4,26,28,32,36,39,40,41,42,44,56,47,49,50,51,63,59,64],whene:[12,36],val2:[0,56],trick:[40,42,7,50],deleg:[1,7,11,12,50,36],brien:[7,50],ntotal:[7,50],advanc:[2,41,5,51,10,17],abl:[2,47,5,7,9,12,19,24,25,28,34,36,23,40,17,42,44,45,67,49,50,51,54,29,59,64,69,26],brief:[0,56],overload:[0,40,42,7,56,50],version:[0,1,37,21,5,7,10,11,3,16,17,18,33,4,24,26,28,46,40,41,42,44,56,34,47,49,50,9],succinct:[33,40,18,42],fillbin:[7,50],method:[0,1,2,37,21,65,40,9,11,12,3,18,23,20,4,26,28,38,32,33,36,39,7,42,44,56,47,67,49,50,51,63,29,59,64,69],contrast:[0,56],movement:[23,7,2,50,51,69],detectcpu:[58,68],hasn:[50,7,21,4],full:[0,40,41,42,56,12,10,36],themselv:[0,23,4,21,56,69],variat:[23,1,3,47,69,26,7,11,50,37],sophist:[0,40,59,42,64,28,56,49],rlock:[21,4],shouldn:[10,2,41,51],excess:[26,47],demet:[23,69],rudimentari:[0,56],modifi:[0,1,21,5,65,40,9,11,18,33,4,24,26,28,34,39,7,17,42,44,56,47,49,50,59,64],valu:[0,33,40,7,50,42,26,64,44,56,47,9,3,18,37,59],search:[0,20,7,29,59,64,56,67,38,50],upcast:[7,28,50,49],ahead:[0,56,64,59],vegetarian:[63,32],observ:[23,20,1,7,4,21,26,64,11,38,50,47,69,59],prior:[40,42,7,50],amount:[40,2,7,47,42,26,27,64,30,50,51,59],pick:[7,50],action:[23,20,40,2,7,47,42,26,28,12,38,50,51,36,69,49],introductori:[0,20,17,5,56,38,33,18],scurri:[25,54],pytupl:[40,42],via:[40,17,42,5,7,44,50,9],shorthand:[40,42],primit:[40,42,7,50],transit:[20,26,38,47],readili:[23,69],filenam:[25,7,54,50],inappropri:[40,64,42,59],ystart:[25,54],famili:[7,2,9,44,50,51],establish:[0,19,7,56,59,47,26,64,45,50],jbutton:[40,42],select:[23,20,7,2,41,4,21,24,26,32,34,47,38,50,51,10,69,63],kittiesandpuzzl:[28,49],aggress:[0,56],twa:[40,42],proceed:[7,50],distinct:[23,1,2,7,47,42,26,40,11,12,50,51,36,69],etc:[33,7,2,41,32,67,5,28,44,16,29,9,49,50,51,10,17,18,63,46],tackl:[7,50],two:[0,1,37,21,5,65,40,9,11,12,13,3,18,33,4,26,28,35,36,39,7,17,42,44,56,47,67,49,50,29,59,64],bizarr:[33,18],autonom:[25,54],taken:[40,7,59,42,24,64,28,49,50,34],showtot:[26,47],singletonmetaclass:[1,11],more:[0,1,2,37,21,5,65,7,9,11,12,3,10,17,19,18,33,20,4,23,24,25,26,28,31,32,34,36,38,39,40,41,42,44,45,47,67,49,50,51,54,56,29,59,63,64,69,70],flaw:[64,59],door:[26,47],mydialog:[40,42],apologet:[33,18],reconfigur:[39,65],convinc:[64,59],ddcardboard:[7,50],flag:[40,42,21,4],stick:[33,18],particular:[0,1,2,47,5,40,11,12,19,25,28,63,32,36,23,7,17,42,45,49,50,51,54,56,59,64,69,26],known:[7,50],compani:[5,17],dictat:[5,17],none:[1,4,21,26,42,40,64,11,47,59],pyprog:[64,59],valuabl:[7,50],dev:[10,41],histori:[33,20,13,35,18,38],testdemo2:[64,59],remain:[19,7,47,26,45,50],caveat:[16,46,64,59],learn:[0,23,7,17,5,56,24,50,34,69],returnchang:[26,47],statedemo:[12,36],dee:[12,36],def:[0,1,2,37,21,65,7,9,11,12,3,19,18,33,4,25,28,63,32,36,39,40,42,44,45,47,29,49,50,51,54,56,58,59,68,64,67,26],prompt:[10,41],scan:[24,34],challeng:[25,54],registr:[10,20,41,38],share:[1,41,5,11,10,17],accept:[19,39,40,41,42,65,7,45,50,10],fiddl:[12,36],minimum:[0,40,41,4,21,42,56,10],explor:[19,45],statet:[26,47],phrase:[64,59],magenta:[21,4],condemn:[7,50],huge:[63,32],cours:[23,40,32,7,50,42,5,69,64,8,28,60,12,49,3,17,36,37,63,59],newlin:[0,56],awkward:[40,42],secur:[33,40,18,42],programmat:[63,32],anoth:[0,1,2,21,65,7,11,12,10,18,23,4,26,28,32,33,36,39,40,41,42,56,47,49,50,51,63,69],mouseact:[26,47],myratno:[25,54],mvc:[21,4],smalltalk:[23,69,21,4],simpl:[0,37,21,7,12,3,20,4,26,28,38,36,40,42,56,47,67,49,50,29,59,64],plant:[7,50],resourc:[20,41,21,4,25,64,38,3,10,37,54,59],algebra:[19,45],variant:[7,50],reflect:[20,40,59,42,7,64,38,50],tabl:[0,39,36,56,47,20,65,26,44,9,45,62,12,38,52,19],associ:[0,56,7,50],"short":[0,56,58,68],waysid:[64,59],confus:[0,39,7,56,21,4,65,50,3,33,18,37],mousemovelist:[26,47],ambigu:[40,42],caus:[23,39,40,41,21,4,65,26,42,64,7,28,47,49,50,10,69,59],flwr:[39,65],setchang:[21,4],egg:[0,56,1,11],sysctl:[58,68],help:[23,7,41,21,4,34,5,24,12,31,50,10,17,36,69,70],soon:[64,59],held:[23,47,26,12,36,69],pythondialog:[40,42],paper:[7,44,50,9],scott:[23,69],cyan:[21,4],hierarchi:[23,39,7,2,65,28,44,12,49,50,51,69,36,9],taxonomi:[23,20,69,38],implicitli:[0,23,40,42,28,56,49,69],paramet:[2,51],latt:[63,32],style:[0,2,59,47,24,26,64,56,51,34],exact:[7,47,26,28,44,49,50,9],sale:[5,17],conjugategradi:[2,51],alli:[31,70],late:[7,63,32,50],html:[0,33,40,41,42,24,7,56,34,50,10,18],rapidli:[21,4],runal:[26,47],might:[2,21,5,9,18,19,4,23,25,28,33,7,17,44,45,49,50,51,54,59,64,69],currentst:[26,47],wouldn:[7,59,64,28,49,50],clariti:[24,34,63,32],"return":[0,1,2,37,21,65,7,9,11,12,3,19,18,33,4,25,28,63,32,36,39,40,42,44,45,47,49,50,51,54,56,58,59,68,64,26],martelli:[1,11],ttbinlist:[7,50],framework:[23,20,40,29,47,42,26,64,67,38,69,59],somebodi:[5,10,41,17],complain:[0,56],bigger:[40,26,47,42],whatiw:[37,3],intricaci:[28,49],customize2:[29,67],hook:[21,4],solver:[2,51],unlik:[0,7,2,59,64,56,50,51],easili:[23,1,2,7,50,42,69,44,51,40,64,11,9,3,47,37,26,59],achiev:[33,1,7,32,42,40,11,50,18,63],compris:[33,18],getmodifi:[64,59],found:[33,23,7,41,32,69,25,64,63,50,10,18,54,59],max_num:[7,50],proxyadapt:[37,3],decoratorwithoutargu:[33,18],harm:[20,7,47,26,38,50],weight:[7,50],hard:[19,39,7,24,65,28,45,49,50,34],idea:[2,47,5,7,12,10,17,18,33,24,26,28,31,34,36,70,23,40,41,42,49,50,51,69],procedur:[7,50],realli:[0,23,1,2,7,50,42,69,26,51,40,56,11,3,47,37],iter:[0,19,40,7,47,42,20,56,23,28,64,45,59,55,38,50,53,69,26,49],windowadapt:[21,4],ddpaper:[7,50],event:[23,40,29,4,21,25,42,67,69,54],flower:[39,4,21,20,65,38],safeti:[0,56,64,59],classvariablesingleton:[1,11],differentreturn:[0,56],actionperform:[40,42],setsiz:[25,54,21,4],publish:[40,17,59,42,5,7,64,50],academia:[2,51],footnot:[23,1,2,7,47,42,26,40,64,11,50,51,69,59],gameelementfactori:[28,49],print:[0,1,2,21,5,65,7,9,11,12,13,18,33,20,4,24,25,26,28,38,32,34,35,36,39,40,17,42,44,56,47,67,49,50,51,54,29,59,64,63],qualifi:[0,56,64,59],lutz:[0,56],proxi:[19,20,1,32,47,23,69,26,45,11,12,38,3,36,37,63],hashset:[40,42],reason:[0,2,37,47,5,7,12,3,18,33,26,28,32,36,23,40,17,42,56,49,50,51,63,59,64,69],base:[0,1,2,21,5,65,40,9,11,12,23,4,25,28,36,39,7,17,42,44,56,47,67,49,50,51,54,29,59,64,69,26],ask:[19,23,40,32,41,4,21,69,25,42,28,7,45,49,50,10,63,54],teach:[20,17,59,5,64,70,31,38],bash:[64,59],basi:[21,64,4,59],thrown:[7,50],thread:[41,4,21,25,10,54],script:[0,20,40,2,42,24,56,38,51,34],struggl:[23,69],revolutionari:[64,59],perhap:[39,40,7,50,42,24,65,64,28,49,3,34,37,59],pythonsw:[40,42],ascher:[0,56],trashsort:[7,50],lifetim:[12,36],assign:[0,33,40,41,42,56,10,18],singleton:[23,20,1,37,47,26,11,38,3,69],notifi:[21,4],obviou:[19,45,7,50],blush:[7,50],feel:[23,59,24,64,34,69],articl:[10,27,41,30],number:[0,1,2,37,21,7,8,9,11,12,3,10,18,33,4,24,25,63,32,34,36,23,40,41,42,44,56,47,50,51,54,58,59,60,68,64,69,26],placehold:[26,47],sayhello:[33,18],done:[0,40,2,41,21,4,34,5,42,64,28,56,24,49,51,10,17,59],construct:[19,33,40,59,42,64,45,18],colorboxestest:[21,4],slower:[23,40,69,42],miss:[23,40,42,7,50,69],fanci:[26,47],razor:[23,69],differ:[0,2,21,65,7,9,12,10,19,18,23,4,26,28,32,33,36,39,40,41,42,44,45,47,49,50,51,63,56,59,64,69],decoupl:[19,20,2,4,21,45,38,51],printstacktrac:[7,64,50,59],interact:[39,40,37,42,65,28,44,49,3,9],tove:[40,42],least:[0,23,40,41,59,42,64,7,56,50,10,69],addfactori:[28,49],paint:[24,34,25,54],statement:[0,33,40,2,7,21,4,26,42,64,28,56,47,12,49,50,51,36,18,59],scheme:[39,7,4,21,65,50],syrup:[63,32],store:[33,59,47,26,64,18],itempairgen:[44,9],imperfect:[24,34],option:[0,23,2,41,21,4,5,56,32,51,10,17,69,63],relationship:[23,69],checklist:[23,69],shapefactory1:[28,49],shapefactory2:[28,49],part:[0,2,21,5,7,71,14,15,10,17,18,33,20,4,25,38,32,23,40,41,42,56,61,22,48,50,51,54,29,59,64,67,69,63],pars:[0,20,7,44,9,56,38,50],consult:[5,17],off:[0,23,40,17,4,21,5,27,7,56,30,50,69,42],eventu:[23,41,59,64,10,69],tortoisehg:[10,41],albeit:[0,23,40,42,7,56,50,69],kind:[0,21,5,65,7,9,12,19,18,23,4,26,28,33,36,39,40,17,42,44,45,47,49,50,56,59,64,69],plop:[7,50],whenev:[33,23,7,29,4,21,69,28,67,49,50,18],remot:[12,36],gotten:[26,47],remov:[19,23,7,41,4,21,5,26,45,47,50,10,17,69],kapow:[40,42],pythoninterpret:[40,42],reus:[23,1,2,7,47,42,26,40,11,29,50,51,69,67],getconstructor:[40,42,7,50],toward:[23,69,64,59],danc:[12,36],builder:[40,42],runsawai:[26,47],comput:[40,42,7,50],nastyweapon:[28,49],ardent:[64,59],requisit:[64,59],"null":[59,47,25,64,12,36,26,54],sell:[5,17],imagin:[7,28,50,49],wilson:[33,18],built:[0,20,40,2,7,21,4,23,5,42,64,56,12,38,50,51,17,36,69,59],equival:[0,40,7,4,21,42,64,56,50,59],jythonc:[40,42],self:[0,1,2,37,21,65,7,9,11,12,3,19,18,23,4,25,28,63,32,33,36,39,40,42,44,45,47,67,49,50,51,54,56,29,59,64,69,26],violat:[40,42],typediter:[19,45],also:[0,1,2,21,5,7,11,10,17,18,19,4,23,24,25,26,28,31,32,34,70,33,40,41,42,45,62,47,49,50,51,52,54,56,59,64,69,63],bgboxobserv:[21,4],build:[0,37,5,65,7,3,10,17,19,20,24,28,38,34,39,40,41,42,45,67,49,50,56,29,59,64],mouseev:[21,4],brace:[0,56],distribut:[41,24,28,34,49,10],exec:[40,42],unsur:[10,41],blackboard:[25,54],eater:[39,65],lighton:[40,42],reach:[23,2,25,51,69,54],mixtur:[63,32],addobserv:[21,4],most:[2,21,5,7,18,33,4,28,32,23,40,17,42,67,49,50,51,63,29,59,64,69],plai:[39,7,65,28,49,50],cygwin:[10,41],eaten:[39,65],thidiscuss:[2,51],maco:[58,68],amaz:[33,40,42,25,18,54],fileread:[25,54],bzr:[10,41],bug:[39,7,41,59,65,64,50,10],clear:[33,23,17,4,21,5,69,26,47,18],cover:[57,29,17,59,5,64,24,66,67,34],roughli:[26,64,47,59],"_shared_st":[1,11],"0076b7ac":[1,11],clean:[0,40,59,42,7,64,56,50],xstart:[25,54],usual:[0,33,40,29,7,59,42,23,69,64,56,67,50,18],mousetrap2:[26,47],mousetrap1:[26,47],test3:[40,64,42,59],flowergen:[39,65],canvaswidth:[25,54],particularli:[0,7,24,44,9,56,50,34],uncov:[40,42],font:[5,40,17,42],fine:[7,28,50,49],find:[0,2,5,7,10,17,18,33,24,28,32,34,23,40,41,42,56,49,50,51,63,59,64,69],impact:[33,7,18,50],less:[33,23,7,50,24,69,64,32,34,18,63,59],solut:[1,2,21,40,9,11,23,4,26,28,32,7,42,44,47,49,50,51,63,59,64,69],pyutil:[40,42],templat:[0,2,47,5,7,18,19,20,24,26,28,38,34,33,40,17,42,56,67,49,50,51,45,29],factor:[0,23,40,59,42,64,56,69],shapefact1:[28,49],unus:[23,69],cappuccinodecaf:[63,32],express:[0,23,40,59,42,24,69,64,44,56,34,9],swing:[40,42],nativ:[40,42],mainten:[7,63,32,50],wateroff:[40,42],doubli:[21,4],cyclic:[26,47],stl:[19,40,2,42,45,51],common:[0,21,5,7,12,23,4,26,28,31,36,70,40,17,42,56,47,49,50,59,64,69],wrote:[40,64,42,59],commod:[7,50],set:[0,1,2,37,21,5,40,9,11,3,18,33,4,26,28,32,7,17,42,44,56,47,67,49,50,51,63,29,59,64],pyexcept:[40,42],adopt:[64,59],creator:[2,41,60,8,51,10],cleverli:[24,34],potent:[40,42],see:[0,1,2,37,21,5,7,10,11,12,3,16,17,18,19,4,26,28,32,33,46,36,23,40,41,42,45,62,47,67,49,50,51,52,63,56,29,59,64,69],bare:[21,4],aluminumbin:[7,50],arg:[0,33,1,7,21,4,25,42,40,64,56,11,50,18,54,59],close:[4,21,25,64,47,26,54,59],horizont:[25,54],cafelatt:[63,32],analog:[0,56],dwarf:[39,65],expert:[24,34,2,51],someth:[0,2,37,21,5,65,7,9,3,10,17,18,23,4,24,26,31,32,33,34,70,39,40,41,42,44,56,47,50,51,63,59,64,69],conditionc:[26,47],editsshkei:[10,41],conditiona:[26,47],debat:[24,34],restructur:[5,24,17,34],mutex:[21,4],experi:[33,23,40,17,59,42,5,69,64,18],nope:[64,59],birkenfeld:[10,41],altern:[33,23,40,7,59,42,6,64,50,43,69,18],signatur:[0,56,40,42],str:[0,56,21,4],numer:[2,44,9,67,29,51],hasnext:[19,40,47,42,26,7,64,45,50,59],complement:[23,69],sole:[2,51],isol:[23,7,2,28,49,50,51,69],statemachin:[20,26,38,47],disallow:[28,49],succeed:[2,51],len:[2,4,21,25,64,51,54,59],solv:[0,2,37,21,65,7,9,12,3,23,4,25,36,39,40,42,44,56,47,50,51,54,59,64,69,26],extraespresso:[63,32],water:[40,42],"__instanc":[1,11],last:[39,40,29,42,65,7,67,50],arraylist:[40,59,42,7,64,50],alon:[50,7,21,4],undetermin:[29,67],context:[2,51],forgotten:[30,27],pdf:[5,24,17,34],whole:[40,2,7,4,21,5,26,42,64,47,50,51,17,59],load:[40,7,3,42,25,28,49,50,37,54],randomli:[39,59,64,65],simpli:[0,37,21,65,7,12,3,19,23,4,26,36,39,40,42,45,47,67,50,56,29,69],point:[0,1,2,21,5,8,11,16,18,33,4,24,25,28,34,23,7,17,56,46,47,49,50,51,54,58,59,60,68,64,69,26],schedul:[39,40,42,65],sweep:[64,59],arbitrarili:[40,12,36,42],templatemethod:[29,67],loveandtheft:[33,18],param:[40,42],linux:[10,58,41,68],throughout:[23,7,29,59,24,64,28,67,49,50,34,69],java:[0,21,7,9,12,16,18,19,20,4,25,28,38,46,36,33,40,42,44,45,47,49,50,54,56,59,64,26],dum:[12,36],due:[64,59],empti:[25,54,21,4],sinc:[0,2,21,7,12,10,18,33,4,26,28,32,36,23,40,41,42,56,47,49,50,51,63,59,64,69],newinst:[7,64,50,59],strategi:[20,2,38,51],addison:[7,2,50,51],versa:[0,56],execfil:[40,42],imag:[24,34,21,4],convert:[19,40,29,21,42,26,45,4,67,47],append:[0,40,2,4,21,42,64,56,51,59],coordin:[25,54],changeimp:[12,36],understand:[0,33,1,7,47,42,23,24,69,26,40,56,11,50,34,18],demand:[0,17,59,5,64,28,56,12,49,36],fillablevisitor:[7,50],look:[0,1,2,21,65,7,11,12,10,18,23,4,24,26,28,32,33,34,36,39,40,41,42,56,47,49,50,51,63,59,64,69],packag:[0,40,47,42,26,7,64,56,50,59],frozen:[21,4],buildtabl:[26,47],getquant:[26,47],"while":[0,23,40,2,7,47,42,5,25,64,56,12,50,51,17,36,69,26,54,59],ought:[26,47],abov:[0,1,2,21,5,65,7,11,12,18,33,4,23,24,27,28,30,32,34,36,39,40,17,42,56,49,50,51,63,59,64,69],error:[40,7,4,21,24,26,42,64,47,50,34,59],"__hash__":[26,47],anonym:[20,7,62,38,50,52],fum:[40,42],everyon:[0,17,4,21,5,56,24,31,34,70],errmsg:[64,59],pack:[40,42],argin5:[40,42],argin4:[40,42],pound:[0,56],argin1:[40,42],argin3:[40,42],argin2:[40,42],readi:[7,29,41,5,25,67,50,10,17,54],petal:[21,4],itself:[33,23,40,2,47,42,24,69,25,7,50,51,34,18,26,54],makea:[37,3],coroutin:[6,43,38,20],chase:[28,49],decor:[19,33,1,32,21,4,20,7,45,11,38,50,18,63],guido:[60,8],minim:[23,4,21,64,69,59],boxwidth:[21,4],belong:[5,17],on_openbackground:[21,4],shorter:[40,42],conflict:[10,41],cappucino:[63,32],vertdir:[25,54],optim:[7,50],painless:[7,50],wherea:[0,40,2,47,42,26,7,56,50,51],ponder:[23,69],setbackground:[25,54],user:[19,20,1,41,21,4,5,26,42,40,7,28,45,11,38,50,47,10,17,49],cardboardbin:[7,50],focal:[23,69],recent:[64,59],lower:[23,69],task:[41,4,21,24,34,10],lib:[0,56],eleg:[0,33,1,23,69,7,56,11,12,50,36,18],entri:[33,40,42,24,25,34,18,54],localarrai:[21,4],propog:[21,4],parenthes:[0,56],restfil:[35,13],testpythontojavaclass:[40,42],chees:[26,47],expens:[7,12,36,50],elev:[7,26,47,50],academ:[64,59],imit:[0,56],propos:[10,23,41,69],explan:[40,42],pyfloat:[40,42],valueof:[7,50],obscur:[23,69],choru:[12,36],mysql:[10,41],"67f":[7,50],dumpclassinfo:[40,42],dirlist:[2,51],cut:[7,4,21,50,37,3],indexof:[40,42,7,50],mydecor:[33,18],snag:[21,4],appli:[0,33,7,56,21,4,23,69,26,64,50,47,3,18,37,59],input:[29,47,6,26,67,43],subsequ:[0,56,26,47],brainstorm:[23,69],bin:[7,64,50,59],tomap:[40,42],vendor:[39,7,50,65],format:[0,17,5,56,24,34],big:[0,33,40,42,56,18],intuit:[40,42],game:[49,21,4,28],quest:[23,69],bit:[0,19,40,7,21,4,5,42,28,56,45,12,49,50,33,17,36,18],characterist:[29,67],formal:[0,33,18,56],fillablecollect:[7,50],success:[19,23,40,2,7,59,42,64,45,50,51,69],nextstat:[26,47],signal:[40,42],resolv:[7,50],fluf:[24,34],collect:[23,1,2,7,3,47,69,26,64,11,50,51,37,59],"__new__":[1,11],sizeabl:[63,32],javabean:[40,42],encount:[19,40,7,4,21,42,64,28,45,49,50,59],"0076daac":[1,11],often:[0,2,37,21,5,65,7,3,18,23,4,24,26,27,30,31,32,33,34,70,39,40,17,42,56,47,50,51,63,59,64,69],acknowledg:[0,23,56,69],creation:[0,1,21,5,40,11,18,19,20,4,24,26,28,38,33,34,23,7,17,42,45,47,49,50,56,59,64,69],some:[0,2,37,21,5,6,7,9,3,18,33,4,24,25,28,31,34,70,23,40,17,42,43,44,56,47,29,49,50,51,54,58,59,68,64,67,69,26],back:[33,23,40,2,7,21,4,5,69,25,42,64,47,50,51,17,18,26,54,59],global:[40,64,42,59],understood:[40,64,42,59],wxpython:[21,4],mirror:[23,69],sprint:[5,17],mindview:[40,42],mousepress:[21,4],syndrom:[7,50],rien:[23,69],scale:[40,64,42,59],chocol:[63,32],mousemov:[26,47],though:[33,1,7,21,4,64,11,50,18,59],per:[0,23,21,47,26,56,4,32,69,63],substitut:[0,33,18,56],mathemat:[2,9,44,51],larg:[7,17,47,5,26,57,66,50],market:[39,65],fornam:[7,64,50,59],reproduc:[5,17],norvig:[21,4],cgi:[0,56,7,50],previou:[33,7,17,50,47,5,26,28,49,32,18,63],patient:[40,42],martin:[33,7,18,50],agreement:[40,42],viabl:[23,69],step:[0,19,40,7,59,42,23,5,56,64,28,45,49,50,17,69],initialst:[26,47],major:[0,33,18,56],subtract:[23,69],impos:[19,45,26,47],sellimaginaryproduct:[39,65],boxdesc:[21,4],constraint:[0,19,7,17,47,23,5,69,26,56,45,50,33,18],materi:[17,5,24,70,34,31],memori:[64,59],libero:[26,47],modal:[40,42],cappuccinodrywhip:[63,32],gamma:[23,69],predat:[39,65],repair:[7,50],"__future__":[28,39,65,44,9,49],pythonpath:[0,56],dispens:[26,47],oreilli:[0,56],fowler:[33,7,18,50],rapid:[40,42],"caf\u00e9":[63,32],ensur:[23,41,59,64,12,10,36,69],valuminum:[7,50],artifici:[64,59],occupi:[0,56],inclus:[0,23,56,69],institut:[64,59],spam:[0,1,4,21,56,11],question:[23,7,41,47,26,50,10,69],fast:[0,40,59,42,24,64,56,34],custom:[40,29,50,42,7,67,32,63],clip3:[7,50],clip2:[7,50],clip1:[7,50],arithmet:[25,54],includ:[0,1,21,7,11,10,18,19,4,26,27,30,31,32,33,70,23,40,41,42,45,47,50,63,56,59,64,69],suit:[64,59],forward:[23,40,69,42],jarrai:[40,42],blueprint:[5,10,41,17],larri:[7,50],hawaiian:[63,32],great:[23,40,17,42,5,46,16,69],sc_nprocessors_onln:[58,68],quiescent:[26,47],translat:[21,5,7,9,19,20,4,24,25,28,38,34,23,40,17,42,44,45,47,49,50,54,59,64,69,26],scope:[0,56],line:[0,2,21,7,18,33,20,4,25,27,30,38,40,42,56,47,67,50,51,54,29,59,64,26],talli:[7,50],info:[50,7,21,4],concaten:[0,56],consist:[0,23,7,32,4,21,24,64,28,56,49,50,34,69,63,59],balabanov:[1,11],jpython:[40,42],fillrect:[25,54,21,4],pythoncard:[21,4],similar:[0,33,7,2,21,4,23,69,26,64,56,47,12,50,51,36,18,59],toomuchaccess:[64,59],parser:[7,50],chao:[64,59],doesn:[0,1,37,21,5,40,11,3,18,33,4,24,26,34,23,7,17,42,44,56,47,50,9,69],repres:[0,7,47,26,56,50],"char":[40,42,25,54],research:[5,17,37,3],cafe:[63,32],blackboxtest:[64,59],titl:[40,42,21,4],afford:[2,51],intvalu:[40,42],tbinlist:[7,50],"_imag":[24,34],mouseclick:[21,4],getbound:[25,54],cappuccinoextraespresso:[63,32],nice:[0,5,17,56],draw:[29,25,28,44,67,49,9,54],getdeclaredclass:[64,59],pythoninterpreterget:[40,42],state_d:[12,36],topydictionari:[40,42],decoratorfunctionwithargu:[33,18],eval:[49,9,28,44],itemavail:[26,47],pricevisitor:[7,50],lang:[40,42,7,50],jc2:[40,42],vice:[0,56],downcast:[7,50],actionlisten:[40,42],entryset:[40,42],dvc:[10,41],discrimin:[0,56],jpanel:[21,4],greenhousecontrol:[40,42],mindlessli:[7,50],dot:[40,42],far:[0,23,7,59,64,56,50,69],java2pi:[40,42],scroll:[40,42],prototyp:[23,20,40,42,7,38,50,69],code:[0,2,21,65,7,12,10,19,18,33,20,4,23,25,26,27,28,30,31,32,36,38,39,40,41,42,45,62,47,67,49,50,51,52,54,56,29,59,63,64,69,70],partial:[0,56],unclassifi:[7,50],scratch:[33,40,18,42],tclone:[7,50],"__getattr__":[36,1,12,11],edu:[33,7,18,50],benevol:[5,17],privat:[1,29,41,21,4,42,40,64,11,67,10,59],elsewher:[24,34],friendli:[64,59],send:[0,40,17,42,5,7,56,12,50,36],granular:[64,59],becam:[64,59],paperscissorsrock2:[44,9],sens:[0,33,7,2,32,23,69,64,28,56,49,50,51,18,63,59],ajout:[23,69],sent:[40,42],func2:[33,18],func1:[33,18],cheapli:[40,42,7,50],misappl:[7,50],sausag:[1,11],mous:[47,26,21,4],testdemo:[64,59],electron:[5,24,17,34],alik:[5,17],volum:[5,24,17,34],whatius:[37,3],makeschang:[26,47],kitti:[28,49],tri:[7,2,50,51],magic:[1,11],counterproduct:[7,50],knight:[12,36],button:[40,28,42,49],hive:[1,11],"try":[2,37,21,7,3,10,18,33,4,24,25,34,23,40,41,42,50,51,54,59,64,69],session:[26,47],mousetraptest:[26,47],myfunct:[0,56],pleas:[17,5,16,10,41,46],boxobserv:[21,64,4,59],"__metaclass__":[1,11],readabl:[0,56],natur:[0,33,7,4,21,24,25,64,56,50,34,18,54,59],verbiag:[0,56],annot:[33,26,18,47],jump:[33,18],slithi:[40,42],binset:[7,50],singletondecor:[1,11],changeneighbor:[21,4],odd:[12,63,36,32],click:[24,34,21,4],ctor:[7,50],compat:[60,8],index:[20,40,2,41,42,24,7,34,38,50,51,10],getclass:[19,39,40,47,42,65,26,7,45,50],compar:[40,2,59,42,7,64,50,51],espresso:[63,32],access:[0,33,1,21,4,64,28,56,11,12,49,36,18,59],deleteobserv:[21,4],runuculu:[39,65],mouseadapt:[21,4],spoken:[7,50],can:[0,1,2,37,21,5,65,7,9,11,12,3,10,17,19,18,33,20,4,23,24,25,26,27,28,30,31,32,34,36,38,39,40,41,42,44,45,47,49,50,51,54,56,59,63,64,69,70],ibid:[23,69],absolut:[0,56],getmethod:[40,42,7,50],closur:[33,18],let:[33,40,7,32,42,24,26,64,28,47,49,50,34,18,63,59],becom:[0,19,40,32,7,4,21,23,26,42,64,56,45,47,50,69,63,59],implicit:[33,18],remark:[0,40,42,7,56,50],talent:[5,17],convers:[40,42],musser:[19,45],larger:[7,50],makec:[37,3],makeb:[37,3],orgpattern:[7,50],fetch:[50,7,21,4],staticmethod:[33,1,37,28,11,49,3,18],earli:[40,59,42,24,64,34,16,46],nameless:[40,42],ratcanmov:[25,54],evalrock:[44,9],chanc:[2,51],win:[39,40,42,65,9,44],app:[21,4],foundat:[20,71,38,61],decrquant:[26,47],pyton:[40,42],expect:[0,33,40,42,23,69,7,44,56,46,9,50,16,18],hennei:[23,69],"boolean":[40,47,42,25,7,64,50,26,54,59],notenough:[26,47],limb:[33,18],newimp:[12,36],puriti:[40,42],fee:[40,42],from:[0,1,2,37,21,5,65,7,9,10,11,12,13,3,16,17,19,18,33,20,4,23,24,25,26,28,31,32,34,35,36,38,39,40,41,42,44,45,46,47,29,49,50,51,52,54,56,58,59,62,63,64,67,68,69,70],stream:[40,42],commun:[5,25,17,54],doubl:[0,39,1,7,42,20,65,44,40,28,56,11,38,50,9,49],addtrash:[7,50],whatihave3:[37,3],next:[19,28,1,2,7,47,42,25,40,64,45,11,49,50,51,26,54,59],implic:[63,32],few:[63,32],camera:[5,17],usr:[64,59],simpler:[33,23,1,7,21,4,69,64,11,12,50,36,18,59],remaind:[7,50],sort:[0,19,40,2,56,42,23,7,45,50,51,69],clever:[23,69],tplus1:[33,18],impress:[7,50],train:[5,17],bufferedread:[25,54],iii:[20,48,38,15],starter:[25,54],account:[41,59,64,32,10,63],chdir:[64,59],retriev:[40,42],critic:[40,42],thin:[28,49],meet:[39,7,47,65,26,50],scatter:[7,50],proof:[7,50],control:[0,1,2,21,7,11,12,10,23,20,4,24,26,28,38,34,36,40,41,42,56,47,49,50,51,69],cafemochawet:[63,32],process:[0,2,47,7,9,10,18,19,24,26,28,32,33,34,23,40,41,42,44,45,67,49,50,51,63,56,29,59,64,69],lock:[5,33,18,17],high:[23,7,69,50],tag:[47,24,26,28,49,34],trashvisitor:[7,50],csum:[7,50],onlin:[24,34,21,4],kevlin:[23,69],delai:[26,47],comedi:[0,56],georg:[10,41],shapenamegen:[28,49],sig:[40,42],feta:[63,32],subdirectori:[40,59,42,7,64,50],instead:[2,21,7,9,10,18,33,4,26,28,32,23,40,41,42,44,47,49,50,51,63,59,64,69],sin:[40,42],overridden:[0,7,29,59,47,26,64,56,67,50],pyarrai:[40,42],hazard:[2,51],callback:[7,2,4,21,50,51],showmsg:[0,56],multipl:[0,1,2,21,65,7,11,10,20,4,24,38,34,39,40,41,42,44,56,50,51,9],"120dpi":[10,41],cheaper:[23,69],physic:[25,54],alloc:[64,59],drop:[7,50],essenti:[0,23,40,2,7,59,42,64,56,50,51,69],seriou:[64,59],correspond:[7,50,64,32,63,59],element:[0,33,40,7,47,42,23,69,26,64,56,50,18,59],issu:[23,1,24,7,11,50,34,69],allow:[2,21,65,7,12,18,33,4,23,26,28,36,39,40,42,47,67,49,50,51,29,69],subtyp:[7,50],horizdir:[25,54],espressodecor:[63,32],move:[2,21,5,7,10,17,23,4,24,25,34,40,41,42,47,50,51,54,59,64,69,26],evolutionari:[7,50],comma:[0,56],bunch:[7,50],perfect:[23,7,17,5,24,50,34,69],outer:[1,21,4,42,40,64,11,3,37,59],chosen:[5,17,21,4],settitl:[21,4],gnomesandfairi:[28,49],decaf:[63,32],criterion:[21,4],tst:[64,59],typemap:[7,50],greater:[40,42],"__getitem__":[40,42],handl:[0,23,7,29,56,67,50,69],spell:[5,17],dai:[5,40,17,42],tribut:[44,9],devel:[10,41],dat:[7,50],mention:[7,2,17,59,5,64,28,49,50,51],snake:[0,56],front:[20,12,38,32,36,63],strive:[7,50],multiprocess:[6,43],somewher:[49,21,4,28],anyth:[33,23,7,17,4,21,5,69,64,24,50,34,18,59],edit:[0,19,40,56,42,7,45,50],tran:[26,47],slide:[31,70],trap:[26,47],truth:[64,59],batch:[0,56],reserv:[64,59],beneath:[29,67],psum:[7,50],flair:[24,34],subset:[7,63,32,50],chung:[1,11],tolist:[40,42],transitiona:[26,47],transitionb:[26,47],transitionc:[26,47],nodecor:[63,32],"static":[0,28,1,32,7,50,42,23,69,26,40,64,56,11,49,3,47,37,63,59],whet:[23,69],our:[33,40,42,7,50,18],patch:[10,41,21,4],transitiont:[26,47],special:[0,40,7,42,28,56,12,49,50,36],out:[0,1,21,5,7,8,9,10,11,16,17,18,33,20,4,24,26,28,38,34,23,40,41,42,44,56,46,47,49,50,58,59,60,68,64,69],variabl:[0,1,47,26,56,11],matt:[33,18],contigu:[21,4],cwr:[25,54],dongwoo:[10,41],categori:[33,23,4,21,18,69],suitabl:[40,42],rel:[7,50],merg:[10,20,41,38],ref:[10,41],clone:[10,7,41,50],red:[25,54,21,4],clarifi:[5,17],insid:[0,33,40,7,21,4,56,42,64,28,50,47,49,3,18,26,37,59],sortintobin:[7,50],manipul:[19,45,40,42],dictionari:[0,40,47,42,26,28,44,56,49,3,37,9],tempt:[12,36],releas:[47,21,26,64,4,59],embarrass:[64,59],correcton:[5,17],could:[0,1,2,21,5,40,11,12,23,4,26,28,36,7,17,42,56,47,49,50,51,59,64,69],put:[0,1,47,5,40,11,18,33,20,24,26,28,38,31,34,70,23,7,17,42,56,49,50,59,64,69],david:[0,23,56,69],length:[40,7,4,21,24,25,42,64,47,50,34,26,54,59],enforc:[64,59],outsid:[0,40,42,7,28,56,49,50],south:[25,54],softwar:[64,59],qualiti:[23,69,64,59],scene:[12,36],echo:[40,42],date:[40,42],cafemochawetwhip:[63,32],flyweight:[26,47],newsingleton:[1,11],facil:[5,17],redund:[2,51],cafemochaextraespressowhip:[63,32],"long":[0,33,1,7,32,42,5,40,28,56,24,11,12,49,50,34,17,36,18,63],start:[1,21,5,7,9,11,10,17,18,33,4,24,25,34,23,40,41,42,44,29,50,54,58,59,68,64,67,69],unknown:[7,44,50,9],licens:[20,1,17,42,5,40,11,31,70,38],isassignablefrom:[64,59],system:[2,47,5,65,7,9,10,16,17,23,24,25,27,28,30,34,39,40,41,42,44,46,49,50,51,54,58,59,68,64,69,26],messag:[0,23,21,47,26,64,56,4,69,59],attach:[24,20,38,34],termin:[0,2,59,25,64,56,51,54],prong:[7,50],shell:[0,10,41,56],rsa:[10,41],exit_on_clos:[40,42,21,4],slider:[28,49],rst:[35,13],exactli:[0,40,50,42,7,56,32,63],haven:[24,34,7,50],python3pattern:[10,41],embodi:[23,69],split:[21,4],structur:[0,2,47,7,12,19,20,25,38,32,36,54,23,40,42,56,50,51,63,45,59,64,69,26],bee:[39,4,21,65,12,36],bind:[7,17,5,44,9,50],steer:[25,54],imho:[0,56],aggreg:[7,50],isstat:[64,59],clearli:[23,7,50,47,26,64,32,69,63,59],have:[0,1,2,37,21,5,65,7,9,10,11,12,3,16,17,19,18,33,4,23,24,26,27,28,30,31,32,34,36,70,39,40,41,42,44,45,46,47,67,49,50,51,63,56,29,59,64,69],cohes:[23,7,69,50],need:[0,1,2,37,21,5,65,7,8,9,11,12,3,10,17,18,33,4,23,24,28,31,32,34,36,70,39,40,41,42,44,56,67,49,50,51,63,29,59,60,64,69],north:[25,54],turn:[0,21,5,7,12,23,4,25,54,32,36,40,17,42,56,47,50,63,59,64,69,26],gentli:[33,18],lightgrai:[25,54,21,4],min:[21,4],rout:[23,69],rmic:[12,36],mix:[7,50],sei:[64,59],which:[0,1,2,21,5,65,7,9,11,12,19,18,33,4,23,24,25,27,28,30,63,32,34,36,39,40,17,42,44,45,47,67,49,50,51,54,56,29,59,64,69,26],linda:[19,45],singl:[0,1,2,21,7,11,12,10,18,33,4,24,26,28,34,36,40,41,42,44,56,47,49,50,51,9],uppercas:[29,67],unless:[17,59,5,64,12,36],clash:[7,50],awt:[40,42],minimasolv:[2,51],discov:[23,20,7,58,41,59,68,24,64,28,34,38,50,10,69,49],rigor:[64,59],textui:[40,42],why:[33,23,7,18,50,69],changealgorithm:[2,51],gather:[23,69],stronger:[0,56],face:[7,50],inde:[33,1,7,59,42,40,64,11,50,18],realiz:[0,19,7,56,59,23,64,45,50,69],bui:[5,17],michel:[33,18],determin:[0,19,7,2,56,47,25,28,44,45,49,50,51,9,26,54],gettotalcost:[63,32],occasion:[64,59],constrain:[64,59],inexpens:[7,50],statemachine2:[26,47],dbm:[26,47],mainloop:[21,4],conditionb:[26,47],bring:[0,33,40,17,42,23,5,69,25,7,56,50,18,54],trivial:[40,47,42,26,7,64,50,59],anywai:[0,2,24,56,51,34],pythoncardprototyp:[21,4],redirect:[1,59,42,40,64,11],textual:[21,4],locat:[40,2,47,42,26,7,64,50,51,59],nois:[64,59],createbox:[21,4],hadn:[26,47],winner:[39,65],jar:[40,42],figur:[40,58,17,60,42,68,5,7,8,24,50,34],should:[0,2,21,6,7,10,18,19,4,24,25,28,63,32,33,34,23,40,41,42,43,45,47,49,50,51,54,56,59,64,69,26],smallest:[7,63,32,50],suppos:[0,33,40,7,21,4,42,64,28,56,49,50,18,59],esqu:[0,56],disciplin:[33,18],inhabit:[39,65],local:[23,7,32,41,4,21,5,50,10,17,69,63],hope:[23,69,31,70],overidden:[26,47],contribut:[20,17,5,24,38,34],espinc:[7,50],ludicr:[7,50],familiar:[19,45,7,50],autom:[40,7,47,42,24,26,27,64,30,50,34,59],regularli:[7,63,32,50],piecewis:[2,51],bean:[40,42],increas:[64,59],applicationframework:[29,67],triangl:[28,49],enabl:[33,18],organ:[23,7,41,59,5,64,50,10,17,69],bisect:[2,51],coplien:[7,2,50,51],grai:[21,4],whatiuse2:[37,3],integr:[0,7,2,4,21,64,56,50,51,59],contain:[0,1,37,21,40,11,3,19,20,4,26,28,38,23,7,42,45,47,49,50,56,69],grab:[7,50],ddglass:[7,50],view:[24,34,21,4],conform:[63,32],"0079e10c":[1,11],frame:[40,42,25,54],knowledg:[0,59,64,28,56,49],popen2:[58,68],displai:[0,33,40,59,42,64,56,18],temporarili:[40,42],troubl:[0,40,41,42,56,10],py2int:[40,42],syntact:[39,65],polymorph:[0,39,7,20,65,28,44,56,38,50,9,49],statu:[7,50],wire:[1,7,11,50],dlg:[40,42],correctli:[10,41,64,59],pattern:[1,2,37,21,65,7,11,12,3,15,18,19,20,4,23,26,28,38,32,33,36,39,40,42,45,47,48,49,50,51,63,59,64,69],boundari:[10,40,41,42],misus:[23,7,69,50],tend:[0,23,7,59,64,56,50,69],favor:[23,69],written:[0,2,4,21,64,56,51,59],japplet:[29,67],progress:[10,18,41,33],email:[23,69],pazzaglia:[19,45],bed:[21,4],kei:[0,39,40,32,41,50,42,65,26,7,44,56,47,9,3,10,37,63],p2j:[40,42],itertool:[55,20,53,38],job:[0,7,29,17,5,56,67,50],entir:[0,33,40,4,21,23,69,42,7,56,50,18],cafelattedecafwhip:[63,32],addit:[0,33,40,41,21,4,5,26,42,64,7,56,47,12,50,10,17,36,18,59],exclaim:[0,56],boxheight:[21,4],plugin:[10,41],admin:[24,34],invulner:[7,50],equal:[0,23,40,59,42,7,64,56,50,69],polici:[29,67],admit:[23,7,69,50],instanc:[1,47,42,44,40,64,11,32,9,26,63,59],equat:[33,18],section:[23,39,40,57,7,3,42,65,28,66,49,50,69,37],freeli:[19,40,59,42,64,45],comment:[0,40,59,42,64,56],interp2:[40,42],"0076c54c":[1,11],simpleclass:[0,56],wall:[25,54],guidelin:[24,34,7,50],arriv:[7,50],walk:[23,59,64,13,35,69],distinguish:[7,64,50,59],incess:[60,8],respect:[7,50],labor:[23,69],quit:[0,33,40,47,42,24,26,64,28,56,49,32,34,18,63,59],decent:[23,69],obstacl:[28,49],compon:[19,45,40,4,21,42,7,50,32,63],treat:[40,47,42,26,7,64,50,59],nextto:[21,4],immedi:[33,7,59,25,64,28,49,50,18,54],both:[0,1,21,40,11,12,18,33,4,24,25,28,63,32,34,36,23,7,42,44,56,49,50,54,9,69],inneradapt:[37,3],assert:[3,47,26,64,28,49,37,59],espressoconpanna:[63,32],togeth:[0,7,2,3,56,12,50,51,36,37],present:[23,40,7,32,42,69,26,64,47,63,50,37,3,59],multi:[26,47],plain:[63,32],align:[0,56],defin:[0,1,21,40,11,18,19,4,26,28,32,33,23,7,42,56,47,67,49,50,63,45,29,59,64,69],aarrgggh:[25,54],decept:[40,42],howev:[0,1,2,37,21,65,7,11,12,3,19,18,33,4,23,24,25,28,63,32,34,36,39,40,42,45,47,49,50,51,54,56,59,64,69,26],cafemocha:[63,32],htmlbutton:[40,42],layer:[23,69,63,32],almost:[0,39,40,21,4,23,65,42,56,33,69,18],site:[7,2,17,5,50,51],motiv:[23,20,40,17,59,42,5,64,38,69],maxval:[40,42],prose:[24,34],incom:[5,17],revis:[7,50],cafemochadecaf:[63,32],whatihav:[37,3],bolder:[64,59],insight:[23,7,69,50],began:[23,69,64,59],classpath:[0,40,59,42,64,56],cross:[40,17,42,5,24,34],member:[39,7,41,21,4,5,65,64,44,50,10,17,9,59],python:[0,1,2,21,5,7,8,9,10,11,12,16,17,18,33,20,4,24,26,27,28,30,38,32,34,36,23,40,41,42,44,56,46,47,49,50,51,63,57,58,59,60,68,64,66,69],tendenc:[7,50],fill:[40,42,7,50],infer:[0,56],difficult:[0,23,40,17,50,42,5,26,7,56,47,32,69,63],competit:[21,4],http:[33,40,2,41,21,4,25,42,64,7,47,50,51,10,18,26,54,59],original_new:[1,11],denot:[0,56],expans:[40,26,47,42],drink:[63,32],upon:[33,39,40,42,65,7,50,18],effect:[1,2,7,21,4,44,51,64,28,50,11,9,49,3,47,32,37,26,63,59],coffe:[20,63,38,32],handi:[21,4],issuccess:[2,51],commandpattern:[2,51],canva:[25,54],php:[21,4],expand:[12,36],decoratorwithargu:[33,18],closenotifi:[21,4],center:[40,42],albin:[7,50],firstli:[63,32],weapon:[39,65],nonetheless:[33,18],well:[33,23,40,32,7,21,4,5,69,25,42,64,24,63,50,34,17,18,54,59],numerical_integr:[2,51],thought:[19,23,1,2,7,45,11,50,51,69],scissor:[44,9],weblog:[33,18],exampl:[0,1,2,37,21,5,65,7,9,11,12,3,10,17,18,33,20,4,23,24,25,26,28,38,32,34,36,39,40,41,42,44,56,62,47,67,49,50,51,52,54,29,59,64,69,63],command:[0,20,40,2,41,59,42,27,64,56,29,30,38,51,10,67],choos:[20,7,2,17,32,5,59,64,28,38,50,51,63,49],breaker:[23,69],latest:[10,41],test1:[40,64,42,59],ccolor:[21,4],test2:[40,64,42,59],test4:[40,42],flesh:[40,42],est:[23,69],heavili:[19,45,7,50],skill:[2,51],simultan:[7,50],gliffi:[24,34],web:[0,17,60,5,8,56],penchant:[0,56],newbrain:[2,51],idiom:[23,20,2,4,21,22,12,38,14,51,36,69],bell:[40,42,7,50],makefil:[40,64,42,59],knew:[64,59],proxydemo2:[12,36],add:[0,1,2,21,5,65,7,9,11,12,10,17,18,33,4,23,24,25,26,27,28,30,31,32,34,36,70,39,40,41,42,44,56,47,49,50,51,54,59,64,69,63],cleanup:[64,59],wet:[63,32],collis:[25,54],smart:[40,47,42,26,12,36],match:[39,7,2,4,21,65,44,9,50,51],confront:[1,11],jython:[20,40,38,42],royalti:[5,40,17,42],branch:[20,7,41,25,38,50,10,54],fate:[7,50],sumvalu:[7,50],piec:[23,1,7,11,50,69],arguabl:[40,42,7,50],testa:[64,59],camelcas:[24,34],testb:[64,59],know:[33,40,7,21,4,5,42,64,44,24,9,50,34,17,18,59],press:[0,56,40,42],redesign:[7,50],height:[25,54,21,4],recurs:[7,2,28,49,50,51],insert:[0,1,7,56,11,50],trash:[23,20,7,38,50,69],resid:[0,56],like:[0,2,21,5,65,7,9,12,10,17,19,18,33,4,23,24,25,26,28,31,32,34,36,70,39,40,41,42,44,45,47,49,50,51,54,56,59,64,69,63],lost:[40,42,7,50],incred:[0,56],paperbin:[7,50],necessari:[0,40,29,41,50,42,26,64,7,56,47,12,3,10,36,37,67,59],lose:[39,40,42,65,7,44,50,9],resiz:[0,56,29,67],karma:[17,60,5,8,24,34],page:[0,33,2,20,56,38,51,18],sum:[0,56,7,50],trashbin:[7,50],captur:[33,18],suppli:[40,42],phenomena:[21,4],cafemochaextraespresso:[63,32],growth:[63,32],superclass:[40,42],flush:[64,59],proper:[40,47,42,26,7,50],guarante:[26,47],peter:[21,4],librari:[0,19,40,2,56,21,4,20,68,42,64,45,58,38,3,51,37,59],simple2:[0,56],tmp:[64,59],"__setattr__":[1,11],trust:[64,59],lead:[23,69],bintyp:[7,50],avoid:[23,7,41,50,10,69],doublevalu:[7,50],overlap:[21,4],jeremi:[25,54],itemnotavail:[26,47],troup:[0,56],getnam:[7,64,50,59],mode:[10,41],hinder:[0,56],weslei:[7,2,50,51],investig:[25,54],usag:[23,20,7,59,64,38,50,69],facilit:[50,7,21,4],host:[5,10,41,17],arg1:[0,33,18,56],although:[33,23,40,7,59,42,5,69,64,28,24,49,50,34,17,18],offset:[21,4],newtonsmethod:[2,51],panel:[21,4],about:[0,37,47,5,7,9,3,10,17,18,19,20,24,25,26,28,38,32,33,34,23,40,41,42,44,45,49,50,54,56,58,59,68,64,69,63],quarter:[26,47],rare:[23,69],column:[21,4],purist:[7,50],javaclass:[40,42],mindviewinc:[40,42],bridg:[40,42],constructor:[0,33,1,29,7,21,4,26,42,40,64,56,11,67,28,49,50,47,18,59],wxcommandev:[21,4],own:[0,1,21,5,40,9,11,12,23,4,25,27,28,30,63,32,36,7,17,42,44,56,47,49,50,54,57,59,64,66,69,26],fillov:[25,54],automat:[0,2,37,21,7,8,12,3,20,4,24,26,27,28,30,38,34,36,40,42,56,47,49,50,51,59,60,64],guard:[23,69],getpric:[26,47],awhil:[23,69],rectifi:[33,7,18,50],pitfal:[0,56],forget:[7,50],leverag:[40,42],prozac:[26,47],val:[0,1,7,4,21,42,40,56,11,50],transfer:[26,47],inner:[33,20,1,7,21,4,42,40,64,50,62,11,38,3,52,18,37,59],openobserv:[21,4],maze:[20,25,38,54],stai:[23,7,2,50,51,69],arg2:[0,33,18,56],"function":[0,1,2,21,65,7,9,11,10,19,18,33,20,4,26,28,38,39,40,41,42,44,45,47,49,50,51,56,59,64],imatix:[26,47],pythontojavaclass:[40,42],subscrib:[23,69],bodi:[0,33,7,2,56,50,51,18],gain:[5,17],kungfugui:[28,49],eat:[39,65],count:[0,59,47,26,64,56],made:[40,4,21,24,26,42,7,47,50,34],newval:[7,50],whether:[40,2,17,4,21,5,25,42,7,47,50,51,26,54],wish:[40,59,42,64,32,63],dynatrash:[7,50],distract:[40,42],record:[25,54],below:[40,2,41,4,21,42,32,51,10,63],limit:[0,33,1,42,40,56,11,18],trepid:[33,18],otherwis:[23,7,2,17,4,21,5,64,50,51,69,59],problem:[0,1,2,37,21,65,40,9,11,12,3,19,18,23,4,26,28,32,33,36,39,7,42,44,45,47,49,50,51,63,56,59,64,69],jdialog:[40,42],evalu:[26,47],pollin:[39,65],"int":[40,58,7,4,21,68,25,42,64,47,50,26,54,59],dure:[19,33,40,7,47,42,5,26,64,45,12,50,17,36,18,59],twist:[7,50],implement:[0,2,37,21,65,7,12,3,18,23,20,4,25,26,28,38,32,33,36,39,40,42,56,47,49,50,51,54,59,64,69,63],eric:[36,12,21,4],probabl:[0,33,40,2,21,4,23,24,69,42,7,44,56,12,9,50,51,34,36,18],typemapadapt:[7,50],inevit:[7,50],detail:[23,39,1,2,41,21,4,20,65,68,7,11,58,38,50,51,10,69],virtual:[0,39,7,29,47,65,26,28,56,12,49,50,36,67],book:[0,1,2,37,5,65,7,10,11,3,16,17,18,33,20,23,24,25,28,31,34,38,39,40,41,42,56,46,67,49,50,51,54,29,59,64,69,70],lookup:[39,9,44,65],futur:[5,40,17,42],rememb:[0,40,42,7,44,56,50,9],bazzar:[24,34],repeat:[23,2,4,21,28,49,32,51,69,63],star:[1,11],fulli:[0,56],multipledispatch:[44,9],accomplish:[0,56,1,7,21,4,42,40,50,11,12,3,36,37],lightoff:[40,42],mazework:[25,54],typenum:[7,50],experienc:[0,56],sphinx:[20,41,60,34,5,8,24,38,10,17],amp:[20,59,6,64,38,43],indirectli:[7,50],rule:[0,20,40,59,42,23,24,64,56,38,34,69],getreturntyp:[64,59],portion:[64,59],klass:[21,1,11,4]},titles:["Quick Python for Programmers","The Singleton","Function Objects","Changing the Interface","Observer","Introduction","Coroutines &amp; Concurrency","Pattern Refactoring","Contributors","Multiple Dispatching","Developer Guide","The Singleton","Fronting for an Implementation","Comprehensions","Part II: Idioms","Part III: Patterns","A Note To Readers","Introduction","Decorators","Iterators: Decoupling Algorithms from Containers","Python 3 Patterns &amp; Idioms","Observer","Part II: Idioms","The Pattern Concept","Book Development Rules","Projects","StateMachine","A Canonical Form for Command-Line Programs","Factory: Encapsulating Object Creation","Building Application Frameworks","A Canonical Form for Command-Line Programs","Teaching Support","Decorator: Dynamic Type Selection","Decorators","Book Development Rules","Comprehensions","Fronting for an Implementation","Changing the Interface","Python 3 Patterns &amp; Idioms","Visitor","Jython","Developer Guide","Jython","Coroutines &amp; Concurrency","Multiple Dispatching","Iterators: Decoupling Algorithms from Containers","A Note To Readers","StateMachine","Part III: Patterns","Factory: Encapsulating Object Creation","Pattern Refactoring","Function Objects","Table-Driven Code: Configuration Flexibility","Generators, Iterators, and Itertools","Projects","Generators, Iterators, and Itertools","Quick Python for Programmers","Python 3 Language Changes","Discovering the Details About Your Platform","Unit Testing &amp; Test-Driven Development","Contributors","Part I: Foundations","Table-Driven Code: Configuration Flexibility","Decorator: Dynamic Type Selection","Unit Testing &amp; Test-Driven Development","Visitor","Python 3 Language Changes","Building Application Frameworks","Discovering the Details About Your Platform","The Pattern Concept","Teaching Support","Part I: Foundations"],modules:{},descrefs:{},filenames:["_test/quickPython","singleton","functionObjects","_test/changeInterface","_test/observer","Introduction","CoroutinesAndConcurrency","patternRefactoring","_test/Contributors","multipleDispatching","DeveloperGuide","_test/singleton","fronting","Comprehensions","_test/Part2","_test/Part3","_test/NoteToReaders","_test/Introduction","PythonDecorators","_test/iterators","index","observer","Part2","patternConcept","Rules","_test/projects","_test/stateMachine","CanonicalScript","factory","appFrameworks","_test/CanonicalScript","_test/TeachingSupport","_test/decorator","_test/PythonDecorators","_test/Rules","_test/Comprehensions","_test/fronting","changeInterface","_test/index","_test/visitor","jython","_test/DeveloperGuide","_test/jython","_test/CoroutinesAndConcurrency","_test/multipleDispatching","iterators","NoteToReaders","stateMachine","Part3","_test/factory","_test/patternRefactoring","_test/functionObjects","tableDriven","_test/GeneratorsIterators","projects","GeneratorsIterators","quickPython","_test/LanguageChanges","_test/MachineDiscovery","unitTesting","Contributors","Part1","_test/tableDriven","decorator","_test/unitTesting","visitor","LanguageChanges","_test/appFrameworks","MachineDiscovery","_test/patternConcept","TeachingSupport","_test/Part1"]})
+Search.setIndex({desctypes:{},terms:{defaultcloseoper:19,orthogon:10,yellow:12,four:[13,26,2],secondli:35,prefix:12,sleep:[26,12],dirnam:[7,30],"00798f9c":0,browse_thread:8,gladiolu:17,evalscissor:33,whose:[20,5,1,33,12],selen:8,concret:[5,15,30],swap:[6,12],under:[10,19,1,30,2,3,20,6,7,8],testabl:30,worth:[5,19,15],lure:2,everi:[10,28,5,12,2,3,15,20,19,9,35,30],risk:31,inventfeatur:17,matchobj:7,rise:10,lurk:19,voic:[3,13,30],govern:2,affect:[5,12],disturb:[5,15],nestedshapefactori:15,metaclass:[0,9],gnu:30,correct:[5,19,2],"__templatemethod":29,getdeclaredmethod:30,technolog:[13,30],verif:30,unpredictableperson:2,cappuccinowhip:35,c02:30,categori:[10,9,12],cmp:2,storag:0,"10f":5,direct:[10,11,19,2,15,9,26],commerci:[13,19],nail:5,second:[28,0,1,12,5,33,20,6,19,9],classcastexcept:20,"__finditem__":19,even:[0,1,30,13,5,28,6,19,18,9,35],hide:[10,5,24],createshap:15,canvasheight:26,item1:33,weren:0,shallowai:1,firstdigit:2,"new":[10,28,5,1,30,2,3,4,14,15,33,20,13,29,19,7,17,8,35,26],net:[19,30,12,3,13,8],ever:[20,5,33],succumb:30,liberti:24,told:15,getsiz:12,widget:12,behavior:[10,0,1,2,12,5,33,20,19,24,9,26],never:[3,0,19,5,30],here:[0,1,2,3,5,7,8,9,10,12,13,14,15,26,18,16,19,28,24,35,20,30,32,33],fun:9,debugg:8,gridlayout:12,path:[5,2,12,19,7,8,30],cardboard:5,interpret:[10,11,5,1,19],dry:35,haschang:[2,12],credit:[13,11],loop:[10,5,29,19,15,28],studi:[10,5,15,12,30],portabl:[19,15],tremend:19,golden:10,propag:[10,5,12],"_test":7,brought:[28,19],substr:5,unix:32,ratsandmaz:26,wateron:19,total:[5,2],unit:[11,19,30],getchar:19,plot:12,redon:13,describ:[10,28,5,30,2,3,17,19,20,6,8,35],would:[28,0,1,2,12,3,5,15,20,29,19,16,9,35,30],quickpython:28,call:[10,28,0,1,2,12,17,5,29,15,20,6,19,7,24,8,9,33,30],typo:13,recommend:5,type:[10,11,0,1,28,2,12,17,5,15,20,19,24,8,33,35,30],until:[10,5,1,2,17,19,28,7,18,9],looni:1,relat:[10,19,6],notic:[5,30,12,17,19,15,28,33,9],hurt:12,warn:[10,5,19],glass:5,loss:35,flowervisitor:17,moin:9,hole:30,hold:[5,1,2,13,19,20],unpack:[5,19],must:[0,1,2,12,3,17,5,33,15,28,19,35,24,8,9,26,30],join:7,err:[5,30],setup:[8,15,30],work:[10,11,0,28,30,12,3,33,5,15,20,13,6,19,7,8,9,35,18],worm:17,introduc:[10,5,30,3,19,13],root:[5,30],overrid:[5,29,12,2,28,30],give:[10,5,30,32,3,19,28,13,9,26],digit:2,indic:[11,5,12,2,15,28,31,19,9],setvis:[19,26,12],unavail:2,unassign:8,keep:[10,5,2,12,3,15,13,6,19,8,30],addtobin:5,end:[10,5,1,12,3,19,33,28,13,26],quot:28,ordinari:[5,19,15,12,30],classifi:[10,11],revisit:[5,15],how:[10,28,0,1,30,12,3,17,14,5,15,20,13,19,8,33,35],hot:35,disappear:[18,26],env:30,regist:[8,12],answer:[8,5,30,33],verifi:[19,30],changeinterfac:24,perspect:[10,5],phyast:9,updat:[8,26,7,12],my_new:0,recogn:19,lai:30,mess:3,coffeeshop:35,after:[10,0,1,30,2,5,28,19,7,8,9,35,26],implementation1:6,lump:6,implementation2:6,diagram:[11,5,2,13,6,35],befor:[10,28,5,1,2,12,3,19,20,9,35,30],wrong:[5,19,30],beauti:[5,6],law:10,parallel:10,demonstr:[19,29,12,2,17,33,28,6,30],beanmeup:35,chere:8,profess:16,attempt:[10,5,30],third:5,classmethod:0,revolv:10,exclud:30,wink:29,maintain:[10,5,1,2,13,33,35,9,26],environ:[17,5,15,32],incorpor:[19,1,9,30],enter:[26,19,9,2,12],lambda:19,order:[28,5,1,12,2,3,15,29,20,6,19,35],thermostatdai:19,oper:[10,11,5,1,28,2,17,14,15,33,20,19,9],composit:10,os_walk_comprehens:7,over:[10,28,5,1,30,3,19,20,9],fall:[9,30,32],orang:12,becaus:[10,28,0,2,12,3,17,30,5,20,13,6,19,24,8,9,18],paperscissorsrock:[17,33],flexibl:[10,11,5,1,2,19,33,28,25,35],vari:[10,1],fit:[10,5,1,30,12,3,6],fix:[0,12,13,17,5,8,35],avocado:35,"__class__":[17,19,1,33,35],strang:[28,15,2],better:[10,5,1,2,12,3,19,13,9,30],imp:[20,6],blemang:28,comprehens:[11,7],hidden:[28,5,6,29],schmidt:5,easier:[10,19,12,2,17,9,30],glassbin:5,them:[10,28,5,1,30,12,3,17,19,33,20,13,7,8,9,35,26,16],thei:[10,28,0,1,2,12,3,17,5,20,13,19,7,24,9,35,30],proce:8,number_of_processor:32,stringformat:28,"break":[5,30,31,19,7,26,35],promis:5,setvalu:5,"instanceof":5,choic:[5,1,12,3,17,15,33,13,35,8,26],grammat:3,alex:0,getvalu:[5,19,2],closeobserv:12,each:[10,11,0,1,2,12,33,17,5,29,15,28,6,19,7,35,26,30],debug:19,side:[8,13,5,19,30],mean:[10,28,5,1,2,12,13,17,19,20,6,9,35,30],prohibit:5,setdefaultcloseoper:[19,12],nochang:2,enorm:9,arduou:35,taught:1,makecharact:15,receptacl:5,extract:[5,19,7,30],whip:35,won:[5,12,3,19,28,13],goe:[13,28,5,35],gof:[10,1,6],content:5,rewrit:[5,3,20,13,6,24,9,35],vector:[10,5,26,2],adapt:[8,11,5,24],reader:[11,28,30,13,20,18],got:[13,30,24],washer:2,forth:19,linear:10,barrier:10,situat:[28,0,19,5,30],free:[10,13,2],standard:[10,19,1,30,12,28,9],ncpu:32,println:[5,19,30],mousemovegener:2,darkgrai:[26,12],sheet:[8,30],getweight:5,uiuc:5,puzzl:15,angl:10,openssh:8,ish:[13,28],isn:[10,5,29,12,3,28,6],subtl:[10,5],onto:10,bite:30,rang:[19,29,12,17,15,33,28],perfectli:2,gradi:5,setlayout:12,hoop:9,independ:[10,5,12],wast:[28,15,12],restrict:[3,0,9,19,12],"__tojava__":19,instruct:[8,30],alreadi:[10,5,1,30,12,3,19,20,26],wrapper:[5,19],wasn:5,getmemb:7,thick:15,agre:28,primari:[4,5,1,30,17],hood:19,brillig:19,vendingmachinetest:2,rewritten:[13,18],"__implement":6,spinach:35,top:35,sometim:[10,5,29,13,19,24,8,9],stack:12,mercuri:[8,11,31],master:[5,19,2],too:[10,5,30,13,19,34,18,9,35],similarli:19,ndiff:7,consol:30,tool:[11,5,1,2,12,3,15,13,19,8,30],propon:5,getcontentpan:12,somewhat:3,technic:13,trek:0,silli:5,target:[19,12],keyword:[28,19,15,12],provid:[10,28,0,1,2,12,5,29,15,20,6,19,24,8,9,35,30],"__onlyon":0,tree:30,hors:28,"final":[10,5,29,30,12,3,17,19,13,35,9,26],project:[10,11,5,30,3,17,19,13,16,8,26],matter:[10,13,5,1,15],shapefactori:15,foamedmilk:35,mini:8,fashion:[28,5,9],mind:[13,0,7,30],raw:28,rat:[11,26],"__main__":[0,30,12,19,28,7],seen:[10,28,19,1,2,12,3,15,20,6,9],seem:[10,5,30,2,15,28,6,19,9],seek:[5,2],seminar:3,innerclass:19,realm:[10,20],respectjavaaccess:19,terrif:19,person:[8,19],latter:[10,19],especi:[10,5,31,19,28,16],thorough:19,alreadyopen:12,staticinnerclass:19,client:[5,29,30,2,3,6,24],alldecor:35,thoroughli:3,wherebi:2,simplifi:[8,0,19,15],shall:[19,1,30],bruce:8,glob:[19,30],object:[10,11,0,1,28,2,12,33,17,5,15,20,6,19,35,24,9,26,30],what:[10,11,0,1,28,2,12,3,30,5,15,20,13,6,19,7,24,8,9,35,18],messeng:[5,1,2],regular:[28,19,30,35],letter:29,phase:[10,5,9],coin:1,sub:7,tradit:10,simplic:[10,17,19,28,2],don:[10,11,5,12,3,15,33,28,13,34,6,19,24,8,9,18],simplif:19,pythoninterpreterset:19,doc:8,flow:[13,19],doe:[10,29,0,1,2,12,5,15,28,6,19,9,30],dummi:1,declar:[28,30],tech:8,wildcard:19,itemslot:2,notion:6,came:[10,20,5],marvel:28,has_kei:[5,15,2,32],endear:19,visitor:[10,11,5,30,12,17],"__str__":[17,0,1,33,2],random:[10,5,12,17,15,33],particip:8,syntax:[0,5,30,19,28,9],"2008v1":8,involv:[10,0,14,5,20,8],despit:5,layout:[3,13,19],acquir:12,menu:[14,15,35],explain:[6,9,15,30],configur:[11,5,12,2,13,19,33,25],restaur:35,sugar:9,theme:1,busi:17,"__call__":[0,1,9],edict:17,cappuccino:35,stop:[5,30],on_mouseup:12,report:[8,30,26],rosettacod:1,bat:19,bar:[13,4,0],isopen:12,emb:[28,19],excel:20,baz:4,shape:[5,15],"public":[10,5,30,3,19,13,8],twice:[30,12],bad:[13,15],steam:35,fair:1,decoratortalk:9,elimin:5,mandatori:10,result:[10,28,5,1,30,12,19,20,35,9,26],respons:[11,5,1,2,28,29,26,35],fail:[5,9,19,2,30],hash:[20,28,2],charact:[19,15],hammer:5,best:[10,19,3,28,13,8,9],brazil:3,awar:[5,19,15,12],said:3,alsum:5,databas:0,red3d:26,discoveri:[10,5],mug:35,emptor:18,simplest:[10,0,19,12,30],awai:[10,5,35,2],getkei:19,approach:[10,11,0,2,12,17,5,15,20,19,24,8,9,35],attribut:[3,10,19,9],accord:[20,5,30],extend:[5,30,17,19,15,20],weak:28,extens:[13,5],loveandtheft:9,preprocessor:9,backgroundcolor:12,rtti:[11,5],aparat:5,protect:[19,6,30,12],accident:[10,5],easi:[10,5,30,19,33,28,8,35],ill:5,pitt:9,against:[17,5,9],sketch:13,logic:[10,35,12],countri:1,login:8,com:[10,5,30,2,13,19,20,8,9,26],con:35,compromis:[11,35],kwd:0,notifyobserv:12,elf:17,trunk:8,sai:[10,28,5,1,2,12,13,17,19,33,20,29,8,9],"2nd":19,diff:8,guid:[8,11],assum:[8,28,0,5],duplic:[10,7],light:19,testsynchron:12,three:[10,19,2,17,9,35],been:[10,0,2,12,3,5,28,13,6,19,18,9],chrysanthemum:17,much:[10,5,30,12,3,17,15,28,13,19,18,9],interest:[10,0,30,12,3,5,19,9],basic:[10,11,5,28,2,12,3,15,20,6,19,24,9,35,30],evolut:[10,5],"__doc__":7,"__len__":19,quickli:[19,2],life:12,rather:[28,5,30,12,32,13,17,15,20,6,19,24,8,9,35],deeper:[5,19,15],getval:19,xxx:32,argument:[10,11,5,1,2,12,15,28,19,9,30],dave:20,alreadyclos:12,bookstor:3,ugli:[5,24],exception:[28,19],ident:[0,24,5,2],occam:10,affirm:[28,30],servic:[3,13],properti:19,sourceforg:[8,19,12],air:[15,2],employ:3,calcul:[1,12],aid:28,vagu:10,dizzi:10,enlev:10,seconddigit:2,player:12,tediou:[19,12],sever:[5,19,15,2],valgen:19,quand:10,perform:[10,5,1,12,2,17,15,33,29,19,9,35,30],suggest:[10,0,30,13,5,28,8],make:[0,1,2,3,17,19,6,7,8,9,10,11,12,13,15,16,5,28,35,30,31,33],transpar:[19,30,35],who:[5,31,12,3,13,16,8],complex:[11,19,1,30,12,15,7,9],descend:30,complet:[10,5,2,12,19,6,8,9,26,30],inheritor:12,blue:12,listperform:25,hand:[10,28,0,1,12,13,5,15,20,9],fairli:[10,5,30,12,33,19],rais:[3,5,2],garlic:35,refin:5,squar:[15,12],qualif:19,jframe:[19,12],kept:[3,30],thu:[10,28,5,1,30,2,15,33,20,29,19,9,35],getbyt:26,inherit:[10,11,0,1,2,12,5,15,28,29,19,35,30],runtimeexcept:[20,2],weakli:19,shortli:[28,30],greatest:[10,5],thi:[0,1,2,3,17,19,6,7,8,9,10,12,13,14,15,26,18,5,28,24,35,20,29,30,31,33,34],programm:[10,11,0,29,30,2,3,19,28,6,24,9],everyth:[5,12,32,3,19,28,13,8,9,18],isomorph:10,left:[10,5,12,13,17,14,7,8],agon:3,identifi:[8,28,19,15],setcolor:[26,12],just:[10,0,1,2,12,32,3,33,30,5,15,28,13,6,19,7,8,9,35,18],"__dict__":[0,12],kdiff3:8,yet:[28,0,30,12,13,5,20,7,18,26],languag:[10,11,5,1,30,2,15,28,31,34,19,7,9],previous:[5,15],expos:[5,24],had:[10,28,5,1,30,2,3,17,19,20,35,9,26],keyset:[5,19],spread:[15,33],prison:26,falter:30,els:[10,0,30,2,32,5,28,19,7,26],functionobject:1,explanatori:19,gave:[3,5],applic:[10,11,19,29,2,15,6,8,9],fortun:5,larman:24,mayb:[13,30],background:12,elabor:5,shadow:10,unten:9,ineffici:12,apart:10,measur:13,specif:[10,5,1,12,2,15,20,6,19,30],arbitrari:[28,5],nudg:29,hunt:[5,26,12],manual:[5,33],doubledispatch:5,night:[3,19],ocbox:12,unnecessari:[19,6,15,2],singletonpattern:0,underli:10,www:[10,28,5,1,2,12,19,20,8,9,26,30],right:[10,5,12,3,19,28,13,8,18],old:5,deal:[5,19,24,33],printf:28,interp:19,somehow:[5,6,19],percentag:3,intern:[20,5,15,30],borg:0,indirect:5,successfulli:[5,30],atteint:10,txt:[26,2],htmlhelp:8,bottom:[28,1],subclass:[11,5,2,19,15,35],condit:[11,1,30,2,15,28,26],foo:[13,4,0,9,19],paintcompon:12,sensibl:[15,33],steamedmilk:35,confer:[3,13,5],speak:[3,6],promot:[3,5],mazegen:26,pylist:19,post:[8,9],"super":[0,12],meyer:26,trustworthi:7,unpackag:19,obj:[20,28],getparametertyp:30,slightli:[11,9,2,12,30],py2float:19,surround:[28,5,26,12],unfortun:19,patternrefactor:[5,1],commit:8,produc:[10,5,30,2,3,17,15,33,20,13,19,24,9],makeobstacl:15,dilemma:[17,5],thermostat:19,javac:19,curiou:18,basenam:7,"float":19,encod:[19,33],bound:[3,17,5,19],mocha:35,down:[19,1,30,12,15,26,35],ppr:5,weightvisitor:5,cappuccinodecafwhip:35,wrap:[0,1,12,5,20,19,9,35],opportun:5,clearchang:12,javax:19,testdumpclassinfo:19,east:26,accordingli:13,wai:[10,0,1,2,12,32,3,17,5,15,28,13,6,19,24,8,31,9,35,30],frustrat:19,support:[11,5,12,2,3,15,28,19,16,30],"class":[0,1,2,17,19,6,7,9,10,11,12,15,26,5,28,24,25,35,20,29,30,33],avail:[10,5,1,30,3,19,28],width:[26,12],reli:[20,5],editor:13,aforement:10,analysi:10,head:[10,1],medium:10,repetiti:14,form:[10,11,5,28,30,12,3,14,15,20],offer:35,altogeth:[10,5],forg:30,heat:2,hear:30,dead:26,heap:[5,6],hashtabl:19,"true":[5,30,2,19,15,28],analyst:5,"6dd415847e5cbf7c":8,entryexit:9,pragu:5,notat:19,setsuccess:1,maximum:[10,28],tell:[5,1,30,2,15,28,19,26],minor:12,absenc:30,fundament:[10,28,1,29,30],trim:5,classif:10,featur:[10,5,30,3,14,19,28,34,8,9],setxi:26,semicolon:28,classic:[5,2],howdi:19,request:[10,1,26,2],"abstract":[10,11,5,15,24],visitabledecor:5,extmerg:8,exist:[20,5,29,7,15],desir:[5,1,19,12],download:[3,20,19,12],mold:[5,24],check:[0,12,2,5,15,28,19,7,8,30],assembl:35,surpris:[28,9],tip:[8,11],refactor:[11,5,30,31],tij:25,test:[10,11,5,1,2,12,19,18,7,8,30],tie:10,appetit:10,smell:2,realiti:19,getsizetupl:12,notif:[10,12],intend:[3,19,30],felt:19,intent:[10,17,20],consid:[10,11,5,1,30,19,33,6,35,8,9,26],bitbucket:[8,31],receiv:[19,9,12],longer:[13,28,5,9,35],furthermor:1,intimaci:5,safe:[20,11,9],ignor:[0,5,30],fact:[10,0,5,30,12,19,28,9],time:[10,28,0,1,2,12,3,5,15,20,13,29,19,35,9,26,30],push:8,backward:[31,26],osx:[8,32],concept:[10,11,19,1,29],chain:[11,1,2],skip:[19,30],consum:[19,35],focus:15,invent:[19,6],signific:[13,20,5,30,26],objcount:30,milk:35,row:[2,12],decid:[5,12,2,17,15,28,6,19,35],depend:[10,5,12,2,19,15],decim:28,intermedi:3,certainli:[10,5,12,2,15,6,35],decis:[13,20,28,26],text:[2,3,14,28,13,8,26],jtextarea:19,isinst:[20,32],sourc:[10,5,12,2,3,19,13,8,26,30],string:[11,5,1,12,2,15,28,19,26,30],brazillian:3,onlyon:0,"fa\u00e7ad":[11,24],broadli:5,word:[29,30,2,1,24,9],brows:8,jdk:[30,12],level:[10,5,30,12,15,28,7,9],did:[28,19,7],die:26,gui:[29,15,12],evalpap:33,vein:9,item:[19,33,2,12,15],team:[3,8,31,11],quick:[8,11,28,30,35],round:6,dir:[7,30],prevent:[11,5,30,12,15,6],plaincap:35,core:[8,28,19],htm:26,compens:10,sign:[8,19],bondag:9,cost:[10,35,2],cafelattewetwhip:35,run:[10,11,5,1,2,12,19,28,6,29,7,8,9,26,30],corba:19,appear:[10,0,1,2,12,13,5,15,28,19,9,30],filler:5,scaffold:15,current:[10,28,5,30,2,19,20,8,26],suspect:15,newalgorithm:1,shapefact2:15,deriv:[5,12,2,19,15,28,6,30],cappuccinodri:35,birkenfeld:8,satisfi:[10,5,1,6,2],modif:[5,9,35],chainlink:1,address:6,along:[10,28,5,30,2,19,20,6],stem:19,teacher:16,wait:[5,19,2,12],box:[11,19,15,12,30],nextb:2,alti:12,shift:7,clip4:5,queue:1,behav:[5,9,19,2],extrem:[5,9,19,30],commonli:[5,19],trashtyp:5,semant:[28,30],regardless:[5,6],repositori:3,extra:[28,5,35,12,30],activ:[13,17,5,15],modul:[28,4,19,9,12],prefer:13,toarrai:19,leav:[5,12],visibl:19,codemark:7,instal:[11,5,30,12,19,8],forefront:30,gsum:5,anounc:8,newslett:10,prove:[5,9],univers:[10,15],visit:[17,5],recycleap:5,everybodi:12,live:19,handler:12,msg:28,black:[11,19,30,12],checkout:8,testid:30,chapter:[28,5,1,30,3,19,20,13,34,35,25,9,26],appendic:13,peopl:[10,5,30,31,3,17,28,13,16,8,9],claus:[28,2,12,15],clue:5,visual:[13,11,12],appendix:3,oop:[10,5,30,12],examin:[5,19],alexand:20,jlabel:19,effort:[11,5,1,30,3,19,16],easiest:[8,11,19,17],fly:17,graphic:[26,15,12,30],prepar:9,dmitri:0,battl:[17,15],focu:[13,4,5],addel:26,flowlayout:19,problemsolv:1,whatev:[13,5,30],purpos:[10,5,1,15],problemat:20,claim:1,encapsul:[10,11,5,1,2,15],sysconf:32,predict:9,wrapped_f:9,explos:5,backslash:[28,19],topic:[3,28,0],heard:5,chih:0,abort:[7,30],proxydemo:6,recycl:[11,5],simul:[10,11,5],occur:[10,5,1,12,2,13,15,33,30],pink:12,alwai:[10,0,29,30,5,28],killanddismemb:15,variou:[10,5,1,30,2,17,15,33,29,19,35],get:[10,11,5,1,28,2,12,3,17,30,19,18,20,13,33,7,24,8,9,35,16],write:[10,11,5,1,28,2,12,3,15,29,20,13,6,19,7,30],anyon:[3,26],actual:[10,28,5,1,2,12,15,33,20,6,19,7,9,30],pure:[19,2],"0x00798900":0,parameter:5,ensconc:19,map:[5,2,17,19,28,26],product:[13,28,19,30],dialog:19,max:12,"23f":5,spot:[13,15],usabl:2,wantmor:2,inputb:2,inputc:2,membership:5,inputa:2,mymethod:12,aop:9,mai:[10,28,0,1,2,12,3,5,15,20,13,34,19,35,8,26,30],underscor:[13,28,0],data:[11,0,1,28,2,12,5,15,20,19],grow:34,goal:[10,11,5,30,2,3,19,28,9,26],practic:28,johnson:10,divid:30,explicit:[10,1,9,33],cafelattewhip:35,inform:[0,1,2,12,32,5,15,28,19,33,9,26,30],"switch":[5,1,6,26],preced:35,combin:[11,19,1,12,3,33,35],block:[13,7],callabl:[9,12],talk:[8,10,5],vike:28,extractor:30,dojo:16,comfort:[30,24],countobserv:12,greenhouselanguag:19,brain:[28,1],lst:19,codemanag:7,still:[10,5,2,12,3,15,28,13,19,7],stringlist:5,dynam:[10,11,5,1,12,17,15,33,28,6,19,9,35],rosetta:16,group:[10,5,1,12,3,17,28,7,8,26,16],thank:[11,31],interp1:19,jim:[5,1],platform:[11,32],window:[8,11,32,14,13],curli:28,borgsingleton:0,truli:19,ddtrash:5,non:[10,5,30,3,19,28],within:[10,5,12,2,15,28,19,9],halt:30,halv:28,sysconf_nam:32,initi:[10,0,29,2,12,5,15,6,19,8,26],sorter:5,underneath:8,typedbinmemb:5,pyinteg:19,aesthet:5,therebi:30,half:6,javaclassinpython:19,now:[10,5,30,2,17,15,31,19,8,9,26],discuss:[10,5,26],introduct:[3,11,9,28],term:[10,5,1,30,2,6,24,9],name:[10,0,29,2,12,13,33,5,15,28,6,19,7,9,35,30],creativ:[3,5,16],getweapon:17,didn:[10,28,30],oliv:35,separ:[10,29,5,1,2,12,17,15,28,6,19,8,30],rock:33,cafemochadecafwhip:35,pizza:35,compil:[10,5,1,30,12,19,28,6,7,18,9],replac:[19,1,30,13,17,28,9],individu:[5,35,26],arg3:9,continu:[5,30,2,19,28,7],contributor:[3,11,31],parsetrash:5,significantli:9,begun:10,year:[10,20,5,30],happen:[10,5,12,2,3,15,13,19,9,35,30],dispos:19,troll:17,shown:[10,5,1,17,19,15,28,35],cafelatteextraespressowhip:35,cafemochawhip:35,"3rd":[20,35],space:[5,13,19,28,6,7,26],profit:[3,19],antoin:10,stuff:13,"void":[19,30],internet:[30,26],returnstr:19,factori:[10,11,5,2,15,24],earlier:5,"goto":5,state:[10,11,0,1,2,12,5,15,28,6],lazi:[0,6,2],getcwd:30,argu:[10,13,20,9],argv:7,lab:5,org:[19,1,30,12,28,31,8,9],"byte":[19,26],care:[13,28,5,15],reusabl:[20,5],couldn:[5,1,30],yarko:8,synchron:12,junit:[19,30],recov:5,thing:[10,5,1,30,12,3,19,33,28,13,6,9],place:[28,5,12,2,3,15,20,13,19,16,18,9,35,30],greenhous:[25,19],principl:[10,11,5,30,2,24],think:[10,28,5,1,30,12,3,19,33,20,8,9,35],frequent:5,first:[10,11,0,29,28,2,12,33,5,15,20,6,19,7,24,8,9,35,26,30],origin:[5,30,12,19,20,35,9,26],directli:[0,29,5,30,3,19,28],carri:[5,1,2],onc:[10,5,12,19,7,8,9,35],arrai:[10,5,2,19,15,28,24,26],getcost:35,crib:32,yourself:[5,2,3,19,28,8],submit:[8,30],ring:19,open:[5,29,2,12,3,19,13,7,30],size:[3,19,35,12,30],given:[5,29,12,2,15,6,19,26],"__subclasses__":[17,15,33],stuck:[19,30],teardown:30,caught:2,adjac:12,plastic:5,necessarili:[13,29],circl:[15,2],showdigit:2,white:[11,5,30,12],conveni:[0,12,13,19,15,6,35],cite:26,simionato:9,cope:5,copi:[5,2,12,3,6,7,8],specifi:[19,30,2,3,15,28],broadcast:2,newcolor:12,enclos:35,enigma:5,changeavail:2,holder:5,than:[10,28,5,1,30,12,13,17,15,33,20,6,19,8,9,35],png:8,serv:[10,15],setattr:0,applet:29,were:[5,30,2,19,15,28,9],posit:[26,12],surrog:[1,6,35,24],seri:9,launchpad:[3,8,13,11],coconut:28,nicer:[24,12],isfunct:7,prt:19,properli:[5,9,19,33],deliv:19,breakfast:12,kevin:12,leastsquar:1,engin:[17,29,30],techniqu:[0,4,5,15,20,17],alias:6,note:[0,1,2,19,6,7,8,9,10,11,12,13,14,15,26,18,5,28,35,20,30,31,34],forc:[10,28,19,30,12,3,15,20,6],ideal:19,take:[10,28,0,1,2,12,3,17,5,15,20,31,29,19,24,8,9,35,30],green:12,noth:[10,5,1,30,12,13,26],rsrc:12,begin:[10,5,31,13,19,28,8,9],sure:[3,28,19],trace:[9,30,12],normal:[10,0,1,30,17,5,15,28,19],track:[3,5,6,2,12],price:[3,5,35,2],drinkcompon:35,pair:[5,24],neatli:6,mainstream:9,televis:0,latex:13,synonym:10,later:[10,0,1,30,5,15,8,9,35],drive:29,quantiti:[0,5,12,2],addbranch:8,runtim:[11,19,1,15],parseint:12,link:[8,13,1],shop:[3,35],shot:[5,35],linedata:1,show:[10,28,0,1,30,13,4,14,5,15,20,19,8,9],cheat:8,delta:7,cheap:[10,5],mousetrap2test:2,concurr:[4,11],permiss:30,hack:8,ground:19,xml:24,onli:[10,28,0,1,2,12,33,3,17,5,29,15,20,13,6,19,7,24,9,35,30],explicitli:[28,5,19,9,15],nexta:2,fenc:10,nextc:2,transact:10,fillabl:5,observedflow:12,enough:[5,30,12,13,19,15,8],doubleespresso:35,dict:[0,19,7],analyz:10,jaroslav:5,clearselect:2,startswith:7,proxy2:6,nearli:30,viewpoint:5,distinctli:2,ddaluminum:5,cannot:[10,28,0,29,5,2,17,19,20],ssh:8,afunct:9,gen:15,requir:[10,28,5,2,12,15,20,34,19,7,24,9,35,30],jtextfield:19,prime:[5,30,12],reveal:26,isemptyxi:26,aluminum:5,dramat:30,yield:[4,33,15,17],spameggssausageandspam:19,expedi:30,pynam:19,though:[0,9,5,12,30],through:[10,28,0,1,2,12,3,5,15,20,13,6,19,33,9,30],where:[10,5,1,2,12,3,15,33,28,18,19,7,8,9,26],vision:3,summari:[11,5,19],wiki:[8,5,1,9,31],caller:[5,15],pydictionari:19,booch:5,cafelattewet:35,testcas:19,rmi:6,purest:1,concern:[5,9,30],detect:[5,33,19,26,32],charat:19,review:[8,11,9,30],enumer:[20,7,2,33],label:19,getattr:[0,6],trashbinset:5,between:[10,5,12,2,19,6,30],"import":[10,5,29,2,12,3,17,15,33,28,13,19,7,30],item2:33,across:[19,15],aslist:19,assumpt:[17,5],parent:[8,19],tup:19,screen:[5,29,30,12],inflex:35,cycl:28,pythoncardapp:12,findminima:1,come:[10,0,2,12,3,5,15,28,19,7,26,30],readlin:[5,19,26,2],ispubl:30,pepperdew:35,quiet:5,contract:3,tutori:8,improv:[11,0,31,2,3,5,28,13],somecondit:30,minima:1,color:[13,26,12],overview:5,unittest:[5,19,2,30],period:28,dispatch:[11,5,12,17,33,15],yearli:5,colon:[28,19],exuperi:10,consider:[11,5,35],mousetrap:2,math:[5,19,12],coupl:[10,11,5],games2:15,west:26,rebuild:19,mark:[10,28],appframework:29,quiesec:2,reflex:10,astonish:10,spare:28,emphas:[13,5,19,15],further:[11,5,30,12,13,19,28,9],trantabl:2,cafelatteextraespresso:35,findal:7,lectur:16,"__eq__":[33,2],former:[20,0],hasattr:32,newbyt:26,sound:[3,9],myself:[9,16],tostr:19,keygen:8,new_f:9,cast:[5,19,24],invok:[5,30,33,28,9,35],outcom:[15,33],invoc:35,anytim:[13,12],advantag:[20,0,19,5,2],canon:[11,14],ivi:8,worri:[3,13,20],endswith:7,good:[10,5,30,2,3,19,28,13,8],eras:[15,30],myapp:29,couplet:5,shutil:7,fame:5,"__init__":[28,0,1,2,12,33,5,29,15,20,6,19,35,24,9,26,30],develop:[10,11,19,30,3,13,7,8],author:[1,12],fulful:1,same:[10,28,0,1,2,12,13,5,15,20,6,19,33,9,35,30],trip:3,inconsist:9,testrunn:19,customize1:29,pai:[3,5,19],document:[19,30,12,13,28,9],pollut:10,finish:[10,19,30,2,7,9],nest:[28,0,15,35],foam:35,someon:12,driven:[11,30,26,2,25],mani:[0,2,12,3,5,28,19,8,9,35,30],extern:[11,5,30,2,19,7],tosynch:12,tradition:[28,30],hummingbird:12,appropri:[10,5,1,30,2,17,15,28,19],macro:[11,1,9],facad:24,connector:10,pep8:13,gameenviron:15,without:[10,11,5,28,30,12,3,15,20,13,19,8,9,35],model:[10,17,5,35,12],dimension:[24,2],arrays2:28,execut:[11,5,1,30,12,15,33,28,19,9],when:[10,5,1,2,12,3,17,15,33,28,18,6,19,35,24,8,9,26,30],thermostatnight:19,rest:[10,5,29,30,2,3,15,19,7,9],recyclea:5,aspect:[10,19,9,15,12],recycleb:5,touch:[17,5],monei:[3,2],flavor:1,speed:19,pythondecoratorlibrari:9,except:[5,29,30,2,19,33,9],littl:[10,5,30,2,28,8,9,26],identif:5,pile:10,treatment:5,exercis:[11,0,1,2,12,17,5,15,29,19,16,24,35,30],addmouselisten:12,earli:[13,18,19,30],around:[10,5,30,12,13,17,15,28,6,35,9,26],read:[10,11,5,29,2,12,32,3,19,28,7,9,26,30],"0079ef2c":0,repaint:[26,12],grid:12,pop:[5,19],world:[10,1,9,30],rununittest:30,presum:[5,19,15],returnarrai:19,mod:26,saniti:30,colorbox:12,stranger:10,vend:[11,2],chainofrespons:1,integ:[28,19,12],benefit:[5,12,3,28,13,6,35],either:[10,19,1,12,33,28,35],output:[0,29,30,2,13,19,28,9,35],margherita:35,manag:[10,0,1,12,2,17,19],fulfil:[10,1,6],tulach:5,satisfactori:5,adequ:[10,28],constitut:12,nonzero:30,regina:35,slice:19,mood:2,chronicl:10,boxobserverpythoncard:12,definit:[5,29,30,3,19,28,6,9],evolv:[10,13,5,30],exit:[26,9,7,12,30],inject:[19,9],complic:[5,6,30,35],ratcount:26,refer:[10,0,30,2,3,5,15,28,13,6,35,18,33,26],power:[0,19,9,5],cappuccinoextraespressowhip:35,garbag:30,inspect:[8,7],typedbin:5,standpoint:30,"__name__":[19,1,30,12,17,15,33,28,7,9,35],"throw":[20,19,15,2,30],comparison:[19,15,2],central:[20,5,2],greatli:5,strategypattern:1,wikic:5,panna:35,splitlin:7,currentlin:26,stand:[10,17,5,6],neighbor:12,act:[10,5,1,9],other:[0,1,2,3,17,19,6,8,9,10,11,12,13,14,15,26,5,28,24,35,20,29,30,33],routin:6,effici:5,lastli:20,quietli:19,"75f":35,strip:[5,35,7,2,30],counterintuit:5,your:[0,1,2,3,17,19,6,7,8,10,11,12,13,14,15,5,28,35,20,29,30,32,33],wustl:5,log:12,aren:[10,13,28,30,24],commenttag:7,start:[10,11,0,29,30,12,32,3,5,33,13,19,8,9,26],interfac:[10,11,5,1,28,2,12,17,15,20,6,19,24,35],low:[10,5],lot:[10,5,30,2,3,19,28],submiss:8,strictli:5,machin:[8,11,2,32],stage:[10,5,35],tupl:[28,19,33],bundl:24,regard:10,vendingmachin:2,stepanov:20,conciev:2,"0076aa3c":0,functor:1,mice:2,conclus:20,faster:[19,30],pull:[8,5,19,7],tripl:28,algorithm:[10,11,5,1,12,15,20,26],impenetr:30,possibl:[10,0,30,2,3,5,15,28,13,6,19,35,9,26],"default":[5,1,30,12,32,19,26],asynchronizedmethod:12,grasp:28,embed:19,connect:[10,0,1,2,12,5,19],gone:[19,1],creat:[0,1,2,3,4,19,6,8,9,10,11,12,13,14,15,16,17,26,5,20,24,35,28,29,30,33],certain:[5,35,14,19,2],whatihave2:24,strongli:[28,19],file:[11,5,1,2,12,13,14,19,28,29,7,26,30],jargon:17,rearrang:20,cream:35,incorrect:20,again:[3,28,5,19,30],setval:19,googl:8,want:[10,28,0,1,2,12,3,5,15,20,13,6,19,33,24,8,31,9,35,30],tradeoff:35,compel:[10,7],orient:[10,5,1,15,28,19,9],field:[19,12,2,13,28,30],valid:[19,30],compet:33,elementat:26,you:[0,1,2,3,17,19,6,7,8,9,10,11,12,13,14,15,26,18,5,20,24,35,28,29,30,32,33],getdescript:35,interactwith:15,architectur:[3,10,19,12],poor:5,registri:19,sequenc:[10,28,5,1,2,19,20],tbin:5,vocabulari:10,pool:0,reduc:[30,35],bulk:[13,5],multiplejython:19,opennotifi:12,directori:[13,5,19,7,30],descript:[0,30,2,5,7,8,35],hello:[19,9,2],gradient:10,mass:12,potenti:[10,12],escap:2,cpu:32,represent:2,all:[0,1,2,3,17,19,6,7,8,9,10,12,13,15,18,5,28,35,20,29,30,33],skeleton:6,messi:[5,33,32],lack:30,dollar:2,sanitycheck:30,monti:28,abil:[10,19,12,3,17,13,9],follow:[10,5,2,12,3,15,33,28,13,6,19,8,9,35,30],princ:10,hashmap:[5,19,2],edong:8,"__cmp__":[19,2],init:29,program:[10,11,0,1,28,2,12,3,14,5,15,20,13,19,7,9,33,30],those:[10,5,30,12,3,15,33,28,19,16,8,9],rstrip:7,contentpan:19,"case":[28,0,1,30,12,3,5,15,20,6,19,33,9,26],liter:[28,33],straightforward:[10,5,19],fals:[5,19,2],checkin:8,util:[28,19,30,12,20,8],candid:[10,20],mechan:[11,5,1,28,13,33,20,6,29,9],failur:[10,1,30],veri:[10,11,0,1,30,12,3,15,33,28,13,19,8,9,26],bruceeckel:[10,20,30],lisp:9,list:[10,5,1,2,12,3,15,33,28,31,29,19,7,9,30],cafelattedecaf:35,emul:12,small:[3,10,35,13],everth:14,dimens:12,pyobject:19,tea:35,eas:[5,35,2],tee:6,zero:[19,30],pressur:30,design:[10,11,0,1,28,2,12,13,17,5,15,20,6,19,7,24,9,35,30],pass:[0,1,2,12,17,5,15,28,6,19,33,24,8,9,35,30],whene:6,val2:28,trick:[5,19],deleg:[0,6,5],brien:5,ntotal:5,advanc:[3,8,1],abl:[10,29,5,1,30,2,3,15,33,20,13,6,19,26],brief:28,overload:[28,5,19],version:[0,2,12,3,5,15,28,13,19,33,24,8,9,18],succinct:[19,9],fillbin:5,method:[10,11,0,1,2,12,33,17,5,29,15,28,6,19,7,24,9,35,30],contrast:28,movement:[10,5,1],detectcpu:32,hasn:[5,12],full:[8,28,19,6,7],themselv:[10,28,12],variat:[10,0,24,5,2],sophist:[28,19,15,30],rlock:12,shouldn:[8,1],excess:2,demet:10,rudimentari:28,modifi:[0,2,12,3,17,5,15,28,13,19,33,9,30],valu:[5,30,2,19,33,28,24,9],search:[28,11,5,29,30],upcast:[5,15],ahead:[28,30],vegetarian:35,observ:[10,11,0,2,12,5,30],prior:[5,19],amount:[5,1,30,2,14,19],pick:5,action:[10,11,5,1,2,15,6,19],introductori:[3,11,9,28],scurri:26,pytupl:19,via:[3,8,5,19,33],shorthand:19,primit:[5,19],transit:[11,2],"while":[10,5,1,30,2,3,19,28,6,26],readili:10,filenam:[5,7,26],inappropri:[19,30],ystart:26,famili:[5,1,33],establish:[20,28,5,30,2],jbutton:19,select:[10,11,5,1,2,12,13,8,35],kittiesandpuzzl:15,aggress:28,twa:19,proceed:5,distinct:[10,0,1,2,5,6,19],etc:[5,1,3,15,33,18,29,8,9,35],tackl:5,two:[0,29,2,12,3,17,5,15,28,6,19,7,24,9,33,30],bizarr:9,error:[5,2,12,13,19,7,30],autonom:26,taken:[13,5,19,15,30],showtot:2,singletonmetaclass:0,more:[0,1,2,3,17,19,6,7,8,9,10,11,12,13,15,26,16,5,28,24,35,20,29,30,31,33],flaw:30,door:2,mydialog:19,apologet:9,reconfigur:17,convinc:30,ddcardboard:5,flag:[19,12],stick:9,particular:[10,28,0,1,30,2,3,5,15,20,6,19,35,26],known:5,compani:3,dictat:3,none:[0,19,2,12,30],pyprog:30,valuabl:5,dev:8,histori:[11,9,7],testdemo2:30,remain:[20,5,2],caveat:[18,30],learn:[10,5,3,28,13,8],returnchang:2,statedemo:6,dee:6,def:[28,0,1,2,12,32,33,17,5,29,15,20,6,19,7,24,9,35,26,30],prompt:8,scan:13,challeng:26,registr:[8,11],share:[3,8,0],templat:[11,5,1,28,2,3,15,20,13,29,19,9],prose:13,minimum:[8,28,19,12],explor:20,statet:2,phrase:30,magenta:12,condemn:5,huge:35,cours:[10,5,30,31,3,19,15,6,24,35],newlin:28,awkward:19,secur:[19,9],programmat:35,anoth:[10,0,1,2,12,17,5,15,28,6,19,8,9,35],mouseact:2,myratno:26,mvc:12,smalltalk:[10,12],simpl:[11,5,29,12,2,15,28,6,19,24,30],plant:5,resourc:[11,30,12,24,8,26],algebra:20,variant:5,reflect:[11,5,19,30],tabl:[11,28,2,17,33,20,6,25],associ:[28,5],"short":[28,32],waysid:30,ani:[10,28,0,2,12,3,5,15,20,13,6,19,35,9,26,30],confus:[5,12,17,28,24,9],mousemovelist:2,ambigu:19,caus:[10,5,12,2,17,15,19,8,30],flwr:17,setchang:12,egg:[28,0],sysctl:32,help:[10,5,12,3,13,6,16,8],soon:30,held:[10,6,2],pythondialog:19,paper:[5,33],scott:10,cyan:12,hierarchi:[10,5,1,17,15,33,6],taxonomi:[10,11],implicitli:[10,28,19,15],paramet:1,latt:35,style:[13,28,1,30,2],exact:[5,15,2,33],sale:3,conjugategradi:1,alli:16,late:[5,35],html:[5,13,19,28,7,8,9],rapidli:12,runal:2,might:[10,5,1,30,12,3,15,33,20,9,26],currentst:2,wouldn:[5,15,30],clariti:[13,35],"return":[28,0,1,2,12,32,33,17,5,15,20,6,19,7,24,9,35,26,30],martelli:0,ttbinlist:5,framework:[10,11,19,29,30,2],somebodi:[3,8],complain:28,bigger:[19,2],whatiw:24,intricaci:15,customize2:29,hook:12,solver:1,unlik:[28,5,1,30],refresh:7,easili:[10,0,1,5,30,2,19,33,24],achiev:[0,19,9,5,35],compris:9,getmodifi:30,found:[10,5,30,26,8,9,35],max_num:5,proxyadapt:24,decoratorwithoutargu:9,harm:[11,5,2],weight:5,hard:[13,17,5,20,15],idea:[10,5,1,2,3,15,13,6,19,16,8,9],procedur:5,realli:[10,0,1,5,2,19,28,24],iter:[10,11,5,28,30,2,19,15,20,27],windowadapt:12,ddpaper:5,todo:7,event:[10,19,29,26,12],flower:[11,12,17],safeti:[28,30],classvariablesingleton:0,differentreturn:28,miss:[10,5,19,7],setsiz:[26,12],publish:[3,5,19,30],academia:1,footnot:[10,0,1,5,30,2,19],gameelementfactori:15,print:[11,0,1,2,12,33,3,17,5,29,15,28,13,6,19,7,9,35,26,30],qualifi:[28,30],lutz:28,proxi:[10,11,0,2,20,6,24,35],hashset:19,reason:[10,5,1,30,2,3,15,28,6,19,24,9,35],base:[10,29,0,1,2,12,3,17,5,15,28,6,19,33,26,30],put:[10,11,0,30,2,3,5,15,28,13,19,7,9,16],teach:[3,11,16,30],bash:30,basi:[30,12],thrown:5,thread:[8,26,12],exponenti:[10,35],struggl:10,revolutionari:30,perhap:[5,30,13,17,19,15,24],pythonsw:19,ascher:28,trashsort:5,lifetim:6,assign:[8,28,19,9],singleton:[10,11,0,24,2],notifi:12,obviou:[20,5],blush:5,feel:[10,13,30],articl:[8,14],number:[10,0,1,2,12,32,13,5,33,28,6,19,35,24,8,9,26,30],placehold:2,sayhello:9,done:[19,1,30,12,3,15,28,13,8],construct:[20,19,9,30],colorboxestest:12,slower:[10,19],actionperform:19,fanci:2,razor:10,differ:[10,28,5,1,2,12,17,15,33,20,6,19,8,9,35,30],decoupl:[20,11,1,12],printstacktrac:[5,30],interact:[17,19,15,24,33],tove:19,least:[10,5,30,19,28,8],addfactori:15,paint:[13,26],accept:[8,17,5,20,19],scheme:[17,5,12],syrup:35,store:[9,30,2],itempairgen:33,imperfect:13,statement:[5,1,12,2,15,28,6,19,9,30],relationship:10,behind:[10,6],checklist:10,shapefactory1:15,shapefactory2:15,part:[10,11,5,1,30,12,3,19,28,21,22,23,29,7,8,9,35,26],pars:[28,11,5,33],consult:3,off:[10,5,12,3,14,19,28],eventu:[8,10,30],tortoisehg:8,albeit:[10,28,5,19],kind:[10,28,5,2,12,3,17,15,33,20,6,19,9,30],plop:5,whenev:[10,5,29,12,15,9],remot:6,gotten:2,remov:[10,5,12,2,3,20,8],kapow:19,pythoninterpret:19,reus:[10,0,1,5,2,19,29],getconstructor:[5,19],toward:[10,30],typic:[10,5,1,30,2,28,29,9,35],builder:19,runsawai:2,comput:[5,19],nastyweapon:15,ardent:30,requisit:30,"null":[6,26,2,30],option:[10,1,12,3,28,7,8,35],sell:3,imagin:[5,15],wilson:9,built:[10,11,5,1,30,12,3,19,28,6],equival:[28,5,19,12,30],jythonc:19,self:[10,28,0,1,2,12,33,17,5,29,15,20,6,19,35,24,9,26,30],violat:19,typediter:20,also:[10,28,0,1,2,12,3,5,15,20,13,31,19,16,8,25,9,35,26,30],bgboxobserv:12,build:[11,5,29,28,30,3,17,15,20,13,19,24,8],mouseev:12,brace:28,distribut:[8,13,15],exec:19,unsur:8,blackboard:26,eater:17,lighton:19,reach:[10,1,26],mixtur:35,addobserv:12,most:[10,5,1,30,12,3,15,29,19,9,35],plai:[17,5,15],cygwin:8,eaten:17,thidiscuss:1,maco:32,amaz:[19,9,26],fileread:26,bzr:8,bug:[8,17,5,30],clear:[3,10,9,2,12],cover:[3,13,34,29,30],roughli:[30,2],"_shared_st":0,"0076b7ac":0,clean:[28,5,19,30],xstart:26,usual:[10,5,29,30,19,28,9],mousetrap2:2,mousetrap1:2,test3:[19,30],flowergen:17,canvaswidth:26,particularli:[13,28,5,33],uncov:19,font:[3,19],fine:[5,15],find:[10,5,1,30,3,15,28,13,19,8,9,35],impact:[5,9],less:[10,5,30,13,9,35],solut:[10,0,1,2,12,5,15,19,33,35,30],pyutil:19,factor:[10,28,19,30],shapefact1:15,unus:10,cappuccinodecaf:35,express:[10,19,30,13,33,28],swing:19,nativ:19,mainten:[5,35],wateroff:19,doubli:12,cyclic:2,stl:[20,19,1],common:[10,5,12,2,3,15,28,6,19,16,30],wrote:[19,30],commod:5,set:[0,1,2,12,3,33,5,15,28,29,19,7,24,9,35,30],pyexcept:19,adopt:30,creator:[8,1,31],cleverli:13,potent:19,see:[10,28,0,1,2,12,3,5,29,15,20,18,6,19,24,8,25,9,35,30],bare:12,aluminumbin:5,arg:[0,30,12,5,28,19,9,26],close:[26,2,12,30],horizont:26,cafelatt:35,analog:28,dwarf:17,expert:[13,1],someth:[10,5,1,2,12,3,17,19,33,28,13,16,24,8,9,35,30],conditionc:2,editsshkei:8,conditiona:2,debat:13,restructur:[3,13],mutex:12,experi:[3,10,19,9,30],nope:30,gener:[0,1,2,3,17,19,6,7,8,9,10,11,12,15,5,28,24,26,27,20,30,33],altern:[10,5,30,4,19,9],signatur:[28,19],str:[28,12],numer:[1,29,33],hasnext:[20,5,19,2,30],complement:10,sole:1,isol:[10,5,1,15],statemachin:[11,2],disallow:15,succeed:1,len:[1,26,7,12,30],solv:[10,5,1,12,2,17,19,33,28,6,24,26,30],extraespresso:35,water:19,"__instanc":0,last:[17,5,29,19],danc:6,arraylist:[5,19,30],alon:[5,12],undetermin:29,context:1,forgotten:14,pdf:[3,13],whole:[5,1,12,2,3,19,30],load:[24,5,19,15,26],randomli:[17,30],simpli:[10,28,5,29,12,2,17,19,20,31,6,24],point:[10,0,1,2,12,32,3,30,5,15,28,13,8,9,26,18],schedul:[17,19],sweep:30,arbitrarili:[19,6],header:8,templatemethod:29,param:19,linux:[8,32],throughout:[10,5,29,30,13,15],java:[11,5,28,2,12,15,33,20,6,19,7,18,9,26,30],dum:6,due:30,empti:[26,12],sinc:[10,5,1,2,12,15,28,6,19,8,9,35,30],newinst:[5,30],strategi:[11,1,7],addison:[5,1],versa:28,execfil:19,imag:[13,12],convert:[20,19,29,2,12],append:[19,1,30,12,28,7],coordin:26,changeimp:6,understand:[10,0,2,13,5,28,19,9],demand:[3,28,6,15,30],makedir:7,fillablevisitor:5,look:[10,0,1,2,12,13,17,5,15,28,6,19,8,9,35,30],packag:[28,5,19,2,30],frozen:12,buildtabl:2,getquant:2,decrquant:2,ought:2,abov:[10,0,1,30,12,3,17,14,5,15,28,13,6,19,9,35],guido:31,"__hash__":2,anonym:[11,5,25],fum:19,everyon:[31,12,3,28,13,16],errmsg:30,pack:19,argin5:19,argin4:19,pound:28,argin1:19,argin3:19,argin2:19,readi:[3,8,5,29,26],petal:12,itself:[10,5,1,2,13,19,9,26],makea:24,coroutin:[4,11],attach:[13,11],chase:15,decor:[11,0,12,5,20,9,35],minim:[10,30,12],boxwidth:12,belong:3,on_openbackground:12,shorter:19,conflict:8,cappucino:35,vertdir:26,optim:5,painless:5,wherea:[28,5,1,19,2],ponder:10,setbackground:26,user:[11,0,2,12,3,5,15,20,19,8],cardboardbin:5,focal:10,recent:30,lower:10,task:[8,13,12],lib:28,eleg:[10,0,5,28,6,9],entri:[13,19,9,26],localarrai:12,propog:12,parenthes:28,restfil:7,testpythontojavaclass:19,chees:2,expens:[5,6],elev:[5,2],academ:30,imit:[8,28],propos:[8,10],explan:19,pyfloat:19,valueof:5,obscur:10,choru:6,mysql:8,"67f":5,dumpclassinfo:19,dirlist:1,cut:[5,24,12],indexof:[5,19],mydecor:9,snag:12,correcton:3,appli:[10,5,12,2,28,24,9,30],input:[4,29,2],subsequ:[28,2],brainstorm:10,bin:[5,30],tomap:19,vendor:[17,5],format:[3,8,28,13],big:[28,19,9],intuit:19,game:[15,12],quest:10,bit:[28,5,12,3,15,20,6,19,9],characterist:29,formal:[28,9],fillablecollect:5,success:[10,5,1,30,19,20],nextstat:2,signal:19,resolv:5,fluf:13,collect:[10,0,1,30,2,5,24],"__new__":0,sizeabl:35,javabean:19,encount:[5,30,12,19,15,20],"0076daac":0,often:[10,5,1,2,12,3,17,14,19,28,13,16,24,9,35,30],acknowledg:[10,28],creation:[10,11,0,28,2,12,3,5,15,20,13,19,9,30],some:[10,5,1,2,12,32,3,4,15,33,28,13,29,19,16,24,31,9,26,30],back:[10,5,1,2,12,3,19,9,26,30],global:[19,30],understood:[19,30],wxpython:12,mirror:10,sprint:3,mindview:19,mousepress:12,syndrom:5,rien:10,scale:[19,30],chocol:35,mousemov:2,isclass:7,per:[10,28,35,2,12],substitut:[28,9],mathemat:[1,33],larg:[3,5,34,2],market:17,fornam:[5,30],reproduc:3,norvig:12,cgi:[28,5],previou:[5,2,3,15,9,35],patient:19,martin:[5,9],agreement:19,viabl:10,step:[10,28,5,30,3,19,15,20,8],initialst:2,major:[28,9],subtract:10,impos:[20,2],sellimaginaryproduct:17,boxdesc:12,constraint:[10,28,5,2,3,20,9],materi:[3,13,16],memori:30,libero:2,modal:19,cappuccinodrywhip:35,gamma:10,predat:17,repair:5,"__future__":[17,15,33],real:[19,1,6,26],pythonpath:28,dispens:2,oreilli:28,fowler:[5,9],rapid:19,"caf\u00e9":35,ensur:[8,10,6,7,30],chang:[10,11,0,29,2,12,13,17,5,15,34,6,19,24,8,9,35,30],artifici:30,occupi:28,inclus:[10,28],institut:30,spam:[28,0,12],valuminum:5,question:[8,10,5,2],fast:[13,28,19,30],custom:[5,29,19,35],clip3:5,clip2:5,clip1:5,arithmet:26,includ:[10,28,0,2,12,14,5,20,31,19,16,8,9,35,30],suit:30,forward:[10,19],jarrai:19,blueprint:[3,8],larri:5,hawaiian:35,great:[3,10,19,18],sc_nprocessors_onln:32,quiescent:2,translat:[10,11,5,12,2,3,15,33,20,13,19,26,30],scope:28,line:[11,5,1,2,12,14,19,28,29,7,9,26,30],talli:5,info:[5,12],concaten:28,consist:[10,5,30,12,13,15,28,35],balabanov:0,jpython:19,fillrect:[26,12],pythoncard:12,similar:[10,5,1,2,12,28,6,9,30],toomuchaccess:30,parser:5,chao:30,doesn:[10,0,2,12,3,5,33,28,13,19,7,24,9],repres:[28,5,2],"char":[19,26],research:[3,24],cafe:35,blackboxtest:30,titl:[19,12],afford:1,intvalu:19,tbinlist:5,"_imag":13,mouseclick:12,getbound:26,cappuccinoextraespresso:35,nice:[3,28],draw:[29,15,26,33],getdeclaredclass:30,pythoninterpreterget:19,state_d:6,topydictionari:19,decoratorfunctionwithargu:9,eval:[15,33],itemavail:2,pricevisitor:5,lang:[5,19],jc2:19,vice:28,downcast:5,actionlisten:19,entryset:19,dvc:8,normpath:7,discrimin:28,jpanel:12,greenhousecontrol:19,mindlessli:5,dot:19,far:[10,28,5,30],java2pi:19,scroll:19,prototyp:[10,11,5,19],code:[1,2,17,19,6,7,8,9,10,11,12,14,15,26,16,5,28,25,35,20,29,30],partial:28,unclassifi:5,scratch:[19,9],tclone:5,"__getattr__":[0,6],edu:[5,9],benevol:3,privat:[0,29,30,12,19,8],elsewher:13,friendli:30,send:[3,28,5,6,19],granular:30,becam:30,paperscissorsrock2:33,sens:[10,5,1,30,15,28,9,35],ajout:10,sent:19,func2:9,func1:9,cheapli:[5,19],misappl:5,sausag:0,mous:[2,12],testdemo:30,electron:[3,13],alik:3,volum:[3,13],whatius:24,makeschang:2,kitti:15,tri:[5,1],magic:0,counterproduct:5,knight:6,button:[19,15],hive:0,"try":[10,5,1,30,12,13,19,24,8,9,26],session:2,mousetraptest:2,myfunct:28,pleas:[3,8,18],boxobserv:[30,12],"__metaclass__":0,readabl:28,natur:[5,30,12,13,28,9,26],verbiag:28,annot:[9,2],jump:9,slithi:19,binset:5,singletondecor:0,changeneighbor:12,odd:[6,35],click:[8,13,12],ctor:5,compat:31,index:[11,5,1,13,19,8],getclass:[20,17,5,19,2],compar:[5,1,19,30],espresso:35,access:[0,30,12,15,28,6,9],deleteobserv:12,runuculu:17,mouseadapt:12,spoken:5,can:[0,1,2,3,17,19,6,7,8,9,10,11,12,13,14,15,26,16,5,20,24,35,28,30,33],ibid:10,absolut:28,getmethod:[5,19],closur:9,let:[5,30,2,13,19,15,9,35],becom:[10,28,5,12,2,19,20,35,30],implicit:9,remark:[28,5,19],talent:3,convers:19,musser:20,larger:[5,31],makec:24,makeb:24,orgpattern:5,fetch:[5,12],staticmethod:[0,9,7,24,15],nameless:19,ratcanmov:26,evalrock:33,chanc:1,win:[17,19,33],app:12,foundat:[11,21],"_updat":7,pyton:19,expect:[10,5,19,33,28,18,9],hennei:10,"boolean":[5,19,26,2,30],notenough:2,limb:9,newimp:6,puriti:19,fee:19,from:[0,1,2,3,17,5,6,7,8,9,10,11,12,13,15,16,18,19,20,24,25,26,28,29,30,32,33,35],stream:19,commun:[3,26],doubl:[11,0,5,17,19,15,28,33],addtrash:5,whatihave3:24,next:[0,1,30,2,5,15,20,19,26],implic:35,few:35,camera:3,usr:30,simpler:[10,0,30,12,5,6,9],remaind:5,sort:[10,28,5,1,19,20],clever:10,tplus1:9,impress:5,train:3,bufferedread:26,iii:[11,23],starter:26,account:[8,30,35],chdir:30,retriev:19,critic:19,thin:15,meet:[17,5,2],scatter:5,proof:5,control:[10,11,0,1,2,12,13,5,15,28,6,19,8],cafemochawet:35,process:[10,28,5,1,30,2,13,15,33,20,29,19,8,9,35],lock:[3,9],high:[10,5],tag:[13,15,2],trashvisitor:5,csum:5,onlin:[13,12],kevlin:10,delai:2,comedi:28,georg:8,shapenamegen:15,sig:19,feta:35,subdirectori:[5,19,30],instead:[10,5,1,2,12,15,33,19,8,9,35,30],sin:19,overridden:[28,5,29,30,2],pyarrai:19,hazard:1,callback:[5,1,12],showmsg:28,multipl:[11,0,1,12,13,17,5,33,28,19,8],"120dpi":8,cheaper:10,physic:26,alloc:30,drop:5,essenti:[10,5,1,30,19,28],seriou:30,correspond:[5,30,35],element:[10,5,30,2,19,28,9],issu:[10,13,0,5],allow:[10,29,5,1,2,12,17,15,31,6,19,9],subtyp:5,horizdir:26,espressodecor:35,move:[10,5,1,2,12,3,19,13,8,31,26,30],evolutionari:5,comma:28,bunch:5,perfect:[3,10,5,13],outer:[0,24,19,12,30],chosen:[3,12],settitl:12,gnomesandfairi:15,newsgroup:8,decaf:35,criterion:12,tst:30,typemap:5,greater:19,"__getitem__":19,handl:[10,28,5,29],spell:3,dai:[3,19],tribut:33,devel:8,dat:5,mention:[3,5,1,15,30],snake:28,front:[11,6,35],strive:5,multiprocess:4,somewher:[15,12],anyth:[10,5,30,12,3,13,9],edit:[20,28,5,19],tran:2,slide:16,trap:2,truth:30,batch:28,reserv:30,beneath:29,psum:5,flair:13,subset:[5,35],chung:0,tolist:19,transitiona:2,transitionb:2,transitionc:2,nodecor:35,"static":[10,0,5,30,2,15,28,19,7,24,35],"_delta":7,whet:10,our:[5,9,19],patch:[8,12],transitiont:2,special:[28,5,6,19,15],out:[10,11,0,2,12,32,3,30,5,15,28,13,19,33,8,9,18],variabl:[28,0,2],matt:9,contigu:12,cwr:26,dongwoo:8,stub:6,suitabl:19,rel:5,merg:[8,11],ref:8,clone:[8,5],red:[26,12],clarifi:3,insid:[5,12,2,19,15,28,24,9,30],sortintobin:5,manipul:[20,19],dictionari:[19,2,15,33,28,24],tempt:6,releas:[2,12,30],embarrass:30,indent:[13,28,7],could:[10,0,1,2,12,3,5,15,28,6,19,30],ask:[10,5,12,15,20,19,35,8,26],david:[10,28],length:[5,12,2,13,19,26,30],enforc:30,outsid:[28,5,19,15],south:26,softwar:30,qualiti:[10,30],scene:6,echo:19,date:19,cafemochawetwhip:35,flyweight:2,newsingleton:0,facil:3,redund:1,cafemochaextraespressowhip:35,"long":[0,3,5,15,28,13,6,19,9,35],hee:6,unknown:[5,33],licens:[3,11,0,19,16],isassignablefrom:30,system:[10,5,1,30,2,32,3,17,14,15,33,13,19,8,26,18],messag:[10,28,2,12,30],overwhelm:8,termin:[28,1,30,26],prong:5,shell:[8,28],rsa:8,exit_on_clos:[19,12],slider:15,rst:7,exactli:[28,5,19,35],haven:[13,5],python3pattern:8,embodi:10,split:[7,12],structur:[10,11,5,1,28,30,2,19,20,6,35,26],bee:[17,6,12],bind:[3,5,33],steer:26,imho:28,aggreg:5,isstat:30,clearli:[10,5,35,2,30],have:[0,1,2,3,17,19,6,8,9,10,12,13,14,15,16,18,5,28,24,35,20,29,30,31,33],cohes:[10,5],need:[10,29,0,1,30,12,3,17,5,33,15,28,13,6,19,16,24,8,31,9,35],north:26,turn:[10,5,12,2,3,19,28,6,35,26,30],gentli:9,lightgrai:[26,12],min:12,rout:10,rmic:6,mix:5,sei:30,which:[10,28,0,1,2,12,33,3,17,14,5,29,15,20,13,6,19,35,9,26,30],linda:20,singl:[0,1,2,12,13,5,15,28,6,19,33,8,9],uppercas:29,unless:[3,6,30],clash:5,awt:19,minimasolv:1,discov:[10,11,5,30,32,13,15,8],rigor:30,textui:19,why:[10,5,9],changealgorithm:1,gather:10,stronger:28,face:5,inde:[0,19,9,5,30],realiz:[10,20,5,28,30],bui:3,michel:9,determin:[28,5,1,2,15,33,20,26],gettotalcost:35,occasion:30,constrain:30,inexpens:5,statemachine2:2,dbm:2,mainloop:12,conditionb:2,bring:[10,5,3,19,28,9,26],trivial:[5,19,2,30],anywai:[13,28,1],pythoncardprototyp:12,redirect:[0,19,30],textual:12,locat:[5,1,19,2,30],nois:30,createbox:12,hadn:2,winner:17,jar:19,figur:[3,13,5,19,32],should:[10,28,5,1,2,12,13,4,15,20,19,7,8,9,35,26,30],smallest:[5,35],suppos:[5,30,12,19,15,28,9],esqu:28,disciplin:9,inhabit:17,local:[10,5,12,3,8,35],hope:[10,16],overidden:2,contribut:[3,8,31,13,11],espinc:5,ludicr:5,familiar:[20,5],autom:[5,30,2,13,14,19],regularli:[5,35],piecewis:1,bean:19,increas:30,applicationframework:29,triangl:15,enabl:9,organ:[3,8,5,30,10],bisect:1,coplien:[5,1],grai:12,whatiuse2:24,integr:[28,5,1,30,12],contain:[10,11,0,28,2,12,5,15,20,19,7,24],grab:5,ddglass:5,view:[13,12],conform:35,"0079e10c":0,frame:[19,26],knowledg:[28,15,30],popen2:32,displai:[28,19,9,7,30],temporarili:19,troubl:[8,28,19],py2int:19,syntact:17,polymorph:[11,5,17,33,15,28],statu:5,wire:[0,5],dlg:19,correctli:[8,30],pattern:[10,11,0,1,2,12,17,5,23,15,20,6,19,7,24,9,35,30],boundari:[8,19],misus:[10,5],tend:[10,28,5,30],favor:10,written:[28,1,30,12],japplet:29,progress:[8,9],email:10,pazzaglia:20,bed:12,kei:[5,2,17,19,33,28,24,8,35],p2j:19,itertool:[27,11],job:[3,28,5,29],entir:[10,5,12,19,28,9],cafelattedecafwhip:35,addit:[5,2,12,3,19,28,6,8,9,30],exclaim:28,boxheight:12,plugin:8,admin:13,invulner:5,equal:[10,28,5,19,30],polici:29,admit:[10,5],instanc:[0,30,2,33,19,35],equat:9,section:[10,5,17,19,15,34,24,8],freeli:[20,19,30],comment:[28,19,30],make_fil:7,interp2:19,"0076c54c":0,simpleclass:28,wall:26,guidelin:[13,5],arriv:5,walk:[10,7,30],distinguish:[5,30],incess:31,respect:5,labor:10,quit:[19,30,2,13,15,28,9,35],htmldiff:7,decent:10,obstacl:15,compon:[20,5,35,19,12],treat:[5,19,2,30],nextto:12,immedi:[5,9,15,26,30],both:[10,0,12,13,33,5,15,28,6,19,35,9,26],inneradapt:24,assert:[24,15,2,30],espressoconpanna:35,togeth:[28,5,1,6,24],present:[10,5,30,2,19,24,35],multi:2,main:[5,29,30,12,3,19,28,26],plain:[8,35],align:28,defin:[10,28,0,29,2,12,5,15,20,19,9,35,30],aarrgggh:26,decept:19,howev:[10,28,0,1,2,12,13,17,5,15,20,6,19,35,24,9,26,30],cafemocha:35,htmlbutton:19,layer:[10,35],almost:[10,19,12,17,28,9],site:[3,5,1],motiv:[3,10,19,30,11],maxval:19,fiddl:6,incom:3,revis:5,cafemochadecaf:35,whatihav:24,bolder:30,insight:[10,5],began:[10,30],classpath:[28,19,30],cross:[3,13,19],member:[5,30,12,3,17,33,8],python:[0,1,2,3,19,6,7,8,9,10,11,12,13,14,15,18,5,28,35,30,31,32,33,34],tendenc:5,fill:[5,19],infer:28,difficult:[10,5,2,3,19,28,35],competit:12,http:[5,1,12,2,19,8,9,26,30],original_new:0,denot:28,expans:[19,2],drink:35,upon:[17,5,9,19],effect:[0,1,5,2,12,15,33,24,35,30],coffe:[11,35],handi:12,issuccess:1,commandpattern:1,canva:26,php:12,expand:6,decoratorwithargu:9,closenotifi:12,center:19,albin:5,firstli:35,weapon:17,nonetheless:9,well:[10,5,30,12,3,19,13,35,9,26],difflib:7,numerical_integr:1,thought:[10,0,1,31,5,20],scissor:33,weblog:9,exampl:[0,1,2,3,17,19,6,7,8,9,10,11,12,13,15,26,5,28,24,25,35,29,30,33],command:[11,19,1,30,14,28,29,7,8],choos:[11,5,1,30,3,15,35],breaker:10,latest:8,test1:[19,30],ccolor:12,test2:[19,30],test4:19,flesh:19,est:10,heavili:[20,5],skill:1,simultan:5,gliffi:13,web:[3,28],penchant:28,newbrain:1,idiom:[10,11,1,12,22,6],bell:[5,19],makefil:[19,30],knew:30,proxydemo2:6,script:[13,11,19,1,28],add:[0,1,2,3,17,19,6,7,8,9,10,12,13,14,15,26,16,5,28,35,30,33],cleanup:30,wet:35,collis:26,smart:[19,6,2],match:[17,5,1,33,12],confront:0,jython:[11,19],royalti:[3,19],branch:[8,11,5,26],fate:5,sumvalu:5,piec:[10,0,5],arguabl:[5,19],testa:30,camelcas:13,testb:30,know:[5,30,12,3,19,33,13,9],press:[28,19],redesign:5,height:[26,12],recurs:[5,1,15],insert:[28,0,5,7],trash:[10,11,5],resid:28,like:[10,28,5,1,2,12,3,17,15,33,20,13,6,19,16,8,31,9,35,26,30],lost:[5,19],incred:28,paperbin:5,necessari:[5,29,30,2,19,28,6,24,8],lose:[17,5,19,33],resiz:[28,29],karma:[3,13],page:[8,11,1,9,28],sum:[28,5],trashbin:5,captur:9,suppli:19,phenomena:12,cafemochaextraespresso:35,growth:35,superclass:19,flush:30,proper:[5,19,2],guarante:2,peter:12,librari:[11,19,1,28,30,12,32,20,24],simple2:28,tmp:30,"__setattr__":0,trust:30,lead:10,bintyp:5,avoid:[8,10,5],doublevalu:5,overlap:12,jeremi:26,itemnotavail:2,troup:28,getnam:[5,30],mode:[8,7],hinder:28,weslei:[5,1],investig:26,usag:[10,11,5,30],facilit:[5,12],host:[3,8],arg1:[28,9],although:[10,5,30,3,15,13,19,9],offset:12,newtonsmethod:1,panel:12,about:[10,11,5,28,30,2,32,3,15,33,20,13,19,35,24,8,9,26],quarter:2,rare:10,column:12,purist:5,javaclass:19,mindviewinc:19,bridg:19,constructor:[0,29,5,2,12,15,28,19,9,30],wxcommandev:12,own:[10,0,2,12,3,33,14,5,15,28,34,6,19,7,8,35,26,30],fillov:26,automat:[11,5,1,2,12,13,14,15,28,31,6,19,7,24,30],guard:10,getpric:2,awhil:10,rectifi:[5,9],pitfal:28,forget:5,leverag:19,prozac:2,val:[28,0,19,5,12],transfer:2,inner:[11,0,5,30,12,19,24,25,9],openobserv:12,maze:[11,26],stai:[10,5,1],arg2:[28,9],"function":[11,0,1,28,2,12,17,5,15,20,19,33,8,9,30],imatix:2,pythontojavaclass:19,subscrib:10,bodi:[28,5,1,9],gain:3,kungfugui:15,eat:17,count:[28,30,2],made:[5,2,31,13,19,12],newval:5,whether:[5,1,12,2,3,19,26],wish:[19,30,35],dynatrash:5,distract:19,record:26,below:[8,19,1,35,12],limit:[28,0,9,19],testfil:7,trepid:9,otherwis:[10,5,1,30,12,3],problem:[10,28,0,1,2,12,17,5,15,20,6,19,33,24,9,35,30],jdialog:19,evalu:2,pollin:17,"int":[5,12,2,32,19,26,30],dure:[5,30,2,3,19,20,6,9],twist:5,implement:[10,11,5,1,2,12,17,15,28,6,19,35,24,9,26,30],eric:[6,12],probabl:[10,5,1,12,13,19,33,28,6,9],typemapadapt:5,inevit:5,detail:[10,11,0,1,12,32,17,5,8],virtual:[5,29,2,17,15,28,6],book:[10,11,0,1,30,3,17,5,15,28,13,29,19,16,24,8,9,26,18],lookup:[17,33],futur:[3,19],rememb:[28,5,19,33],bazzar:13,repeat:[10,1,35,15,12],star:0,fulli:28,multipledispatch:33,accomplish:[0,5,12,19,28,6,24],lightoff:19,mazework:26,typenum:5,experienc:28,sphinx:[3,8,31,13,11],amp:[4,30,11],indirectli:5,rule:[10,11,19,30,13,28],getreturntyp:30,portion:30,klass:[0,12]},titles:["The Singleton","Function Objects","StateMachine","Introduction","Coroutines &amp; Concurrency","Pattern Refactoring","Fronting for an Implementation","Comprehensions","Developer Guide","Decorators","The Pattern Concept","Python 3 Patterns &amp; Idioms","Observer","Book Development Rules","A Canonical Form for Command-Line Programs","Factory: Encapsulating Object Creation","Teaching Support","Visitor","A Note To Readers","Jython","Iterators: Decoupling Algorithms from Containers","Part I: Foundations","Part II: Idioms","Part III: Patterns","Changing the Interface","Table-Driven Code: Configuration Flexibility","Projects","Generators, Iterators, and Itertools","Quick Python for Programmers","Building Application Frameworks","Unit Testing &amp; Test-Driven Development","Contributors","Discovering the Details About Your Platform","Multiple Dispatching","Python 3 Language Changes","Decorator: Dynamic Type Selection"],modules:{},descrefs:{},filenames:["singleton","functionObjects","stateMachine","Introduction","CoroutinesAndConcurrency","patternRefactoring","fronting","Comprehensions","DeveloperGuide","PythonDecorators","patternConcept","index","observer","Rules","CanonicalScript","factory","TeachingSupport","visitor","NoteToReaders","jython","iterators","Part1","Part2","Part3","changeInterface","tableDriven","projects","GeneratorsIterators","quickPython","appFrameworks","unitTesting","Contributors","MachineDiscovery","multipleDispatching","LanguageChanges","decorator"]})

html/stateMachine.html

 <li>Similar to flyweight</li>
 <li>Each state may move to many others</li>
 <li>Condition &amp; action functions must also be external to states</li>
-<li>Centralize description in a single table containing all variations, for ease of configuration</li>
+<li>Centralize description in a single table containing all variations,
+for ease of configuration</li>
 </ul>
 <p>Example:</p>
 <ul class="simple">
 <li>State Machine &amp; Table-Driven Code</li>
 <li>Implements a vending machine</li>
 <li>Uses several other patterns</li>
-<li>Separates common state-machine code from specific application (like template method)</li>
-<li>Each input causes a seek for appropriate solution (like chain of responsibility)</li>
-<li>Tests and transitions are encapsulated in function objects (objects that hold functions)</li>
+<li>Separates common state-machine code from specific application
+(like template method)</li>
+<li>Each input causes a seek for appropriate solution
+(like chain of responsibility)</li>
+<li>Tests and transitions are encapsulated in function objects