diff --git a/docs/_build/doctrees/LICENSE.doctree b/docs/_build/doctrees/LICENSE.doctree
index 655e6ab7892cdcee20ecfb2f15c75bccd031aade..ad1a00353c2f1f92456c3f555ceb1ead3e3a2508 100644
Binary files a/docs/_build/doctrees/LICENSE.doctree and b/docs/_build/doctrees/LICENSE.doctree differ
diff --git a/docs/_build/doctrees/code.doctree b/docs/_build/doctrees/code.doctree
index 8fe39c02646ca4fc5ba144b105e4ec7e38bd5467..601803e69b8abc3f0a83f092087b548c43925108 100644
Binary files a/docs/_build/doctrees/code.doctree and b/docs/_build/doctrees/code.doctree differ
diff --git a/docs/_build/doctrees/environment.pickle b/docs/_build/doctrees/environment.pickle
index 16b44acc5f531eb71c219713a40d5cf0883fae18..7c09abd5936d22c7f5ebedd9b3fd429cf930a6fa 100644
Binary files a/docs/_build/doctrees/environment.pickle and b/docs/_build/doctrees/environment.pickle differ
diff --git a/docs/_build/doctrees/exampleDemos.doctree b/docs/_build/doctrees/exampleDemos.doctree
index 3c4fb463e4772ad78782237b1a831046dd50ad5e..eadccb1825858542653458ffd6f701390488c0ad 100644
Binary files a/docs/_build/doctrees/exampleDemos.doctree and b/docs/_build/doctrees/exampleDemos.doctree differ
diff --git a/docs/_build/doctrees/examples/Workflow1-Importstl.doctree b/docs/_build/doctrees/examples/Workflow1-Importstl.doctree
index 71b721746e48e4f4406cb1f09cf2d785406a63aa..fc402df3cf036fb4c3de27c318c06e66cac65a62 100644
Binary files a/docs/_build/doctrees/examples/Workflow1-Importstl.doctree and b/docs/_build/doctrees/examples/Workflow1-Importstl.doctree differ
diff --git a/docs/_build/doctrees/examples/Workflow2-ImportTetMesh.doctree b/docs/_build/doctrees/examples/Workflow2-ImportTetMesh.doctree
index 10f93a1d796aa0cb1649c8f5b6ff58ac94cc6723..a21cf357331e8cc8cb8ab7f92c9c6a727f55bb3a 100644
Binary files a/docs/_build/doctrees/examples/Workflow2-ImportTetMesh.doctree and b/docs/_build/doctrees/examples/Workflow2-ImportTetMesh.doctree differ
diff --git a/docs/_build/doctrees/index.doctree b/docs/_build/doctrees/index.doctree
index 50b519fdf4086635589b844a1d2abe10e3be0505..b599a5e39dd18270ab499c1ca2f09733e99a948e 100644
Binary files a/docs/_build/doctrees/index.doctree and b/docs/_build/doctrees/index.doctree differ
diff --git a/docs/_build/doctrees/source/modules.doctree b/docs/_build/doctrees/source/modules.doctree
index 36301ac8667accaaf98dc466a09a09954600e221..83e5063853d79e8e07188951cf805c63c33d0bc3 100644
Binary files a/docs/_build/doctrees/source/modules.doctree and b/docs/_build/doctrees/source/modules.doctree differ
diff --git a/docs/_build/html/.buildinfo b/docs/_build/html/.buildinfo
index 327f5dfbe81ed49c85d414a1e3b93302249582f2..25d0e51219ea062cca7bcaf2785800d51493c606 100644
--- a/docs/_build/html/.buildinfo
+++ b/docs/_build/html/.buildinfo
@@ -1,4 +1,4 @@
 # Sphinx build info version 1
 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: 7b8a1187e31cbb4499c4c1c6491c9309
+config: 067df00bcbb26be78bc6b556e809425d
 tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/docs/_build/html/LICENSE.html b/docs/_build/html/LICENSE.html
index 7faa5da5128546ef293682f943cbf223eeb8864c..84c83779f381b77a984bd982f3442fbb08fd24d2 100644
--- a/docs/_build/html/LICENSE.html
+++ b/docs/_build/html/LICENSE.html
@@ -26,6 +26,7 @@
 
   <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
   <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+  <link rel="stylesheet" href="https://unpkg.com/font-awesome@4.5.0/css/font-awesome.min.css" type="text/css" />
     <link rel="search" title="Search" href="search.html" />
     <link rel="prev" title="AmpScan.tsbSocketDesign module" href="source/tsbSocketDesign.html" /> 
 
@@ -77,10 +78,10 @@
             
             
               <ul>
-<li class="toctree-l1"><a class="reference internal" href="exampleDemos.html">Examples</a></li>
+<li class="toctree-l1"><a class="reference internal" href="exampleDemos.html">Tutorials</a></li>
 </ul>
 <ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="code.html">AmpScan’s Code</a></li>
+<li class="toctree-l1"><a class="reference internal" href="code.html">Module Documentation</a></li>
 <li class="toctree-l1 current"><a class="current reference internal" href="#">License</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="#mit-license">MIT License</a></li>
 </ul>
@@ -243,6 +244,8 @@ SOFTWARE.</p>
       <script type="text/javascript" src="_static/underscore.js"></script>
       <script type="text/javascript" src="_static/doctools.js"></script>
       <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+      <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.4/require.min.js"></script>
+      <script type="text/javascript" src="https://unpkg.com/@jupyter-widgets/html-manager@^0.14.0/dist/embed-amd.js"></script>
 
   
 
diff --git a/docs/_build/html/code.html b/docs/_build/html/code.html
index ffe7156458e0ac623f18bf44c49dea7acafda516..8344e2028eba09690693a02c99690f1ee0c5f49b 100644
--- a/docs/_build/html/code.html
+++ b/docs/_build/html/code.html
@@ -26,6 +26,7 @@
 
   <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
   <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+  <link rel="stylesheet" href="https://unpkg.com/font-awesome@4.5.0/css/font-awesome.min.css" type="text/css" />
     <link rel="search" title="Search" href="search.html" />
     <link rel="next" title="AmpScan.align module" href="source/align.html" />
     <link rel="prev" title="Import Tetrahedral Mesh" href="examples/Workflow2-ImportTetMesh.html" /> 
@@ -252,6 +253,8 @@
       <script type="text/javascript" src="_static/underscore.js"></script>
       <script type="text/javascript" src="_static/doctools.js"></script>
       <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+      <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.4/require.min.js"></script>
+      <script type="text/javascript" src="https://unpkg.com/@jupyter-widgets/html-manager@^0.14.0/dist/embed-amd.js"></script>
 
   
 
diff --git a/docs/_build/html/exampleDemos.html b/docs/_build/html/exampleDemos.html
index eca716c9b7e2d7f9eff5abadd067c7be894fd282..91c68d900de25d3c7fbf9806f1baf3571c94825f 100644
--- a/docs/_build/html/exampleDemos.html
+++ b/docs/_build/html/exampleDemos.html
@@ -26,6 +26,7 @@
 
   <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
   <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+  <link rel="stylesheet" href="https://unpkg.com/font-awesome@4.5.0/css/font-awesome.min.css" type="text/css" />
     <link rel="search" title="Search" href="search.html" />
     <link rel="next" title="Test Output" href="examples/TESTnb.html" />
     <link rel="prev" title="AmpScan" href="index.html" /> 
@@ -242,6 +243,8 @@ via <code class="docutils literal notranslate"><span class="pre">import</span> <
       <script type="text/javascript" src="_static/underscore.js"></script>
       <script type="text/javascript" src="_static/doctools.js"></script>
       <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+      <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.4/require.min.js"></script>
+      <script type="text/javascript" src="https://unpkg.com/@jupyter-widgets/html-manager@^0.14.0/dist/embed-amd.js"></script>
 
   
 
diff --git a/docs/_build/html/examples/Workflow1-Importstl.html b/docs/_build/html/examples/Workflow1-Importstl.html
index d3a58d8410e64c52659483a2e0208886b23870b1..c094e0f94c6e7e4e3a79ba8b53433a7f54398c31 100644
--- a/docs/_build/html/examples/Workflow1-Importstl.html
+++ b/docs/_build/html/examples/Workflow1-Importstl.html
@@ -26,6 +26,7 @@
 
   <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
   <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+  <link rel="stylesheet" href="https://unpkg.com/font-awesome@4.5.0/css/font-awesome.min.css" type="text/css" />
     <link rel="search" title="Search" href="../search.html" />
     <link rel="next" title="Import Tetrahedral Mesh" href="Workflow2-ImportTetMesh.html" />
     <link rel="prev" title="Test Output" href="TESTnb.html" /> 
@@ -424,6 +425,8 @@ current working directory as <code class="docutils literal notranslate"><span cl
       <script type="text/javascript" src="../_static/underscore.js"></script>
       <script type="text/javascript" src="../_static/doctools.js"></script>
       <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+      <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.4/require.min.js"></script>
+      <script type="text/javascript" src="https://unpkg.com/@jupyter-widgets/html-manager@^0.14.0/dist/embed-amd.js"></script>
 
   
 
diff --git a/docs/_build/html/examples/Workflow2-ImportTetMesh.html b/docs/_build/html/examples/Workflow2-ImportTetMesh.html
index 571f07fe6385948cbbf302797f8ab70c0225fdf1..514679b9226d525a612e9627aba059b1e863b077 100644
--- a/docs/_build/html/examples/Workflow2-ImportTetMesh.html
+++ b/docs/_build/html/examples/Workflow2-ImportTetMesh.html
@@ -26,6 +26,7 @@
 
   <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
   <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+  <link rel="stylesheet" href="https://unpkg.com/font-awesome@4.5.0/css/font-awesome.min.css" type="text/css" />
     <link rel="search" title="Search" href="../search.html" />
     <link rel="next" title="Module Documentation" href="../code.html" />
     <link rel="prev" title="Import stl" href="Workflow1-Importstl.html" /> 
@@ -421,6 +422,8 @@ absolute path of the mesh.</p>
       <script type="text/javascript" src="../_static/underscore.js"></script>
       <script type="text/javascript" src="../_static/doctools.js"></script>
       <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+      <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.4/require.min.js"></script>
+      <script type="text/javascript" src="https://unpkg.com/@jupyter-widgets/html-manager@^0.14.0/dist/embed-amd.js"></script>
 
   
 
diff --git a/docs/_build/html/index.html b/docs/_build/html/index.html
index 8df04e74513621617f94be0d3832965a0007fda1..8d24413867dd612cd971933af1acf7b94df1f47d 100644
--- a/docs/_build/html/index.html
+++ b/docs/_build/html/index.html
@@ -26,6 +26,7 @@
 
   <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
   <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+  <link rel="stylesheet" href="https://unpkg.com/font-awesome@4.5.0/css/font-awesome.min.css" type="text/css" />
     <link rel="search" title="Search" href="search.html" />
     <link rel="next" title="Tutorials" href="exampleDemos.html" /> 
 
@@ -257,6 +258,8 @@ developing AmpScan.</p>
       <script type="text/javascript" src="_static/underscore.js"></script>
       <script type="text/javascript" src="_static/doctools.js"></script>
       <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+      <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.4/require.min.js"></script>
+      <script type="text/javascript" src="https://unpkg.com/@jupyter-widgets/html-manager@^0.14.0/dist/embed-amd.js"></script>
 
   
 
diff --git a/docs/_build/html/search.html b/docs/_build/html/search.html
index 4511960e0f236102b9fbd4e3b7770d97a269c978..bd4d27abc5e819c6d2c90933ce7bb177a4b3f8c5 100644
--- a/docs/_build/html/search.html
+++ b/docs/_build/html/search.html
@@ -26,6 +26,7 @@
 
   <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
   <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+  <link rel="stylesheet" href="https://unpkg.com/font-awesome@4.5.0/css/font-awesome.min.css" type="text/css" />
     <link rel="search" title="Search" href="#" /> 
 
   
@@ -201,6 +202,8 @@
       <script type="text/javascript" src="_static/underscore.js"></script>
       <script type="text/javascript" src="_static/doctools.js"></script>
       <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+      <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.4/require.min.js"></script>
+      <script type="text/javascript" src="https://unpkg.com/@jupyter-widgets/html-manager@^0.14.0/dist/embed-amd.js"></script>
       <script type="text/javascript" src="_static/searchtools.js"></script>
 
   
diff --git a/docs/_build/html/searchindex.js b/docs/_build/html/searchindex.js
index a11dc302112fb5d47d3e2684c8335cd7a362b07e..8d030a9be50ba9c72b4bbabaaa86482f182eeb58 100644
--- a/docs/_build/html/searchindex.js
+++ b/docs/_build/html/searchindex.js
@@ -1 +1 @@
-Search.setIndex({docnames:["LICENSE","code","exampleDemos","examples/TESTnb","examples/Workflow1-Importstl","examples/Workflow2-ImportTetMesh","index","source/align","source/ampVis","source/analyse","source/core","source/fe","source/modules","source/pca","source/pressSens","source/registration","source/smooth","source/trim","source/tsbSocketDesign"],envversion:53,filenames:["LICENSE.rst","code.rst","exampleDemos.rst","examples\\TESTnb.ipynb","examples\\Workflow1-Importstl.ipynb","examples\\Workflow2-ImportTetMesh.ipynb","index.rst","source\\align.rst","source\\ampVis.rst","source\\analyse.rst","source\\core.rst","source\\fe.rst","source\\modules.rst","source\\pca.rst","source\\pressSens.rst","source\\registration.rst","source\\smooth.rst","source\\trim.rst","source\\tsbSocketDesign.rst"],objects:{"AmpScan.analyse.analyseMixin":{axis:[9,0,1,""],slices:[9,0,1,""]}},objnames:{"0":["py","attribute","Python attribute"]},objtypes:{"0":"py:attribute"},terms:{"00000000e":3,"0000ff":3,"00ff00":3,"00ffff":3,"087f34dd4cbf":3,"0x01f01300":3,"0x01fce620":3,"0x01ffd580":3,"0x1":3,"0x100":3,"0x2233":3,"0x3322":3,"123782f16f0842b1a1c0b98dc3df7e6d":3,"13698227e":3,"1x3":[],"25087011e":3,"27025015e":3,"4294967296l":3,"48219694e":3,"88528414e":3,"boolean":[3,10],"break":3,"byte":3,"case":[3,7],"class":[3,7,8,9,10,11,13,14,15,16,17,18],"default":[3,9,10,15,16],"final":3,"float":[3,17],"function":[2,3,6,7,8,10,11,13,14,15,16],"import":[2,3,6,8,10,13,14],"int":[3,8,15,16],"long":[3,7],"new":[3,13],"public":3,"return":[3,7,10],"short":3,"static":[3,7,9,10,11],"super":3,"true":[3,8,10,11,13,15],"try":3,"var":3,"void":3,"while":3,AND:0,And:7,BUT:0,FOR:0,For:[3,6],GIS:7,Its:3,NOT:0,Not:10,One:3,THE:0,The:[0,3,4,5,6,7,10,15],Then:3,There:3,These:[3,7],USE:[0,14],Use:3,Used:3,Using:[3,7],WITH:0,__abs__:3,__add__:3,__and__:3,__array__:3,__array_finalize__:3,__array_interface__:3,__array_prepare__:3,__array_priority__:3,__array_struct__:3,__array_ufunc__:3,__array_wrap__:3,__bool__:3,__builtins__:3,__cached__:3,__complex__:3,__contains__:3,__copy__:3,__deepcopy__:3,__del__:3,__delitem__:3,__dict__:3,__divmod__:3,__doc__:3,__eq__:3,__file__:3,__float__:3,__floordiv__:3,__format__:3,__ge__:3,__getitem__:3,__getstate__:3,__gt__:3,__hash__:3,__iadd__:3,__iand__:3,__ifloordiv__:3,__ilshift__:3,__imatmul__:3,__imod__:3,__imul__:3,__index__:3,__init__:3,__int__:3,__invert__:3,__ior__:3,__ipow__:3,__irshift__:3,__isub__:3,__iter__:3,__itruediv__:3,__ixor__:3,__le__:3,__len__:3,__loader__:3,__lshift__:3,__lt__:3,__matmul__:3,__mod__:3,__mul__:3,__name__:3,__ne__:3,__neg__:3,__new__:3,__or__:3,__package__:3,__pos__:3,__pow__:3,__radd__:3,__rand__:3,__rdivmod__:3,__reduce__:3,__repr__:3,__rfloordiv__:3,__rlshift__:3,__rmatmul__:3,__rmod__:3,__rmul__:3,__ror__:3,__rpow__:3,__rrshift__:3,__rshift__:3,__rsub__:3,__rtruediv__:3,__rxor__:3,__set__:3,__setitem__:3,__setstate__:3,__signature__:3,__sizeof__:3,__spec__:3,__str__:3,__sub__:3,__truediv__:3,__warningregistry__:3,__weakref__:3,__xor__:3,_a_chang:3,_array_interface_:3,_as_parameter_:3,_base:3,_call_widget_construct:3,_cast_typ:3,_chang:3,_cross_valid:3,_cross_validation_lock:3,_intern:3,_mockobject:[8,14],_model_id:3,_model_nam:3,_on_potential_ret_v:3,_trait_valu:3,_valid:3,abl:10,about:[3,7],abov:[0,3,7,17],abs:3,absolut:[4,5],absolute_import:3,access:3,accord:[3,17],accordingli:3,accur:3,act:[3,8],action:0,activ:6,actor:[8,14],actual:3,adapt:7,add:[3,14,15],add_trait:3,addactor:[8,14],addax:8,addf:11,addsurrog:11,affect:3,after:3,again:3,algorithm:[3,7],alia:3,align:[1,3,6],all:[0,3,4,10,13,18],alloc:3,allow:3,along:[3,11],alreadi:3,also:[3,6,7],alter:3,altern:3,alwai:3,amax:3,ambientlight:3,amin:3,among:3,amp2:3,amp:[3,4],ampactor:[8,10],ampjuppi:3,ampobj:[8,10],ampobject:[3,4,5,8,10,14,15],ampscan:[1,2,3,4,5],ampvi:[1,10],anaconda3:3,analys:[1,10],analysemixin:[9,10],analysi:[],ang:10,angl:10,ani:[0,3],anonym:7,anoth:[3,9],ant:14,anyon:6,anyth:3,api:3,appear:3,appli:[3,4,16],appropri:3,arang:3,arbitrari:3,arbitrarili:3,archiv:3,area:3,arg:[3,7,9,15],argmax:3,argmin:3,argpartit:3,argsort:3,argument:[3,15],aris:0,arithmet:3,around:[3,10],arr:3,arr_t:3,arrai:[3,5,7,8,9,10,14,16],array_lik:[7,10],arriv:3,as_strid:3,aspect:14,asset:3,assign:3,associ:[0,3],astyp:3,attempt:[3,15],attribut:3,attributeerror:3,author:[0,7,8,9,10,11,13,14,15,16,17,18],autodoc:[8,14],autogener:3,autom:7,automag:3,automat:3,avail:[3,6],averag:3,avoid:3,axes:3,axi:[3,9],axis1:3,axis2:3,back:3,backend:18,backend_qt5agg:18,background:[3,8],background_opac:3,backward:3,badexcept:7,band:[8,14],bar:8,base:[3,7,8,9,10,11,13,14,15,16,17,18],basegeometri:3,basegeometry_autogen:3,basegeometrymodel:3,baselin:[13,15],basetyp:3,basic:4,becaus:[3,7],becom:3,been:3,befor:3,begin:[3,14],behav:3,behavior:3,behaviour:3,behind:3,being:3,below:3,best:[],between:[3,7,14],bewar:3,beziercurv:18,big:3,biggish:3,binari:[3,4,10],bit:3,black:3,blank:7,block:3,bool:3,borrow:3,both:3,boxgeometri:3,buffer:3,bufferattribut:3,buffergeometri:3,bug:3,build:[],built:3,builtin:3,bundl:3,bypass:3,bytesio:3,byteswap:3,c_contigu:3,c_doubl:3,c_int:3,c_intp:3,c_long:3,c_long_array_2:3,c_longlong:3,c_longlong_array_2:3,c_short:3,c_void_p:3,calcbarycentr:15,calcdisterror:7,calcedg:10,calcedgefac:10,calcerror:15,calcfac:14,calcfaceedg:10,calcfaceshex:14,calcgradi:11,calcnorm:10,calcppi:11,calcstruct:10,calcul:[3,10,11,13,14],calcvert:14,calcvnorm:10,call:3,callabl:3,callback:3,camera:[3,8],can:[2,3,7],cannot:3,capabl:5,care:3,carrai:3,cast:3,caus:3,ccube:3,ceg:3,center:[3,13],centr:[10,14],certain:3,cfloat:3,chain:3,chang:3,charg:0,check:[3,8],children:3,choic:3,choos:3,cint:3,circumst:3,cite:7,claim:0,class_own_trait:3,class_own_trait_ev:3,class_trait:3,class_trait_nam:3,clear:3,cline:14,clip:3,clone:[2,6],clongdoubl:3,close:3,close_al:3,closest:[3,7],cls:3,cmap:[8,10,14],code:3,coincid:10,collaps:3,color:[3,8,14],colormap:10,colour:8,column:3,come:3,comm:3,common:6,common_parameters_listed_abov:7,comp:11,compar:3,compat:3,compil:3,complex128:3,complex:3,complexwarn:3,complic:3,compress:3,comput:[7,10,14],compute_initial_figur:18,computefacenorm:3,condit:[0,3],config:3,conj:3,conjug:3,connect:[0,14,18],consecut:3,consid:6,construct:3,constructor:3,consum:3,contain:[3,4,8,14],content:3,context:3,contextmanag:3,contigu:3,contract:0,control:3,conveni:3,convent:3,convers:3,convert:3,copi:[0,3],copyright:0,copyto:3,core:[1,2,3,4,5],correct:3,correspond:3,could:[3,7],count:3,crash:3,creat:[3,7,8,9,10,11,13,14,15,16,17,18],create_slic:9,create_slices_ci:9,createcmap:10,creation:3,crisp:3,cross:3,cross_validation_lock:3,ctype:3,ctypeslib:3,cube:3,cubegeometri:3,cumprod:3,cumsum:3,cumul:3,current:[3,4,15],custom:[3,8],cylindergeometri:3,damag:0,dat:11,data:[3,8,10,13,14,18],data_a:3,data_typ:7,datatextur:3,date:6,dddddd:3,ddof:3,deal:[0,8,10],dealloc:3,decim:3,declar:3,deep:[3,8],deepcopi:[3,8],def:3,defin:3,defmatrix:3,degre:10,delet:[3,17],demonstr:2,denot:10,depend:3,deprec:3,depreci:[],desc:[7,9],describ:[3,7],descript:[3,7],descriptor:[3,10],design:[4,6],despit:3,detail:[3,7],determin:3,deviat:[3,10],diag:3,diagon:3,dict:[3,10],dictionari:[3,5,8,10,14],differ:3,dim:3,dimens:3,dimension:3,dir:3,direct:[3,15],directionallight:3,directli:[3,6,10],directori:[2,4],disconnect:18,discourag:3,displai:[3,7,8],dispos:3,distribut:0,divmod:3,doc:3,docstr:[7,8,11,14,17,18],doctest:7,document:[0,3,6,15],doe:[3,7],doesn:3,doing:3,don:3,done:[3,7],dot:3,download:2,dpi:18,dragsplin:18,drop_default:3,dtype:3,dump:3,dynam:3,each:[3,7,10],easier:3,edg:[3,9,10],edgefac:10,edgesfac:10,effect:3,eig:13,eigenvalu:13,either:[3,4,5,8,10,14],element:[3,11],els:3,embed:[3,8],empti:3,enabl:10,end:[3,7,14,15],endian:3,enlarg:3,enough:3,ensur:15,enter:3,entri:3,env:3,environment:7,equal:3,equat:7,equiv:3,equival:3,error:3,especi:3,etc:[3,18],euler:10,evalu:3,even:[3,7],event:[0,3,18],event_handl:3,exactli:3,examin:3,exampl:[3,7],except:3,exclud:3,excut:3,exec_three_obj_method:3,execut:3,exhibit:3,exist:3,exit:3,expens:3,expert:7,explan:[3,7],explanatori:14,expos:3,express:0,ext:[8,14],extend:7,extension_spec_vers:3,extern:10,extra:10,eye:3,f_contigu:3,fac:3,face:[3,8,10,14],faceedg:10,facevertexuv:3,fail:3,fairli:7,fals:[3,8,10],farrai:3,faster:3,fea:10,femixin:[10,11],fewer:3,ff0000:3,ff00ff:3,ffff00:3,ffffff:3,fid:3,field:3,fifthfunc:7,figur:18,figurecanvasagg:18,figurecanvasqtagg:18,file:[0,2,3,4,5,8,10,11,13,14],filenam:[3,10],fileno:3,fill:3,filter:3,find:3,finit:11,fire:3,first:[3,4],fit:[0,3],fix:[3,8,14],flag:3,flat:[3,17],flatit:3,flatten:3,flexibl:10,float32:3,float64:3,fly:3,fname:[8,14],fnc:3,folder:13,follow:[0,3],font:8,forc:3,forcibl:3,form:3,format:[3,7],formatt:3,fortran:3,found:3,four:3,fourthfunc:7,fov:3,free:[0,3],fri:13,from:[0,2,3,4,5,6,8,10,13,14,15],from_geometri:3,fromfil:3,front:3,frontend:3,full:3,fulli:3,func1:14,func2:14,func:3,fundament:4,furnish:0,further:3,futur:3,fuzzi:7,garbag:3,gener:[3,8,10],genim:8,geometri:3,geometry_autogen:3,geometrymodel:3,geoscienc:7,get:3,get_manager_st:3,get_stat:3,get_view_spec:3,getfield:3,getimag:8,getscreenshot:8,getsurf:11,git:[2,6],gitlab:[2,6],give:3,given:3,good:3,gradient:11,grant:0,greater:3,greek:7,grid_indices_gen:3,group:3,gui:8,guid:3,gzipfil:3,habitat:7,haggi:7,handl:[5,6],handle_comm_open:3,handler:3,hardwar:3,has:[3,7],has_trait:3,hasattr:3,hasdescriptor:3,hastrait:3,have:[3,7,10],heapsort:3,heavili:6,height:[3,13,17,18],height_textur:3,heightseg:3,hello:3,help:3,here:[2,3,4,7],herebi:0,hex:3,higher:3,highland:7,hold:3,hold_sync:3,hold_trait_notif:3,holder:0,homogen:3,how:[3,7],howev:3,http:[3,6],icp:[7,10],ids:18,ignor:3,illustr:[3,7],imag:[3,8],imagin:3,imaginari:3,implement:[3,7],impli:[0,3,7],importfold:13,importpress:14,importvert:14,includ:[0,3,7,8],incompat:3,incorpor:4,increas:[3,10],ind:15,independ:3,index:[3,6,10],indic:3,indici:[10,11],indirect:3,infer:3,info:3,inform:[3,10],inherit:[3,8,10,14],init:3,initi:[3,10],inittransform:7,inlier:7,inlin:7,inplac:3,input:[3,4,7,10],insensit:3,insert:[3,8,14],insid:[3,15],instal:[2,3],instanc:3,instanti:3,instead:3,int16:3,int32:3,int8:3,int_:3,int_typ:3,integ:3,integr:7,intend:3,intens:3,interact:3,interchang:3,interest:6,interfac:[3,8],interpret:3,intersect:14,intersectlinemesh:14,introselect:3,invalid:3,involv:4,ipython:3,ipywidget:3,isfortran:3,isinst:3,isn:3,issu:8,item:3,items:3,itemset:3,iter:[3,7,15,16],its:3,itself:[3,8],jan:9,joshua:0,js22g12:[6,7,8,9,10,11,13,14,15,16,17,18],jul:13,jump:3,jupyt:3,just:3,keepdim:3,kei:3,keyword:[3,15],kind:[0,3],klass:3,know:3,known:3,krige:7,kth:3,kwarg:[3,7,15],laplacian:16,larger:3,last:3,latest:[],latter:3,layout:3,least:[3,7],leav:3,left:3,len:3,length:3,letter:3,level:3,lexsort:3,liabil:0,liabl:0,lib:3,librari:3,licens:6,lights_color:3,lights_grai:3,like:[3,7],limb:[8,10],limbsid:14,limit:[0,3],line:[3,7,14],linear:7,linearicp:7,linedist:3,list:3,literatur:7,littl:3,load:3,local:3,locat:3,lock:[3,18],log:3,logginghastrait:3,logic:7,longdoubl:3,look:3,lookup:8,loop:3,lose:3,lost:3,low:3,lowercas:3,lp_c_long:3,lp_smooth:16,lut:14,m8_cast1_scan1:3,machin:3,made:[3,7],mag:8,mai:[3,7,10],maintain:3,major:3,make:[2,3,10,14],make_text:3,man_rot:[],manag:3,mani:3,manipul:[4,6],map:[3,8,14],match:3,materi:3,math:[3,7],mathemat:6,matplotlib:[3,18],matric:[],matrix:[3,6,10],matrixlib:3,max:3,maximum:3,maxit:7,mcnoleg:7,mean:[3,10,13],medic:[],memo:3,memori:3,merchant:0,merg:0,mergesort:3,mesh:[2,3,4,6,7,8,10,14,15,16],meshlambertmateri:3,messag:3,metadata:3,metahastrait:3,meth:3,method:[3,7,8,9,10,14,15],method_nam:3,min:3,minimis:7,minimum:3,miss:3,mixin:10,mod:3,mode:3,model:[3,7],model_id:3,modif:3,modifi:[0,3],modul:[2,3,6],more:[3,7],morph:15,morphnorm:3,morphtarget:3,most:[3,4,6],move:[3,7],moveabl:18,mplcanva:18,msg:3,multidimension:3,multipl:[3,7,8,13],must:3,myobject:3,myobjectcub:3,name:[3,7,8],nan:10,nativ:3,nav_logo:3,navig:2,nbyte:3,ndarrai:[3,10],ndarray_subclass:3,ndim:3,nearest:3,necessari:[3,7],need:[3,7,9,10,15,18],neededin:8,neigh:15,nest:3,network:7,neural:7,never:3,new_arr:3,new_ord:3,new_shap:3,new_valu:3,newbyteord:3,newbytord:3,newfunc:7,newli:3,newshap:13,next:3,nice:3,nodal:10,node:10,non:3,none:[3,7,8,10,14,15,18],noninfring:0,nonzero:3,norm:[8,10,11],normal:[3,10],note:[3,7,13],notic:0,notif:3,notifi:3,notify_chang:3,nov:11,now:3,npm_pkg_name:3,npy:5,number:[3,8,15,16],numpi:[3,5,6,8,10,11,14,18],obj:3,object:[3,7,8,9,10,11,13,14,15,16,17,18],observ:3,obtain:[0,3],occupi:3,occur:3,oct:18,offset:3,old:3,old_valu:3,omit:3,on_displai:3,on_mot:18,on_msg:3,on_press:18,on_releas:18,on_trait_chang:3,on_widget_construct:3,onc:3,one:[3,7],ones:3,onli:3,only_seldom_used_keyword:7,onto:[3,14,15],opac:8,open:3,openend:3,oper:6,opposit:3,optim:3,option:[3,7,10],orbitcontrol:3,order:3,org:[3,6],orient:7,origin:3,other:[0,3,7],otherfunc:7,otherwis:[0,3],our:3,out:[0,3,7,8],outermost:3,output:[2,6,8,10],outsid:14,over:3,overcom:3,overflow:3,overrid:3,own:3,owndata:3,owner:3,p2p:[],packag:[3,4,6],paragraph:[3,7],parallel:8,param:3,paramet:[3,7,8,10,14,15,16,17],parent:[3,18],paritit:3,part:[3,4],partial:3,particular:[0,3],particularli:[],partit:3,pass:3,passthrough:3,path:[4,5,10,13],pca:1,peak:[3,11],per:3,perform:[6,15],perhap:3,permiss:0,permit:0,permut:3,person:0,perspect:8,perspectivecamera:3,pickl:3,piec:3,pip:[2,6],place:[3,15],plainbuffergeometri:3,plaingeometri:3,planartrim:17,plane:[9,15,17],planeedgeintersect:9,platform:3,plot_slic:9,plotmesh:3,plt:3,png:8,point2plan:[7,15],point:[3,5,7],pointer:3,pop:3,portion:0,pos:14,posit:[3,14],possess:3,possibl:3,pow:3,precis:3,predict:3,present:[],preserv:3,press:[14,18],pressactor:14,presssen:1,presssens:14,pressur:[11,14],prevent:3,previou:3,previous:3,print:[3,7],prior:3,prioriti:3,privat:3,probabl:9,problem:[3,7],prod:3,produc:3,product:3,project:[8,10,14],properli:3,properti:3,prosthet:6,protocol:3,provid:[0,2,3,4,5,6,7],ptp:3,publish:0,pull:10,purpos:[0,3],put:3,pyarray_resolvewritebackifcopi:3,pypi:[3,6],pyqt:6,python:[3,6],pythreej:3,qtvtkwindow:8,quad:14,quaddata:5,quick:3,quicksort:3,qvtkrenderwindowinteractor:8,qwidget:18,race:3,rad:10,radialseg:3,radian:10,radiusbottom:3,radiustop:3,rais:[3,7],randint:3,random:3,ravel:3,raw:3,rawdata:3,read:[3,10],read_stl:10,real:3,realloc:3,rearrang:3,recarrai:3,receiv:3,recent:3,recov:3,recreat:3,red:3,reduc:10,refcheck:3,refer:[3,7],referenc:3,reflect:3,regist:[3,6,13,15],registr:1,regobject:15,regular:3,reinterpret:3,rel:[4,5],relat:3,relationship:7,releas:18,relev:[3,7],reli:[6,7],reliabl:3,remain:3,remot:7,remov:3,render:[3,8],renderactor:8,renderercub:3,repeat:3,replac:3,replic:[],repositori:[2,6],repr:3,repres:[3,10],represent:3,request:3,requir:[2,3,4,8,10],research:6,reset:18,reshap:3,resiz:3,resolut:3,respect:3,restor:3,restrict:[0,3],result:3,revers:3,right:0,rigidtransform:10,root:2,rot2quat:7,rot:[7,10],rotat:10,rotatemat:10,rotmatrix:10,round:3,row:3,rst:3,run:[2,3,13],runtimeerror:3,safe:3,same:3,same_kind:3,sampl:[2,7,8],sample_stl_sphere_bin:[3,4],satisfi:3,save:[4,8,10],scalar:[3,8,14],scale:13,scanfac:3,scangeom:3,scanvert:3,scene:3,scenecub:3,scipi:6,searchsort:3,second:[3,10],section:[2,3,7],see:[3,8],segment:3,select:3,self:[3,9,14],sell:0,send:3,send_stat:3,sens:7,sensepo:14,sensor:14,sep:[3,7,8,10,14,15,16,17],separ:3,sequenc:3,seri:2,set:[3,7,8,14],set_stat:3,set_trait:3,setattr:3,setbackground:8,setbaselin:13,setcmap:[8,14],setcolor:8,setfac:[8,14],setfield:3,setflag:3,setinteractorstyl:8,setnorm:8,setnumviewport:8,setopac:8,setpress:14,setproject:8,setscalarbar:8,setscalarrang:[8,14],setshad:8,setup:3,setup_inst:3,setvalu:8,setvert:[8,14],setview:8,sfs:13,shade:8,shall:0,shape:[3,10,13,15],shape_a:3,share:3,should:[3,4,5,6,7],shouldn:7,show:3,shown:3,shrink:3,side:3,signal:18,signatur:3,similar:3,similarli:3,simpl:[6,16],simpli:3,simplifi:3,simultan:3,sinc:3,singl:3,site:3,size:[3,10],skinindic:3,skinweight:3,skip:3,slice:[3,9,13,17],slicefil:13,slot:3,slwidth:9,smaller:3,smax:14,smin:14,smooth:[1,10,15],smoothmixin:[10,16],smoothvalu:16,socket:[6,10,14],socketdesignmixin:18,softwar:0,some:[2,3,7],some_dtyp:3,someth:3,sort:3,sorter:3,soton:6,sourc:3,southampton:6,space:[3,10],specif:[3,6],specifi:[3,10],speed:[3,10],sphere:4,spheregeometri:3,sphinx:[8,14],spline:18,split:8,sprite:3,spritemateri:3,sqrt:3,squar:7,squeez:3,srang:8,stabl:3,standard:3,start:3,state:3,statement:3,std:3,stdev:13,stdin:3,steer:0,step:[3,15],still:[3,6],stl:[2,3,6,10,13],storag:3,store:[3,10,18],store_ref:3,str:[3,10,14,15,17],stride:3,stride_trick:3,strides_a:3,string:[3,4,5,10,15],struc:10,struct:3,structur:[3,7],style:[3,11,14,18],stype:[9,10,18],sub:3,subclass:3,subject:0,sublicens:0,subok:3,subsequ:3,subset:15,substanti:0,suggest:3,suitabl:3,sum:3,superfici:3,suppli:5,support:3,sure:3,surfac:10,surfacegeometri:3,surfacegrid:3,surrpr:11,svg:3,swap:3,swapax:3,symbol:7,sync:3,sync_data:3,syntax:3,system:7,systemerror:3,tabl:8,tag:3,take:3,target:15,techniqu:7,tell:3,temporari:3,test:[2,6,8,15],tetrahedr:[2,6],text:3,texttextur:3,textur:3,than:3,thei:3,them:[3,4],themselv:3,therefor:3,theta:11,thetalength:3,thetastart:3,thi:[0,2,3,6,7,8,15,17,18],thirdfunc:7,three:[3,10],threej:3,threewidget:3,through:[3,6,7],thu:[3,7,8,16,17],ties:3,tiff:8,time:3,titl:8,tobyt:3,todo:3,tofil:3,toggl:3,told:3,tolist:3,tool:[4,6],tort:0,tostr:3,total:3,trace:3,traceback:3,trait:3,trait_ev:3,trait_metadata:3,trait_nam:3,traiterror:3,traitlet:3,traitnam:3,traittyp:3,tran:10,translat:10,transport:3,transpos:3,travers:3,triangl:15,trim:[1,10],trimmixin:[10,17],troubl:3,truli:3,truncat:3,tsbsocket:18,tsbsocketdesign:1,ttree:7,tue:9,tupl:3,tutori:6,two:[3,7,10,15],type:[3,7,10],type_without_descript:7,typecod:3,uic:3,ultim:[3,18],unbound:3,unchang:3,undefin:3,under:[3,6],underli:3,undocu:3,unicod:3,unifi:[10,13],unifyvert:10,uninstal:3,unintal:3,univers:6,unless:3,unlik:3,unobserv:3,unobserve_al:3,unpickl:3,unregist:3,unsaf:3,unspecifi:3,until:3,updat:[3,13],updateifcopi:3,upon:[8,10,13],upper:3,url:[3,6],usag:4,use:[0,3,4,7],used:[3,15],useful:3,user:3,uses:3,using:[2,3,6,7,10],usual:3,val:3,valid:3,validate_el:3,valu:[3,7,8,10,11,16,17],valueerror:3,variabl:3,varianc:3,variou:3,vector:3,veri:3,version:[3,6],versionad:3,versu:3,vert:[3,8,14,15],vertex:[3,10,14],vertexcolor:3,vertic:[3,8,10,14,15,17],via:[2,3,10],view:[3,8],viewport:8,vismixin:[8,10],visualis:[8,10],vizualis:6,vnorm:10,vol:7,vtk:[6,8,14],vtkrenwin:8,vtkwindow:8,wai:3,want:3,warranti:0,weak:3,wed:[10,11,14,15,18],weird:15,well:[3,18],were:3,what:[3,7,8],when:3,where:3,whether:[0,3],which:[3,7],whom:0,whose:3,widget:3,widget_seri:3,widget_typ:3,widgetregistri:3,width:[3,18],window:8,winheight:8,winwidth:8,wise:3,within:[3,8,14,15],without:[0,3],work:[3,4,7,13],workflow:[2,6],world:3,would:3,wrap:7,wrapper:3,write:3,writeabl:3,writebackifcopi:3,written:[3,7],x00:3,x01:3,x02:3,x03:3,yet:3,you:[2,3,7],zero:3,zoom:8},titles:["License","Module Documentation","Tutorials","Test Output","Import stl","Import Tetrahedral Mesh","AmpScan","AmpScan.align module","AmpScan.ampVis module","AmpScan.analyse module","AmpScan.core module","AmpScan.fe module","AmpScan","AmpScan.pca module","AmpScan.pressSens module","AmpScan.registration module","AmpScan.smooth module","AmpScan.trim module","AmpScan.tsbSocketDesign module"],titleterms:{"import":[4,5],align:7,ampscan:[6,7,8,9,10,11,12,13,14,15,16,17,18],ampvi:8,analys:9,code:[],core:10,develop:6,document:1,exampl:[],get:6,guid:6,instal:6,licens:0,mesh:5,mit:0,modul:[1,7,8,9,10,11,13,14,15,16,17,18],output:3,pca:13,presssen:14,registr:15,smooth:16,start:6,stl:4,test:3,tetrahedr:5,trim:17,tsbsocketdesign:18,tutori:2}})
\ No newline at end of file
+Search.setIndex({docnames:["LICENSE","code","exampleDemos","examples/TESTnb","examples/Workflow1-Importstl","examples/Workflow2-ImportTetMesh","index","source/align","source/ampVis","source/analyse","source/core","source/fe","source/modules","source/pca","source/pressSens","source/registration","source/smooth","source/trim","source/tsbSocketDesign"],envversion:53,filenames:["LICENSE.rst","code.rst","exampleDemos.rst","examples\\TESTnb.ipynb","examples\\Workflow1-Importstl.ipynb","examples\\Workflow2-ImportTetMesh.ipynb","index.rst","source\\align.rst","source\\ampVis.rst","source\\analyse.rst","source\\core.rst","source\\fe.rst","source\\modules.rst","source\\pca.rst","source\\pressSens.rst","source\\registration.rst","source\\smooth.rst","source\\trim.rst","source\\tsbSocketDesign.rst"],objects:{"AmpScan.analyse.analyseMixin":{axis:[9,0,1,""],slices:[9,0,1,""]}},objnames:{"0":["py","attribute","Python attribute"]},objtypes:{"0":"py:attribute"},terms:{"00000000e":[],"0000ff":3,"00ff00":3,"00ffff":3,"087f34dd4cbf":[],"0x01f01300":[],"0x01fce620":[],"0x01ffd580":[],"0x1":[],"0x100":[],"0x2233":[],"0x3322":[],"123782f16f0842b1a1c0b98dc3df7e6d":[],"13698227e":[],"1x3":[],"25087011e":[],"27025015e":[],"4294967296l":[],"48219694e":[],"88528414e":[],"boolean":10,"break":[],"byte":[],"case":7,"class":[7,8,9,10,11,13,14,15,16,17,18],"default":[9,10,15,16],"final":[],"float":17,"function":[2,6,7,8,10,11,13,14,15,16],"import":[2,3,6,8,10,13,14],"int":[8,15,16],"long":7,"new":13,"public":[],"return":[7,10],"short":[],"static":[7,9,10,11],"super":[],"true":[8,10,11,13,15],"try":[],"var":[],"void":[],"while":[],AND:0,And:7,BUT:0,FOR:0,For:6,GIS:7,Its:[],NOT:0,Not:10,One:[],THE:0,The:[0,4,5,6,7,10,15],Then:[],There:[],These:7,USE:[0,14],Use:[],Used:[],Using:7,WITH:0,__abs__:[],__add__:[],__and__:[],__array__:[],__array_finalize__:[],__array_interface__:[],__array_prepare__:[],__array_priority__:[],__array_struct__:[],__array_ufunc__:[],__array_wrap__:[],__bool__:[],__builtins__:[],__cached__:[],__complex__:[],__contains__:[],__copy__:[],__deepcopy__:[],__del__:[],__delitem__:[],__dict__:[],__divmod__:[],__doc__:[],__eq__:[],__file__:[],__float__:[],__floordiv__:[],__format__:[],__ge__:[],__getitem__:[],__getstate__:[],__gt__:[],__hash__:[],__iadd__:[],__iand__:[],__ifloordiv__:[],__ilshift__:[],__imatmul__:[],__imod__:[],__imul__:[],__index__:[],__init__:[],__int__:[],__invert__:[],__ior__:[],__ipow__:[],__irshift__:[],__isub__:[],__iter__:[],__itruediv__:[],__ixor__:[],__le__:[],__len__:[],__loader__:[],__lshift__:[],__lt__:[],__matmul__:[],__mod__:[],__mul__:[],__name__:[],__ne__:[],__neg__:[],__new__:[],__or__:[],__package__:[],__pos__:[],__pow__:[],__radd__:[],__rand__:[],__rdivmod__:[],__reduce__:[],__repr__:[],__rfloordiv__:[],__rlshift__:[],__rmatmul__:[],__rmod__:[],__rmul__:[],__ror__:[],__rpow__:[],__rrshift__:[],__rshift__:[],__rsub__:[],__rtruediv__:[],__rxor__:[],__set__:[],__setitem__:[],__setstate__:[],__signature__:[],__sizeof__:[],__spec__:[],__str__:[],__sub__:[],__truediv__:[],__warningregistry__:[],__weakref__:[],__xor__:[],_a_chang:[],_array_interface_:[],_as_parameter_:[],_base:[],_call_widget_construct:[],_cast_typ:[],_chang:[],_cross_valid:[],_cross_validation_lock:[],_intern:[],_mockobject:[8,14],_model_id:[],_model_nam:[],_on_potential_ret_v:[],_trait_valu:[],_valid:[],abl:10,about:7,abov:[0,7,17],abs:[],absolut:[4,5],absolute_import:[],access:[],accord:17,accordingli:[],accur:[],act:8,action:0,activ:6,actor:[8,14],actual:[],adapt:7,add:[14,15],add_trait:[],addactor:[8,14],addax:8,addf:11,addsurrog:11,affect:[],after:[],again:[],algorithm:7,alia:[],align:[1,6],all:[0,4,10,13,18],alloc:[],allow:[],along:11,alreadi:[],also:[6,7],alter:[],altern:[],alwai:[],amax:[],ambientlight:3,amin:[],among:[],amp2:3,amp:[3,4],ampactor:[8,10],ampjuppi:[],ampobj:[8,10],ampobject:[3,4,5,8,10,14,15],ampscan:[1,2,3,4,5],ampvi:[1,10],anaconda3:[],analys:[1,10],analysemixin:[9,10],analysi:[],ang:10,angl:10,ani:0,anonym:7,anoth:9,ant:14,anyon:6,anyth:[],api:[],appear:[],appli:[4,16],appropri:[],arang:[],arbitrari:[],arbitrarili:[],archiv:[],area:[],arg:[7,9,15],argmax:[],argmin:[],argpartit:[],argsort:[],argument:15,aris:0,arithmet:[],around:10,arr:[],arr_t:[],arrai:[3,5,7,8,9,10,14,16],array_lik:[7,10],arriv:[],as_strid:[],aspect:14,asset:3,assign:[],associ:0,astyp:[],attempt:15,attribut:[],attributeerror:[],author:[0,7,8,9,10,11,13,14,15,16,17,18],autodoc:[8,14],autogener:[],autom:7,automag:[],automat:[],avail:6,averag:[],avoid:[],axes:[],axi:9,axis1:[],axis2:[],back:[],backend:18,backend_qt5agg:18,background:[3,8],background_opac:3,backward:[],badexcept:7,band:[8,14],bar:8,base:[7,8,9,10,11,13,14,15,16,17,18],basegeometri:[],basegeometry_autogen:[],basegeometrymodel:[],baselin:[13,15],basetyp:[],basic:4,becaus:7,becom:[],been:[],befor:[],begin:14,behav:[],behavior:[],behaviour:[],behind:[],being:[],below:[],best:[],between:[7,14],bewar:[],beziercurv:18,big:[],biggish:[],binari:[4,10],bit:[],black:3,blank:7,block:[],bool:[],borrow:[],both:[],boxgeometri:[],buffer:[],bufferattribut:[],buffergeometri:[],bug:[],build:[],built:[],builtin:[],bundl:[],bypass:[],bytesio:[],byteswap:[],c_contigu:[],c_doubl:[],c_int:[],c_intp:[],c_long:[],c_long_array_2:[],c_longlong:[],c_longlong_array_2:[],c_short:[],c_void_p:[],calcbarycentr:15,calcdisterror:7,calcedg:10,calcedgefac:10,calcerror:15,calcfac:14,calcfaceedg:10,calcfaceshex:14,calcgradi:11,calcnorm:10,calcppi:11,calcstruct:10,calcul:[3,10,11,13,14],calcvert:14,calcvnorm:10,call:[],callabl:[],callback:[],camera:[3,8],can:[2,7],cannot:[],capabl:5,care:[],carrai:[],cast:[],caus:[],ccube:3,ceg:[],center:[3,13],centr:[10,14],certain:[],cfloat:[],chain:[],chang:[],charg:0,check:8,children:3,choic:[],choos:[],cint:[],circumst:[],cite:7,claim:0,class_own_trait:[],class_own_trait_ev:[],class_trait:[],class_trait_nam:[],clear:[],cline:14,clip:[],clone:[2,6],clongdoubl:[],close:[],close_al:[],closest:7,cls:[],cmap:[8,10,14],code:[],coincid:10,collaps:[],color:[3,8,14],colormap:10,colour:8,column:[],come:[],comm:[],common:6,common_parameters_listed_abov:7,comp:11,compar:[],compat:[],compil:[],complex128:[],complex:[],complexwarn:[],complic:[],compress:[],comput:[7,10,14],compute_initial_figur:18,computefacenorm:3,condit:0,config:[],conj:[],conjug:[],connect:[0,14,18],consecut:[],consid:6,construct:[],constructor:[],consum:[],contain:[4,8,14],content:[],context:[],contextmanag:[],contigu:[],contract:0,control:3,conveni:[],convent:[],convers:[],convert:[],copi:0,copyright:0,copyto:[],core:[1,2,4,5],correct:[],correspond:[],could:7,count:[],crash:[],creat:[3,7,8,9,10,11,13,14,15,16,17,18],create_slic:9,create_slices_ci:9,createcmap:10,creation:[],crisp:3,cross:[],cross_validation_lock:[],ctype:[],ctypeslib:[],cube:3,cubegeometri:3,cumprod:[],cumsum:[],cumul:[],current:[4,15],custom:8,cylindergeometri:3,damag:0,dat:11,data:[8,10,13,14,18],data_a:[],data_typ:7,datatextur:[],date:6,dddddd:3,ddof:[],deal:[0,8,10],dealloc:[],decim:[],declar:[],deep:8,deepcopi:8,def:[],defin:[],defmatrix:[],degre:10,delet:17,demonstr:2,denot:10,depend:[],deprec:[],depreci:[],desc:[7,9],describ:7,descript:7,descriptor:10,design:[4,6],despit:[],detail:7,determin:[],deviat:10,diag:[],diagon:[],dict:10,dictionari:[5,8,10,14],differ:[],dim:[],dimens:[],dimension:[],dir:[],direct:15,directionallight:3,directli:[6,10],directori:[2,4],disconnect:18,discourag:[],displai:[3,7,8],dispos:[],distribut:0,divmod:[],doc:[],docstr:[7,8,11,14,17,18],doctest:7,document:[0,6,15],doe:7,doesn:[],doing:[],don:[],done:7,dot:[],download:2,dpi:18,dragsplin:18,drop_default:[],dtype:3,dump:[],dynam:[],each:[7,10],easier:[],edg:[3,9,10],edgefac:10,edgesfac:10,effect:[],eig:13,eigenvalu:13,either:[4,5,8,10,14],element:11,els:[],embed:8,empti:[],enabl:10,end:[7,14,15],endian:[],enlarg:[],enough:[],ensur:15,enter:[],entri:[],env:[],environment:7,equal:[],equat:7,equiv:[],equival:[],error:[],especi:[],etc:18,euler:10,evalu:[],even:7,event:[0,18],event_handl:[],exactli:[],examin:[],exampl:7,except:[],exclud:[],excut:[],exec_three_obj_method:3,execut:[],exhibit:[],exist:[],exit:[],expens:[],expert:7,explan:7,explanatori:14,expos:[],express:0,ext:[8,14],extend:7,extension_spec_vers:[],extern:10,extra:10,eye:[],f_contigu:[],fac:[],face:[3,8,10,14],faceedg:10,facevertexuv:[],fail:[],fairli:7,fals:[3,8,10],farrai:[],faster:[],fea:10,femixin:[10,11],fewer:[],ff0000:3,ff00ff:3,ffff00:3,ffffff:3,fid:[],field:[],fifthfunc:7,figur:18,figurecanvasagg:18,figurecanvasqtagg:18,file:[0,2,4,5,8,10,11,13,14],filenam:10,fileno:[],fill:[],filter:[],find:[],finit:11,fire:[],first:4,fit:0,fix:[8,14],flag:[],flat:17,flatit:[],flatten:[],flexibl:10,float32:3,float64:[],fly:[],fname:[8,14],fnc:[],folder:13,follow:0,font:8,forc:[],forcibl:[],form:[],format:7,formatt:[],fortran:[],found:[],four:[],fourthfunc:7,fov:3,free:0,fri:13,from:[0,2,3,4,5,6,8,10,13,14,15],from_geometri:[],fromfil:[],front:[],frontend:[],full:[],fulli:[],func1:14,func2:14,func:[],fundament:4,furnish:0,further:[],futur:[],fuzzi:7,garbag:[],gener:[8,10],genim:8,geometri:3,geometry_autogen:[],geometrymodel:[],geoscienc:7,get:[],get_manager_st:[],get_stat:[],get_view_spec:[],getfield:[],getimag:8,getscreenshot:8,getsurf:11,git:[2,6],gitlab:[2,6],give:[],given:[],good:[],gradient:11,grant:0,greater:[],greek:7,grid_indices_gen:[],group:[],gui:8,guid:[],gzipfil:[],habitat:7,haggi:7,handl:[5,6],handle_comm_open:[],handler:[],hardwar:[],has:7,has_trait:[],hasattr:[],hasdescriptor:[],hastrait:[],have:[7,10],heapsort:[],heavili:6,height:[3,13,17,18],height_textur:[],heightseg:3,hello:3,help:[],here:[2,4,7],herebi:0,hex:[],higher:[],highland:7,hold:[],hold_sync:[],hold_trait_notif:[],holder:0,homogen:[],how:7,howev:[],http:[3,6],icp:[7,10],ids:18,ignor:[],illustr:7,imag:[3,8],imagin:[],imaginari:[],implement:7,impli:[0,7],importfold:13,importpress:14,importvert:14,includ:[0,7,8],incompat:[],incorpor:4,increas:10,ind:15,independ:[],index:[6,10],indic:[],indici:[10,11],indirect:[],infer:[],info:[],inform:10,inherit:[8,10,14],init:[],initi:10,inittransform:7,inlier:7,inlin:7,inplac:[],input:[4,7,10],insensit:[],insert:[8,14],insid:15,instal:2,instanc:[],instanti:[],instead:[],int16:[],int32:[],int8:[],int_:[],int_typ:[],integ:[],integr:7,intend:[],intens:3,interact:[],interchang:[],interest:6,interfac:8,interpret:[],intersect:14,intersectlinemesh:14,introselect:[],invalid:[],involv:4,ipython:3,ipywidget:[],isfortran:[],isinst:[],isn:[],issu:8,item:[],items:[],itemset:[],iter:[7,15,16],its:[],itself:8,jan:9,joshua:0,js22g12:[6,7,8,9,10,11,13,14,15,16,17,18],jul:13,jump:[],jupyt:3,just:[],keepdim:[],kei:[],keyword:15,kind:0,klass:[],know:[],known:[],krige:7,kth:[],kwarg:[7,15],laplacian:16,larger:[],last:[],latest:[],latter:[],layout:[],least:7,leav:[],left:[],len:[],length:[],letter:[],level:[],lexsort:[],liabil:0,liabl:0,lib:[],librari:[],licens:6,lights_color:[],lights_grai:[],like:7,limb:[8,10],limbsid:14,limit:0,line:[7,14],linear:7,linearicp:7,linedist:[],list:3,literatur:7,littl:[],load:[],local:[],locat:[],lock:18,log:[],logginghastrait:[],logic:7,longdoubl:[],look:[],lookup:8,loop:[],lose:[],lost:[],low:[],lowercas:[],lp_c_long:[],lp_smooth:16,lut:14,m8_cast1_scan1:3,machin:[],made:7,mag:8,mai:[7,10],maintain:[],major:[],make:[2,10,14],make_text:[],man_rot:[],manag:[],mani:[],manipul:[4,6],map:[3,8,14],match:[],materi:3,math:[3,7],mathemat:6,matplotlib:[3,18],matric:[],matrix:[6,10],matrixlib:[],max:[],maximum:[],maxit:7,mcnoleg:7,mean:[10,13],medic:[],memo:[],memori:[],merchant:0,merg:0,mergesort:[],mesh:[2,3,4,6,7,8,10,14,15,16],meshlambertmateri:3,messag:[],metadata:[],metahastrait:[],meth:[],method:[7,8,9,10,14,15],method_nam:[],min:[],minimis:7,minimum:[],miss:[],mixin:10,mod:[],mode:[],model:7,model_id:[],modif:[],modifi:0,modul:[2,6],more:7,morph:15,morphnorm:[],morphtarget:[],most:[4,6],move:7,moveabl:18,mplcanva:18,msg:[],multidimension:[],multipl:[7,8,13],must:[],myobject:3,myobjectcub:3,name:[7,8],nan:10,nativ:[],nav_logo:3,navig:2,nbyte:[],ndarrai:10,ndarray_subclass:[],ndim:[],nearest:[],necessari:7,need:[3,7,9,10,15,18],neededin:8,neigh:15,nest:[],network:7,neural:7,never:[],new_arr:[],new_ord:[],new_shap:[],new_valu:[],newbyteord:[],newbytord:[],newfunc:7,newli:[],newshap:13,next:[],nice:3,nodal:10,node:10,non:[],none:[3,7,8,10,14,15,18],noninfring:0,nonzero:[],norm:[8,10,11],normal:[3,10],note:[3,7,13],notic:0,notif:[],notifi:[],notify_chang:[],nov:11,now:[],npm_pkg_name:[],npy:5,number:[8,15,16],numpi:[3,5,6,8,10,11,14,18],obj:[],object:[7,8,9,10,11,13,14,15,16,17,18],observ:[],obtain:0,occupi:[],occur:[],oct:18,offset:[],old:[],old_valu:[],omit:[],on_displai:[],on_mot:18,on_msg:[],on_press:18,on_releas:18,on_trait_chang:[],on_widget_construct:[],onc:[],one:7,ones:[],onli:[],only_seldom_used_keyword:7,onto:[14,15],opac:8,open:[],openend:3,oper:6,opposit:[],optim:[],option:[7,10],orbitcontrol:3,order:[],org:[3,6],orient:7,origin:[],other:[0,7],otherfunc:7,otherwis:0,our:[],out:[0,3,7,8],outermost:[],output:[2,6,8,10],outsid:14,over:[],overcom:[],overflow:[],overrid:[],own:[],owndata:[],owner:[],p2p:[],packag:[4,6],paragraph:[3,7],parallel:8,param:[],paramet:[7,8,10,14,15,16,17],parent:18,paritit:[],part:4,partial:[],particular:0,particularli:[],partit:[],pass:[],passthrough:[],path:[4,5,10,13],pca:1,peak:11,per:3,perform:[6,15],perhap:[],permiss:0,permit:0,permut:[],person:0,perspect:8,perspectivecamera:3,pickl:[],piec:[],pip:[2,6],place:15,plainbuffergeometri:[],plaingeometri:[],planartrim:17,plane:[9,15,17],planeedgeintersect:9,platform:[],plot_slic:9,plotmesh:[],plt:3,png:8,point2plan:[7,15],point:[5,7],pointer:[],pop:[],portion:0,pos:14,posit:[3,14],possess:[],possibl:[],pow:[],precis:[],predict:[],present:[],preserv:[],press:[14,18],pressactor:14,presssen:1,presssens:14,pressur:[11,14],prevent:[],previou:[],previous:[],print:[3,7],prior:[],prioriti:[],privat:[],probabl:9,problem:7,prod:[],produc:[],product:[],project:[8,10,14],properli:[],properti:[],prosthet:6,protocol:[],provid:[0,2,4,5,6,7],ptp:[],publish:0,pull:10,purpos:0,put:[],pyarray_resolvewritebackifcopi:[],pypi:6,pyqt:6,python:6,pythreej:3,qtvtkwindow:8,quad:14,quaddata:5,quick:[],quicksort:[],qvtkrenderwindowinteractor:8,qwidget:18,race:[],rad:10,radialseg:3,radian:10,radiusbottom:3,radiustop:3,rais:7,randint:[],random:[],ravel:[],raw:[],rawdata:[],read:10,read_stl:10,real:[],realloc:[],rearrang:[],recarrai:[],receiv:[],recent:[],recov:[],recreat:[],red:3,reduc:10,refcheck:[],refer:7,referenc:[],reflect:[],regist:[6,13,15],registr:1,regobject:15,regular:[],reinterpret:[],rel:[4,5],relat:[],relationship:7,releas:18,relev:7,reli:[6,7],reliabl:[],remain:[],remot:7,remov:[],render:[3,8],renderactor:8,renderercub:3,repeat:[],replac:[],replic:[],repositori:[2,6],repr:[],repres:10,represent:[],request:[],requir:[2,4,8,10],research:6,reset:18,reshap:[],resiz:[],resolut:[],respect:[],restor:[],restrict:0,result:[],revers:[],right:0,rigidtransform:10,root:2,rot2quat:7,rot:[7,10],rotat:10,rotatemat:10,rotmatrix:10,round:[],row:[],rst:[],run:[2,13],runtimeerror:[],safe:[],same:[],same_kind:[],sampl:[2,7,8],sample_stl_sphere_bin:[3,4],satisfi:[],save:[4,8,10],scalar:[8,14],scale:13,scanfac:3,scangeom:3,scanvert:3,scene:3,scenecub:3,scipi:6,searchsort:[],second:10,section:[2,7],see:8,segment:[],select:[],self:[9,14],sell:0,send:[],send_stat:[],sens:7,sensepo:14,sensor:14,sep:[7,8,10,14,15,16,17],separ:[],sequenc:[],seri:2,set:[3,7,8,14],set_stat:[],set_trait:[],setattr:[],setbackground:8,setbaselin:13,setcmap:[8,14],setcolor:8,setfac:[8,14],setfield:[],setflag:[],setinteractorstyl:8,setnorm:8,setnumviewport:8,setopac:8,setpress:14,setproject:8,setscalarbar:8,setscalarrang:[8,14],setshad:8,setup:[],setup_inst:[],setvalu:8,setvert:[8,14],setview:8,sfs:13,shade:8,shall:0,shape:[10,13,15],shape_a:[],share:[],should:[4,5,6,7],shouldn:7,show:[],shown:[],shrink:[],side:[],signal:18,signatur:[],similar:[],similarli:[],simpl:[6,16],simpli:[],simplifi:[],simultan:[],sinc:[],singl:[],site:[],size:10,skinindic:[],skinweight:[],skip:[],slice:[9,13,17],slicefil:13,slot:3,slwidth:9,smaller:[],smax:14,smin:14,smooth:[1,10,15],smoothmixin:[10,16],smoothvalu:16,socket:[6,10,14],socketdesignmixin:18,softwar:0,some:[2,7],some_dtyp:[],someth:[],sort:[],sorter:[],soton:6,sourc:[],southampton:6,space:10,specif:6,specifi:10,speed:10,sphere:4,spheregeometri:[],sphinx:[8,14],spline:18,split:8,sprite:[],spritemateri:[],sqrt:[],squar:7,squeez:[],srang:8,stabl:[],standard:[],start:[],state:[],statement:[],std:[],stdev:13,stdin:[],steer:0,step:15,still:6,stl:[2,3,6,10,13],storag:[],store:[10,18],store_ref:[],str:[10,14,15,17],stride:[],stride_trick:[],strides_a:[],string:[4,5,10,15],struc:10,struct:[],structur:7,style:[11,14,18],stype:[9,10,18],sub:[],subclass:[],subject:0,sublicens:0,subok:[],subsequ:[],subset:15,substanti:0,suggest:[],suitabl:[],sum:[],superfici:[],suppli:5,support:[],sure:[],surfac:10,surfacegeometri:[],surfacegrid:[],surrpr:11,svg:3,swap:[],swapax:[],symbol:7,sync:[],sync_data:[],syntax:[],system:7,systemerror:[],tabl:8,tag:[],take:[],target:15,techniqu:7,tell:[],temporari:[],test:[2,6,8,15],tetrahedr:[2,6],text:[],texttextur:[],textur:[],than:[],thei:[],them:4,themselv:[],therefor:[],theta:11,thetalength:3,thetastart:3,thi:[0,2,3,6,7,8,15,17,18],thirdfunc:7,three:10,threej:[],threewidget:[],through:[6,7],thu:[7,8,16,17],ties:[],tiff:8,time:[],titl:8,tobyt:[],todo:[],tofil:[],toggl:[],told:3,tolist:3,tool:[4,6],tort:0,tostr:[],total:[],trace:[],traceback:[],trait:[],trait_ev:[],trait_metadata:[],trait_nam:[],traiterror:[],traitlet:[],traitnam:[],traittyp:[],tran:10,translat:10,transport:[],transpos:[],travers:[],triangl:15,trim:[1,10],trimmixin:[10,17],troubl:[],truli:[],truncat:[],tsbsocket:18,tsbsocketdesign:1,ttree:7,tue:9,tupl:[],tutori:6,two:[7,10,15],type:[7,10],type_without_descript:7,typecod:[],uic:[],ultim:18,unbound:[],unchang:[],undefin:[],under:6,underli:[],undocu:[],unicod:[],unifi:[10,13],unifyvert:10,uninstal:[],unintal:[],univers:6,unless:[],unlik:[],unobserv:[],unobserve_al:[],unpickl:[],unregist:[],unsaf:[],unspecifi:[],until:[],updat:13,updateifcopi:[],upon:[8,10,13],upper:[],url:[3,6],usag:4,use:[0,3,4,7],used:15,useful:[],user:[],uses:[],using:[2,6,7,10],usual:[],val:[],valid:[],validate_el:[],valu:[7,8,10,11,16,17],valueerror:[],variabl:[],varianc:[],variou:[],vector:[],veri:[],version:6,versionad:[],versu:[],vert:[3,8,14,15],vertex:[3,10,14],vertexcolor:3,vertic:[3,8,10,14,15,17],via:[2,10],view:8,viewport:8,vismixin:[8,10],visualis:[8,10],vizualis:6,vnorm:10,vol:7,vtk:[6,8,14],vtkrenwin:8,vtkwindow:8,wai:[],want:[],warranti:0,weak:[],wed:[10,11,14,15,18],weird:15,well:18,were:[],what:[7,8],when:[],where:[],whether:0,which:7,whom:0,whose:[],widget:[],widget_seri:[],widget_typ:[],widgetregistri:[],width:18,window:8,winheight:8,winwidth:8,wise:[],within:[8,14,15],without:0,work:[4,7,13],workflow:[2,6],world:3,would:[],wrap:7,wrapper:[],write:[],writeabl:[],writebackifcopi:[],written:7,x00:[],x01:[],x02:[],x03:[],yet:[],you:[2,7],zero:[],zoom:8},titles:["License","Module Documentation","Tutorials","Test Output","Import stl","Import Tetrahedral Mesh","AmpScan","AmpScan.align module","AmpScan.ampVis module","AmpScan.analyse module","AmpScan.core module","AmpScan.fe module","AmpScan","AmpScan.pca module","AmpScan.pressSens module","AmpScan.registration module","AmpScan.smooth module","AmpScan.trim module","AmpScan.tsbSocketDesign module"],titleterms:{"import":[4,5],align:7,ampscan:[6,7,8,9,10,11,12,13,14,15,16,17,18],ampvi:8,analys:9,code:[],core:10,develop:6,document:1,exampl:[],get:6,guid:6,instal:6,licens:0,mesh:5,mit:0,modul:[1,7,8,9,10,11,13,14,15,16,17,18],output:3,pca:13,presssen:14,registr:15,smooth:16,start:6,stl:4,test:3,tetrahedr:5,trim:17,tsbsocketdesign:18,tutori:2}})
\ No newline at end of file
diff --git a/docs/_build/html/source/modules.html b/docs/_build/html/source/modules.html
index a5dfd77b3fab40c953f063de3906013036e5ea31..dfc2772fd8735ba13da5ff33c1c14e349a3c738a 100644
--- a/docs/_build/html/source/modules.html
+++ b/docs/_build/html/source/modules.html
@@ -26,6 +26,7 @@
 
   <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
   <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+  <link rel="stylesheet" href="https://unpkg.com/font-awesome@4.5.0/css/font-awesome.min.css" type="text/css" />
     <link rel="search" title="Search" href="../search.html" /> 
 
   
@@ -215,6 +216,8 @@
       <script type="text/javascript" src="../_static/underscore.js"></script>
       <script type="text/javascript" src="../_static/doctools.js"></script>
       <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+      <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.4/require.min.js"></script>
+      <script type="text/javascript" src="https://unpkg.com/@jupyter-widgets/html-manager@^0.14.0/dist/embed-amd.js"></script>
 
   
 
diff --git a/docs/conf.py b/docs/conf.py
index 2d617d8267db0ff65d30f29ebc2d5224f089ff7a..d384a7df7a091dcbf66b7bf97def6fd15734109d 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -46,6 +46,7 @@ extensions = [
     'sphinx.ext.mathjax',
     'sphinx.ext.napoleon',
     'nbsphinx',
+    'jupyter_sphinx.embed_widgets',
 ]
 
 napoleon_numpy_docstring=True
diff --git a/docs/examples/TESTnb.ipynb b/docs/examples/TESTnb.ipynb
index 89e02fb9afcbf4e933c174860e765bbcc5a8503d..513f6535793d2bc881afcc9f790010728e5d8550 100644
--- a/docs/examples/TESTnb.ipynb
+++ b/docs/examples/TESTnb.ipynb
@@ -93,13 +93,13 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 2,
+   "execution_count": 7,
    "metadata": {},
    "outputs": [
     {
      "data": {
       "application/vnd.jupyter.widget-view+json": {
-       "model_id": "610349511a984deab5aaba7d31fd2e6b",
+       "model_id": "999d9fc47d7d4abd99402ed8d69630ec",
        "version_major": 2,
        "version_minor": 0
       },
@@ -125,83 +125,13 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 4,
-   "metadata": {
-    "scrolled": true
-   },
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "['AmbientLight',\n",
-       " 'Bool',\n",
-       " 'BoxGeometry',\n",
-       " 'BufferAttribute',\n",
-       " 'BufferGeometry',\n",
-       " 'CFloat',\n",
-       " 'CInt',\n",
-       " 'Color',\n",
-       " 'DataTexture',\n",
-       " 'DirectionalLight',\n",
-       " 'EXTENSION_SPEC_VERSION',\n",
-       " 'Geometry',\n",
-       " 'Group',\n",
-       " 'Instance',\n",
-       " 'Line',\n",
-       " 'List',\n",
-       " 'Material',\n",
-       " 'Mesh',\n",
-       " 'MeshLambertMaterial',\n",
-       " 'PlotMesh',\n",
-       " 'SphereGeometry',\n",
-       " 'Sprite',\n",
-       " 'SpriteMaterial',\n",
-       " 'SurfaceGeometry',\n",
-       " 'SurfaceGrid',\n",
-       " 'TextTexture',\n",
-       " 'Texture',\n",
-       " 'Unicode',\n",
-       " 'Widget',\n",
-       " '__builtins__',\n",
-       " '__cached__',\n",
-       " '__doc__',\n",
-       " '__file__',\n",
-       " '__loader__',\n",
-       " '__name__',\n",
-       " '__package__',\n",
-       " '__spec__',\n",
-       " '__warningregistry__',\n",
-       " 'absolute_import',\n",
-       " 'grid_indices_gen',\n",
-       " 'height_texture',\n",
-       " 'lights_color',\n",
-       " 'lights_gray',\n",
-       " 'make_text',\n",
-       " 'np',\n",
-       " 'npm_pkg_name',\n",
-       " 'observe',\n",
-       " 'validate',\n",
-       " 'widget_serialization']"
-      ]
-     },
-     "execution_count": 4,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "dir(pythreejs)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 5,
+   "execution_count": 2,
    "metadata": {},
    "outputs": [
     {
      "data": {
       "application/vnd.jupyter.widget-view+json": {
-       "model_id": "a2a6ab5d920a47789015548c6d7860ab",
+       "model_id": "ff601b759bfa4d4eadc2bba3c027cae7",
        "version_major": 2,
        "version_minor": 0
       },
@@ -272,455 +202,6 @@
     "display(rendererCube)"
    ]
   },
-  {
-   "cell_type": "code",
-   "execution_count": 6,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Help on class Geometry in module pythreejs.core.Geometry:\n",
-      "\n",
-      "class Geometry(pythreejs.core.Geometry_autogen.Geometry)\n",
-      " |  Geometry\n",
-      " |  \n",
-      " |  Autogenerated by generate-wrappers.js\n",
-      " |  See https://threejs.org/docs/#api/core/Geometry\n",
-      " |  \n",
-      " |  Method resolution order:\n",
-      " |      Geometry\n",
-      " |      pythreejs.core.Geometry_autogen.Geometry\n",
-      " |      pythreejs.core.BaseGeometry_autogen.BaseGeometry\n",
-      " |      pythreejs._base.Three.ThreeWidget\n",
-      " |      ipywidgets.widgets.widget.Widget\n",
-      " |      ipywidgets.widgets.widget.LoggingHasTraits\n",
-      " |      traitlets.traitlets.HasTraits\n",
-      " |      traitlets.traitlets.HasDescriptors\n",
-      " |      builtins.object\n",
-      " |  \n",
-      " |  Class methods defined here:\n",
-      " |  \n",
-      " |  from_geometry(geometry, store_ref=False) from traitlets.traitlets.MetaHasTraits\n",
-      " |      Creates a PlainGeometry of another geometry.\n",
-      " |      \n",
-      " |      store_ref determines if the reference is stored after initalization.\n",
-      " |      If it is, it will be used for future embedding.\n",
-      " |      \n",
-      " |      NOTE:\n",
-      " |      The PlainGeometry will copy the arrays from the source geometry.\n",
-      " |      To avoid this, use PlainBufferGeometry.\n",
-      " |  \n",
-      " |  ----------------------------------------------------------------------\n",
-      " |  Methods inherited from pythreejs.core.Geometry_autogen.Geometry:\n",
-      " |  \n",
-      " |  __init__(self, **kwargs)\n",
-      " |      Public constructor\n",
-      " |  \n",
-      " |  ----------------------------------------------------------------------\n",
-      " |  Data descriptors inherited from pythreejs.core.Geometry_autogen.Geometry:\n",
-      " |  \n",
-      " |  colors\n",
-      " |      An instance of a Python list.\n",
-      " |  \n",
-      " |  faceVertexUvs\n",
-      " |      An instance of a Python list.\n",
-      " |  \n",
-      " |  faces\n",
-      " |      An instance of a Python tuple.\n",
-      " |  \n",
-      " |  lineDistances\n",
-      " |      An instance of a Python list.\n",
-      " |  \n",
-      " |  morphNormals\n",
-      " |      An instance of a Python list.\n",
-      " |  \n",
-      " |  morphTargets\n",
-      " |      An instance of a Python list.\n",
-      " |  \n",
-      " |  skinIndices\n",
-      " |      An instance of a Python list.\n",
-      " |  \n",
-      " |  skinWeights\n",
-      " |      An instance of a Python list.\n",
-      " |  \n",
-      " |  type\n",
-      " |      A trait for unicode strings.\n",
-      " |  \n",
-      " |  vertices\n",
-      " |      An instance of a Python list.\n",
-      " |  \n",
-      " |  ----------------------------------------------------------------------\n",
-      " |  Data and other attributes inherited from pythreejs.core.Geometry_autogen.Geometry:\n",
-      " |  \n",
-      " |  __signature__ = <Signature (self, **kwargs)>\n",
-      " |  \n",
-      " |  ----------------------------------------------------------------------\n",
-      " |  Data descriptors inherited from pythreejs.core.BaseGeometry_autogen.BaseGeometry:\n",
-      " |  \n",
-      " |  name\n",
-      " |      A trait for unicode strings.\n",
-      " |  \n",
-      " |  ----------------------------------------------------------------------\n",
-      " |  Methods inherited from pythreejs._base.Three.ThreeWidget:\n",
-      " |  \n",
-      " |  exec_three_obj_method(self, method_name, *args, **kwargs)\n",
-      " |      Execute a method on the three object.\n",
-      " |      \n",
-      " |      Excute the method specified by `method_name` on the three\n",
-      " |      object, with arguments `args`. `kwargs` is currently ignored.\n",
-      " |  \n",
-      " |  ----------------------------------------------------------------------\n",
-      " |  Methods inherited from ipywidgets.widgets.widget.Widget:\n",
-      " |  \n",
-      " |  __del__(self)\n",
-      " |      Object disposal\n",
-      " |  \n",
-      " |  __repr__(self)\n",
-      " |      Return repr(self).\n",
-      " |  \n",
-      " |  add_traits(self, **traits)\n",
-      " |      Dynamically add trait attributes to the Widget.\n",
-      " |  \n",
-      " |  close(self)\n",
-      " |      Close method.\n",
-      " |      \n",
-      " |      Closes the underlying comm.\n",
-      " |      When the comm is closed, all of the widget views are automatically\n",
-      " |      removed from the front-end.\n",
-      " |  \n",
-      " |  get_state(self, key=None, drop_defaults=False)\n",
-      " |      Gets the widget state, or a piece of it.\n",
-      " |      \n",
-      " |      Parameters\n",
-      " |      ----------\n",
-      " |      key : unicode or iterable (optional)\n",
-      " |          A single property's name or iterable of property names to get.\n",
-      " |      \n",
-      " |      Returns\n",
-      " |      -------\n",
-      " |      state : dict of states\n",
-      " |      metadata : dict\n",
-      " |          metadata for each field: {key: metadata}\n",
-      " |  \n",
-      " |  get_view_spec(self)\n",
-      " |  \n",
-      " |  hold_sync(self)\n",
-      " |      Hold syncing any state until the outermost context manager exits\n",
-      " |  \n",
-      " |  notify_change(self, change)\n",
-      " |      Called when a property has changed.\n",
-      " |  \n",
-      " |  on_displayed(self, callback, remove=False)\n",
-      " |      (Un)Register a widget displayed callback.\n",
-      " |      \n",
-      " |      Parameters\n",
-      " |      ----------\n",
-      " |      callback: method handler\n",
-      " |          Must have a signature of::\n",
-      " |      \n",
-      " |              callback(widget, **kwargs)\n",
-      " |      \n",
-      " |          kwargs from display are passed through without modification.\n",
-      " |      remove: bool\n",
-      " |          True if the callback should be unregistered.\n",
-      " |  \n",
-      " |  on_msg(self, callback, remove=False)\n",
-      " |      (Un)Register a custom msg receive callback.\n",
-      " |      \n",
-      " |      Parameters\n",
-      " |      ----------\n",
-      " |      callback: callable\n",
-      " |          callback will be passed three arguments when a message arrives::\n",
-      " |      \n",
-      " |              callback(widget, content, buffers)\n",
-      " |      \n",
-      " |      remove: bool\n",
-      " |          True if the callback should be unregistered.\n",
-      " |  \n",
-      " |  open(self)\n",
-      " |      Open a comm to the frontend if one isn't already open.\n",
-      " |  \n",
-      " |  send(self, content, buffers=None)\n",
-      " |      Sends a custom msg to the widget model in the front-end.\n",
-      " |      \n",
-      " |      Parameters\n",
-      " |      ----------\n",
-      " |      content : dict\n",
-      " |          Content of the message to send.\n",
-      " |      buffers : list of binary buffers\n",
-      " |          Binary buffers to send with message\n",
-      " |  \n",
-      " |  send_state(self, key=None)\n",
-      " |      Sends the widget state, or a piece of it, to the front-end, if it exists.\n",
-      " |      \n",
-      " |      Parameters\n",
-      " |      ----------\n",
-      " |      key : unicode, or iterable (optional)\n",
-      " |          A single property's name or iterable of property names to sync with the front-end.\n",
-      " |  \n",
-      " |  set_state(self, sync_data)\n",
-      " |      Called when a state is received from the front-end.\n",
-      " |  \n",
-      " |  ----------------------------------------------------------------------\n",
-      " |  Class methods inherited from ipywidgets.widgets.widget.Widget:\n",
-      " |  \n",
-      " |  close_all() from traitlets.traitlets.MetaHasTraits\n",
-      " |  \n",
-      " |  ----------------------------------------------------------------------\n",
-      " |  Static methods inherited from ipywidgets.widgets.widget.Widget:\n",
-      " |  \n",
-      " |  get_manager_state(drop_defaults=False, widgets=None)\n",
-      " |      Returns the full state for a widget manager for embedding\n",
-      " |      \n",
-      " |      :param drop_defaults: when True, it will not include default value\n",
-      " |      :param widgets: list with widgets to include in the state (or all widgets when None)\n",
-      " |      :return:\n",
-      " |  \n",
-      " |  handle_comm_opened(comm, msg)\n",
-      " |      Static method, called when a widget is constructed.\n",
-      " |  \n",
-      " |  on_widget_constructed(callback)\n",
-      " |      Registers a callback to be called when a widget is constructed.\n",
-      " |      \n",
-      " |      The callback must have the following signature:\n",
-      " |      callback(widget)\n",
-      " |  \n",
-      " |  ----------------------------------------------------------------------\n",
-      " |  Data descriptors inherited from ipywidgets.widgets.widget.Widget:\n",
-      " |  \n",
-      " |  comm\n",
-      " |      A trait whose value must be an instance of a specified class.\n",
-      " |      \n",
-      " |      The value can also be an instance of a subclass of the specified class.\n",
-      " |      \n",
-      " |      Subclasses can declare default classes by overriding the klass attribute\n",
-      " |  \n",
-      " |  keys\n",
-      " |      An instance of a Python list.\n",
-      " |  \n",
-      " |  model_id\n",
-      " |      Gets the model id of this widget.\n",
-      " |      \n",
-      " |      If a Comm doesn't exist yet, a Comm will be created automagically.\n",
-      " |  \n",
-      " |  ----------------------------------------------------------------------\n",
-      " |  Data and other attributes inherited from ipywidgets.widgets.widget.Widget:\n",
-      " |  \n",
-      " |  widget_types = <ipywidgets.widgets.widget.WidgetRegistry object>\n",
-      " |  \n",
-      " |  widgets = {'123782f16f0842b1a1c0b98dc3df7e6d': Geometry(colors=['#0000...\n",
-      " |  \n",
-      " |  ----------------------------------------------------------------------\n",
-      " |  Data descriptors inherited from ipywidgets.widgets.widget.LoggingHasTraits:\n",
-      " |  \n",
-      " |  log\n",
-      " |      A trait whose value must be an instance of a specified class.\n",
-      " |      \n",
-      " |      The value can also be an instance of a subclass of the specified class.\n",
-      " |      \n",
-      " |      Subclasses can declare default classes by overriding the klass attribute\n",
-      " |  \n",
-      " |  ----------------------------------------------------------------------\n",
-      " |  Methods inherited from traitlets.traitlets.HasTraits:\n",
-      " |  \n",
-      " |  __getstate__(self)\n",
-      " |  \n",
-      " |  __setstate__(self, state)\n",
-      " |  \n",
-      " |  has_trait(self, name)\n",
-      " |      Returns True if the object has a trait with the specified name.\n",
-      " |  \n",
-      " |  hold_trait_notifications(self)\n",
-      " |      Context manager for bundling trait change notifications and cross\n",
-      " |      validation.\n",
-      " |      \n",
-      " |      Use this when doing multiple trait assignments (init, config), to avoid\n",
-      " |      race conditions in trait notifiers requesting other trait values.\n",
-      " |      All trait notifications will fire after all values have been assigned.\n",
-      " |  \n",
-      " |  observe(self, handler, names=traitlets.All, type='change')\n",
-      " |      Setup a handler to be called when a trait changes.\n",
-      " |      \n",
-      " |      This is used to setup dynamic notifications of trait changes.\n",
-      " |      \n",
-      " |      Parameters\n",
-      " |      ----------\n",
-      " |      handler : callable\n",
-      " |          A callable that is called when a trait changes. Its\n",
-      " |          signature should be ``handler(change)``, where ``change`` is a\n",
-      " |          dictionary. The change dictionary at least holds a 'type' key.\n",
-      " |          * ``type``: the type of notification.\n",
-      " |          Other keys may be passed depending on the value of 'type'. In the\n",
-      " |          case where type is 'change', we also have the following keys:\n",
-      " |          * ``owner`` : the HasTraits instance\n",
-      " |          * ``old`` : the old value of the modified trait attribute\n",
-      " |          * ``new`` : the new value of the modified trait attribute\n",
-      " |          * ``name`` : the name of the modified trait attribute.\n",
-      " |      names : list, str, All\n",
-      " |          If names is All, the handler will apply to all traits.  If a list\n",
-      " |          of str, handler will apply to all names in the list.  If a\n",
-      " |          str, the handler will apply just to that name.\n",
-      " |      type : str, All (default: 'change')\n",
-      " |          The type of notification to filter by. If equal to All, then all\n",
-      " |          notifications are passed to the observe handler.\n",
-      " |  \n",
-      " |  on_trait_change(self, handler=None, name=None, remove=False)\n",
-      " |      DEPRECATED: Setup a handler to be called when a trait changes.\n",
-      " |      \n",
-      " |      This is used to setup dynamic notifications of trait changes.\n",
-      " |      \n",
-      " |      Static handlers can be created by creating methods on a HasTraits\n",
-      " |      subclass with the naming convention '_[traitname]_changed'.  Thus,\n",
-      " |      to create static handler for the trait 'a', create the method\n",
-      " |      _a_changed(self, name, old, new) (fewer arguments can be used, see\n",
-      " |      below).\n",
-      " |      \n",
-      " |      If `remove` is True and `handler` is not specified, all change\n",
-      " |      handlers for the specified name are uninstalled.\n",
-      " |      \n",
-      " |      Parameters\n",
-      " |      ----------\n",
-      " |      handler : callable, None\n",
-      " |          A callable that is called when a trait changes.  Its\n",
-      " |          signature can be handler(), handler(name), handler(name, new),\n",
-      " |          handler(name, old, new), or handler(name, old, new, self).\n",
-      " |      name : list, str, None\n",
-      " |          If None, the handler will apply to all traits.  If a list\n",
-      " |          of str, handler will apply to all names in the list.  If a\n",
-      " |          str, the handler will apply just to that name.\n",
-      " |      remove : bool\n",
-      " |          If False (the default), then install the handler.  If True\n",
-      " |          then unintall it.\n",
-      " |  \n",
-      " |  set_trait(self, name, value)\n",
-      " |      Forcibly sets trait attribute, including read-only attributes.\n",
-      " |  \n",
-      " |  setup_instance(self, *args, **kwargs)\n",
-      " |      This is called **before** self.__init__ is called.\n",
-      " |  \n",
-      " |  trait_metadata(self, traitname, key, default=None)\n",
-      " |      Get metadata values for trait by key.\n",
-      " |  \n",
-      " |  trait_names(self, **metadata)\n",
-      " |      Get a list of all the names of this class' traits.\n",
-      " |  \n",
-      " |  traits(self, **metadata)\n",
-      " |      Get a ``dict`` of all the traits of this class.  The dictionary\n",
-      " |      is keyed on the name and the values are the TraitType objects.\n",
-      " |      \n",
-      " |      The TraitTypes returned don't know anything about the values\n",
-      " |      that the various HasTrait's instances are holding.\n",
-      " |      \n",
-      " |      The metadata kwargs allow functions to be passed in which\n",
-      " |      filter traits based on metadata values.  The functions should\n",
-      " |      take a single value as an argument and return a boolean.  If\n",
-      " |      any function returns False, then the trait is not included in\n",
-      " |      the output.  If a metadata key doesn't exist, None will be passed\n",
-      " |      to the function.\n",
-      " |  \n",
-      " |  unobserve(self, handler, names=traitlets.All, type='change')\n",
-      " |      Remove a trait change handler.\n",
-      " |      \n",
-      " |      This is used to unregister handlers to trait change notifications.\n",
-      " |      \n",
-      " |      Parameters\n",
-      " |      ----------\n",
-      " |      handler : callable\n",
-      " |          The callable called when a trait attribute changes.\n",
-      " |      names : list, str, All (default: All)\n",
-      " |          The names of the traits for which the specified handler should be\n",
-      " |          uninstalled. If names is All, the specified handler is uninstalled\n",
-      " |          from the list of notifiers corresponding to all changes.\n",
-      " |      type : str or All (default: 'change')\n",
-      " |          The type of notification to filter by. If All, the specified handler\n",
-      " |          is uninstalled from the list of notifiers corresponding to all types.\n",
-      " |  \n",
-      " |  unobserve_all(self, name=traitlets.All)\n",
-      " |      Remove trait change handlers of any type for the specified name.\n",
-      " |      If name is not specified, removes all trait notifiers.\n",
-      " |  \n",
-      " |  ----------------------------------------------------------------------\n",
-      " |  Class methods inherited from traitlets.traitlets.HasTraits:\n",
-      " |  \n",
-      " |  class_own_trait_events(name) from traitlets.traitlets.MetaHasTraits\n",
-      " |      Get a dict of all event handlers defined on this class, not a parent.\n",
-      " |      \n",
-      " |      Works like ``event_handlers``, except for excluding traits from parents.\n",
-      " |  \n",
-      " |  class_own_traits(**metadata) from traitlets.traitlets.MetaHasTraits\n",
-      " |      Get a dict of all the traitlets defined on this class, not a parent.\n",
-      " |      \n",
-      " |      Works like `class_traits`, except for excluding traits from parents.\n",
-      " |  \n",
-      " |  class_trait_names(**metadata) from traitlets.traitlets.MetaHasTraits\n",
-      " |      Get a list of all the names of this class' traits.\n",
-      " |      \n",
-      " |      This method is just like the :meth:`trait_names` method,\n",
-      " |      but is unbound.\n",
-      " |  \n",
-      " |  class_traits(**metadata) from traitlets.traitlets.MetaHasTraits\n",
-      " |      Get a ``dict`` of all the traits of this class.  The dictionary\n",
-      " |      is keyed on the name and the values are the TraitType objects.\n",
-      " |      \n",
-      " |      This method is just like the :meth:`traits` method, but is unbound.\n",
-      " |      \n",
-      " |      The TraitTypes returned don't know anything about the values\n",
-      " |      that the various HasTrait's instances are holding.\n",
-      " |      \n",
-      " |      The metadata kwargs allow functions to be passed in which\n",
-      " |      filter traits based on metadata values.  The functions should\n",
-      " |      take a single value as an argument and return a boolean.  If\n",
-      " |      any function returns False, then the trait is not included in\n",
-      " |      the output.  If a metadata key doesn't exist, None will be passed\n",
-      " |      to the function.\n",
-      " |  \n",
-      " |  trait_events(name=None) from traitlets.traitlets.MetaHasTraits\n",
-      " |      Get a ``dict`` of all the event handlers of this class.\n",
-      " |      \n",
-      " |      Parameters\n",
-      " |      ----------\n",
-      " |      name: str (default: None)\n",
-      " |          The name of a trait of this class. If name is ``None`` then all\n",
-      " |          the event handlers of this class will be returned instead.\n",
-      " |      \n",
-      " |      Returns\n",
-      " |      -------\n",
-      " |      The event handlers associated with a trait name, or all event handlers.\n",
-      " |  \n",
-      " |  ----------------------------------------------------------------------\n",
-      " |  Data descriptors inherited from traitlets.traitlets.HasTraits:\n",
-      " |  \n",
-      " |  cross_validation_lock\n",
-      " |      A contextmanager for running a block with our cross validation lock set\n",
-      " |      to True.\n",
-      " |      \n",
-      " |      At the end of the block, the lock's value is restored to its value\n",
-      " |      prior to entering the block.\n",
-      " |  \n",
-      " |  ----------------------------------------------------------------------\n",
-      " |  Static methods inherited from traitlets.traitlets.HasDescriptors:\n",
-      " |  \n",
-      " |  __new__(cls, *args, **kwargs)\n",
-      " |      Create and return a new object.  See help(type) for accurate signature.\n",
-      " |  \n",
-      " |  ----------------------------------------------------------------------\n",
-      " |  Data descriptors inherited from traitlets.traitlets.HasDescriptors:\n",
-      " |  \n",
-      " |  __dict__\n",
-      " |      dictionary for instance variables (if defined)\n",
-      " |  \n",
-      " |  __weakref__\n",
-      " |      list of weak references to the object (if defined)\n",
-      "\n"
-     ]
-    }
-   ],
-   "source": [
-    "help(Geometry)"
-   ]
-  },
   {
    "cell_type": "code",
    "execution_count": 7,
@@ -791,39 +272,6 @@
     "Amp.faces"
    ]
   },
-  {
-   "cell_type": "code",
-   "execution_count": 11,
-   "metadata": {},
-   "outputs": [
-    {
-     "ename": "TraitError",
-     "evalue": "The 'vertices' trait of a Geometry instance must be a list, but a value of class 'numpy.ndarray' (i.e. array([[-1.       ,  0.       ,  0.       ],\n       [-0.9904389, -0.1379523,  0.       ],\n       [-0.9904389,  0.1379523,  0.       ],\n       ...,\n       [ 0.9904389, -0.1379523,  0.       ],\n       [ 0.9904389,  0.1379523,  0.       ],\n       [ 1.       ,  0.       ,  0.       ]], dtype=float32)) was specified.",
-     "output_type": "error",
-     "traceback": [
-      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
-      "\u001b[1;31mTraitError\u001b[0m                                Traceback (most recent call last)",
-      "\u001b[1;32m<ipython-input-11-087f34dd4cbf>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mGeometry\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mvertices\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mAmp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mvert\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mfaces\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mAmp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mfaces\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
-      "\u001b[1;32m~\\Anaconda3\\envs\\AmpJupPy\\lib\\site-packages\\pythreejs\\core\\Geometry_autogen.py\u001b[0m in \u001b[0;36m__init__\u001b[1;34m(self, **kwargs)\u001b[0m\n\u001b[0;32m     22\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     23\u001b[0m     \u001b[1;32mdef\u001b[0m \u001b[0m__init__\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 24\u001b[1;33m         \u001b[0msuper\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mGeometry\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m__init__\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m     25\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     26\u001b[0m     \u001b[0m_model_name\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mUnicode\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'GeometryModel'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mtag\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0msync\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mTrue\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
-      "\u001b[1;32m~\\Anaconda3\\envs\\AmpJupPy\\lib\\site-packages\\pythreejs\\core\\BaseGeometry_autogen.py\u001b[0m in \u001b[0;36m__init__\u001b[1;34m(self, **kwargs)\u001b[0m\n\u001b[0;32m     23\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     24\u001b[0m     \u001b[1;32mdef\u001b[0m \u001b[0m__init__\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 25\u001b[1;33m         \u001b[0msuper\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mBaseGeometry\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m__init__\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m     26\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     27\u001b[0m     \u001b[0m_model_name\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mUnicode\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'BaseGeometryModel'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mtag\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0msync\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mTrue\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
-      "\u001b[1;32m~\\Anaconda3\\envs\\AmpJupPy\\lib\\site-packages\\pythreejs\\_base\\Three.py\u001b[0m in \u001b[0;36m__init__\u001b[1;34m(self, **kwargs)\u001b[0m\n\u001b[0;32m     15\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     16\u001b[0m     \u001b[1;32mdef\u001b[0m \u001b[0m__init__\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 17\u001b[1;33m         \u001b[0msuper\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mThreeWidget\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m__init__\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m     18\u001b[0m         \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mon_msg\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_on_potential_ret_val\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     19\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
-      "\u001b[1;32m~\\Anaconda3\\envs\\AmpJupPy\\lib\\site-packages\\ipywidgets\\widgets\\widget.py\u001b[0m in \u001b[0;36m__init__\u001b[1;34m(self, **kwargs)\u001b[0m\n\u001b[0;32m    409\u001b[0m         \u001b[1;34m\"\"\"Public constructor\"\"\"\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    410\u001b[0m         \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_model_id\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mkwargs\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mpop\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'model_id'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 411\u001b[1;33m         \u001b[0msuper\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mWidget\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m__init__\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    412\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    413\u001b[0m         \u001b[0mWidget\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_call_widget_constructed\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
-      "\u001b[1;32m~\\Anaconda3\\envs\\AmpJupPy\\lib\\site-packages\\traitlets\\traitlets.py\u001b[0m in \u001b[0;36m__init__\u001b[1;34m(self, *args, **kwargs)\u001b[0m\n\u001b[0;32m    995\u001b[0m             \u001b[1;32mfor\u001b[0m \u001b[0mkey\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mvalue\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mkwargs\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mitems\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    996\u001b[0m                 \u001b[1;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mhas_trait\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 997\u001b[1;33m                     \u001b[0msetattr\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mkey\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mvalue\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    998\u001b[0m                 \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    999\u001b[0m                     \u001b[1;31m# passthrough args that don't set traits to super\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
-      "\u001b[1;32m~\\Anaconda3\\envs\\AmpJupPy\\lib\\site-packages\\traitlets\\traitlets.py\u001b[0m in \u001b[0;36m__set__\u001b[1;34m(self, obj, value)\u001b[0m\n\u001b[0;32m    583\u001b[0m             \u001b[1;32mraise\u001b[0m \u001b[0mTraitError\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'The \"%s\" trait is read-only.'\u001b[0m \u001b[1;33m%\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mname\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    584\u001b[0m         \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 585\u001b[1;33m             \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mset\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mobj\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mvalue\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    586\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    587\u001b[0m     \u001b[1;32mdef\u001b[0m \u001b[0m_validate\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mobj\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mvalue\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
-      "\u001b[1;32m~\\Anaconda3\\envs\\AmpJupPy\\lib\\site-packages\\traitlets\\traitlets.py\u001b[0m in \u001b[0;36mset\u001b[1;34m(self, obj, value)\u001b[0m\n\u001b[0;32m    557\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    558\u001b[0m     \u001b[1;32mdef\u001b[0m \u001b[0mset\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mobj\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mvalue\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 559\u001b[1;33m         \u001b[0mnew_value\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_validate\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mobj\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mvalue\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    560\u001b[0m         \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    561\u001b[0m             \u001b[0mold_value\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mobj\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_trait_values\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mname\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
-      "\u001b[1;32m~\\Anaconda3\\envs\\AmpJupPy\\lib\\site-packages\\traitlets\\traitlets.py\u001b[0m in \u001b[0;36m_validate\u001b[1;34m(self, obj, value)\u001b[0m\n\u001b[0;32m    589\u001b[0m             \u001b[1;32mreturn\u001b[0m \u001b[0mvalue\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    590\u001b[0m         \u001b[1;32mif\u001b[0m \u001b[0mhasattr\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m'validate'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 591\u001b[1;33m             \u001b[0mvalue\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mvalidate\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mobj\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mvalue\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    592\u001b[0m         \u001b[1;32mif\u001b[0m \u001b[0mobj\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_cross_validation_lock\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mFalse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    593\u001b[0m             \u001b[0mvalue\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_cross_validate\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mobj\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mvalue\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
-      "\u001b[1;32m~\\Anaconda3\\envs\\AmpJupPy\\lib\\site-packages\\traitlets\\traitlets.py\u001b[0m in \u001b[0;36mvalidate\u001b[1;34m(self, obj, value)\u001b[0m\n\u001b[0;32m   2322\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   2323\u001b[0m     \u001b[1;32mdef\u001b[0m \u001b[0mvalidate\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mobj\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mvalue\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 2324\u001b[1;33m         \u001b[0mvalue\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0msuper\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mList\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mvalidate\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mobj\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mvalue\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m   2325\u001b[0m         \u001b[0mvalue\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mvalidate_elements\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mobj\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mvalue\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   2326\u001b[0m         \u001b[1;32mreturn\u001b[0m \u001b[0mvalue\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
-      "\u001b[1;32m~\\Anaconda3\\envs\\AmpJupPy\\lib\\site-packages\\traitlets\\traitlets.py\u001b[0m in \u001b[0;36mvalidate\u001b[1;34m(self, obj, value)\u001b[0m\n\u001b[0;32m   2236\u001b[0m         \u001b[1;32mif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mvalue\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_cast_types\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   2237\u001b[0m             \u001b[0mvalue\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mklass\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mvalue\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 2238\u001b[1;33m         \u001b[0mvalue\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0msuper\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mContainer\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mvalidate\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mobj\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mvalue\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m   2239\u001b[0m         \u001b[1;32mif\u001b[0m \u001b[0mvalue\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   2240\u001b[0m             \u001b[1;32mreturn\u001b[0m \u001b[0mvalue\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
-      "\u001b[1;32m~\\Anaconda3\\envs\\AmpJupPy\\lib\\site-packages\\traitlets\\traitlets.py\u001b[0m in \u001b[0;36mvalidate\u001b[1;34m(self, obj, value)\u001b[0m\n\u001b[0;32m   1675\u001b[0m             \u001b[1;32mreturn\u001b[0m \u001b[0mvalue\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   1676\u001b[0m         \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 1677\u001b[1;33m             \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0merror\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mobj\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mvalue\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m   1678\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   1679\u001b[0m     \u001b[1;32mdef\u001b[0m \u001b[0minfo\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
-      "\u001b[1;32m~\\Anaconda3\\envs\\AmpJupPy\\lib\\site-packages\\traitlets\\traitlets.py\u001b[0m in \u001b[0;36merror\u001b[1;34m(self, obj, value)\u001b[0m\n\u001b[0;32m   1522\u001b[0m                 \u001b[1;33m%\u001b[0m \u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mname\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0minfo\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mmsg\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   1523\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 1524\u001b[1;33m         \u001b[1;32mraise\u001b[0m \u001b[0mTraitError\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0me\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m   1525\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   1526\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
-      "\u001b[1;31mTraitError\u001b[0m: The 'vertices' trait of a Geometry instance must be a list, but a value of class 'numpy.ndarray' (i.e. array([[-1.       ,  0.       ,  0.       ],\n       [-0.9904389, -0.1379523,  0.       ],\n       [-0.9904389,  0.1379523,  0.       ],\n       ...,\n       [ 0.9904389, -0.1379523,  0.       ],\n       [ 0.9904389,  0.1379523,  0.       ],\n       [ 1.       ,  0.       ,  0.       ]], dtype=float32)) was specified."
-     ]
-    }
-   ],
-   "source": [
-    "Geometry(vertices=Amp.vert, faces=Amp.faces)"
-   ]
-  },
   {
    "cell_type": "code",
    "execution_count": 12,
@@ -833,667 +281,6 @@
     "vertices = list(Amp.vert)"
    ]
   },
-  {
-   "cell_type": "code",
-   "execution_count": 13,
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "[array([-1.,  0.,  0.], dtype=float32),\n",
-       " array([-0.9904389, -0.1379523,  0.       ], dtype=float32),\n",
-       " array([-0.9904389,  0.1379523,  0.       ], dtype=float32),\n",
-       " array([-0.9876884 , -0.08224247, -0.1330711 ], dtype=float32),\n",
-       " array([-0.9876884 , -0.08224247,  0.1330711 ], dtype=float32),\n",
-       " array([-0.9876884 ,  0.08224247, -0.1330711 ], dtype=float32),\n",
-       " array([-0.9876884 ,  0.08224247,  0.1330711 ], dtype=float32),\n",
-       " array([-0.9663926, -0.220117 , -0.1327925], dtype=float32),\n",
-       " array([-0.9663926, -0.220117 ,  0.1327925], dtype=float32),\n",
-       " array([-0.9663926,  0.220117 , -0.1327925], dtype=float32),\n",
-       " array([-0.9663926,  0.220117 ,  0.1327925], dtype=float32),\n",
-       " array([-0.9638612,  0.       , -0.2664047], dtype=float32),\n",
-       " array([-0.9638612,  0.       ,  0.2664047], dtype=float32),\n",
-       " array([-0.9619384, -0.2732666,  0.       ], dtype=float32),\n",
-       " array([-0.9619384,  0.2732666,  0.       ], dtype=float32),\n",
-       " array([-0.9510565, -0.1624599, -0.2628656], dtype=float32),\n",
-       " array([-0.9510565, -0.1624599,  0.2628656], dtype=float32),\n",
-       " array([-0.9510565,  0.1624599, -0.2628656], dtype=float32),\n",
-       " array([-0.9510565,  0.1624599,  0.2628656], dtype=float32),\n",
-       " array([-0.9243046, -0.3582288, -0.1316554], dtype=float32),\n",
-       " array([-0.9243046, -0.3582288,  0.1316554], dtype=float32),\n",
-       " array([-0.9243046,  0.3582288, -0.1316554], dtype=float32),\n",
-       " array([-0.9243046,  0.3582288,  0.1316554], dtype=float32),\n",
-       " array([-0.9162441, -0.3012589, -0.2640827], dtype=float32),\n",
-       " array([-0.9162441, -0.3012589,  0.2640827], dtype=float32),\n",
-       " array([-0.9162441,  0.3012589, -0.2640827], dtype=float32),\n",
-       " array([-0.9162441,  0.3012589,  0.2640827], dtype=float32),\n",
-       " array([-0.9150434, -0.4033554,  0.       ], dtype=float32),\n",
-       " array([-0.9150434,  0.4033554,  0.       ], dtype=float32),\n",
-       " array([-0.9129825 , -0.08232358, -0.399607  ], dtype=float32),\n",
-       " array([-0.9129825 , -0.08232358,  0.399607  ], dtype=float32),\n",
-       " array([-0.9129825 ,  0.08232358, -0.399607  ], dtype=float32),\n",
-       " array([-0.9129825 ,  0.08232358,  0.399607  ], dtype=float32),\n",
-       " array([-0.8910065, -0.2386769, -0.3861874], dtype=float32),\n",
-       " array([-0.8910065, -0.2386769,  0.3861874], dtype=float32),\n",
-       " array([-0.8910065,  0.2386769, -0.3861874], dtype=float32),\n",
-       " array([-0.8910065,  0.2386769,  0.3861874], dtype=float32),\n",
-       " array([-0.8649293, -0.4844417, -0.1312004], dtype=float32),\n",
-       " array([-0.8649293, -0.4844417,  0.1312004], dtype=float32),\n",
-       " array([-0.8649293,  0.4844417, -0.1312004], dtype=float32),\n",
-       " array([-0.8649293,  0.4844417,  0.1312004], dtype=float32),\n",
-       " array([-0.8626685, -0.4338886, -0.2598919], dtype=float32),\n",
-       " array([-0.8626685, -0.4338886,  0.2598919], dtype=float32),\n",
-       " array([-0.8626685,  0.4338886, -0.2598919], dtype=float32),\n",
-       " array([-0.8626685,  0.4338886,  0.2598919], dtype=float32),\n",
-       " array([-0.8506508, -0.5257311,  0.       ], dtype=float32),\n",
-       " array([-0.8506508,  0.       , -0.5257311], dtype=float32),\n",
-       " array([-0.8506508,  0.       ,  0.5257311], dtype=float32),\n",
-       " array([-0.8506508,  0.5257311,  0.       ], dtype=float32),\n",
-       " array([-0.8439115, -0.3750386, -0.3836137], dtype=float32),\n",
-       " array([-0.8439115, -0.3750386,  0.3836137], dtype=float32),\n",
-       " array([-0.8439115,  0.3750386, -0.3836137], dtype=float32),\n",
-       " array([-0.8439115,  0.3750386,  0.3836137], dtype=float32),\n",
-       " array([-0.8401779, -0.1564345, -0.5192585], dtype=float32),\n",
-       " array([-0.8401779, -0.1564345,  0.5192585], dtype=float32),\n",
-       " array([-0.8401779,  0.1564345, -0.5192585], dtype=float32),\n",
-       " array([-0.8401779,  0.1564345,  0.5192585], dtype=float32),\n",
-       " array([-0.809017, -0.309017, -0.5     ], dtype=float32),\n",
-       " array([-0.809017, -0.309017,  0.5     ], dtype=float32),\n",
-       " array([-0.809017,  0.309017, -0.5     ], dtype=float32),\n",
-       " array([-0.809017,  0.309017,  0.5     ], dtype=float32),\n",
-       " array([-0.7926493, -0.5712517, -0.2130229], dtype=float32),\n",
-       " array([-0.7926493, -0.5712517,  0.2130229], dtype=float32),\n",
-       " array([-0.7926493,  0.5712517, -0.2130229], dtype=float32),\n",
-       " array([-0.7926493,  0.5712517,  0.2130229], dtype=float32),\n",
-       " array([-0.783843  , -0.6156421 , -0.08108629], dtype=float32),\n",
-       " array([-0.783843  , -0.6156421 ,  0.08108629], dtype=float32),\n",
-       " array([-0.783843  ,  0.6156421 , -0.08108629], dtype=float32),\n",
-       " array([-0.783843  ,  0.6156421 ,  0.08108629], dtype=float32),\n",
-       " array([-0.7834517, -0.5161216, -0.346153 ], dtype=float32),\n",
-       " array([-0.7834517, -0.5161216,  0.346153 ], dtype=float32),\n",
-       " array([-0.7834517,  0.5161216, -0.346153 ], dtype=float32),\n",
-       " array([-0.7834517,  0.5161216,  0.346153 ], dtype=float32),\n",
-       " array([-0.7802044 , -0.08114184, -0.6202396 ], dtype=float32),\n",
-       " array([-0.7802044 , -0.08114184,  0.6202396 ], dtype=float32),\n",
-       " array([-0.7802044 ,  0.08114184, -0.6202396 ], dtype=float32),\n",
-       " array([-0.7802044 ,  0.08114184,  0.6202396 ], dtype=float32),\n",
-       " array([-0.7586523, -0.2370863, -0.6068251], dtype=float32),\n",
-       " array([-0.7586523, -0.2370863,  0.6068251], dtype=float32),\n",
-       " array([-0.7586523,  0.2370863, -0.6068251], dtype=float32),\n",
-       " array([-0.7586523,  0.2370863,  0.6068251], dtype=float32),\n",
-       " array([-0.7579354, -0.4539905, -0.4684299], dtype=float32),\n",
-       " array([-0.7579354, -0.4539905,  0.4684299], dtype=float32),\n",
-       " array([-0.7579354,  0.4539905, -0.4684299], dtype=float32),\n",
-       " array([-0.7579354,  0.4539905,  0.4684299], dtype=float32),\n",
-       " array([-0.7112817, -0.702907 ,  0.       ], dtype=float32),\n",
-       " array([-0.7112817,  0.702907 ,  0.       ], dtype=float32),\n",
-       " array([-0.7071068, -0.371748 , -0.6015009], dtype=float32),\n",
-       " array([-0.7071068, -0.371748 ,  0.6015009], dtype=float32),\n",
-       " array([-0.7071068,  0.371748 , -0.6015009], dtype=float32),\n",
-       " array([-0.7071068,  0.371748 ,  0.6015009], dtype=float32),\n",
-       " array([-0.702907 ,  0.       , -0.7112817], dtype=float32),\n",
-       " array([-0.702907 ,  0.       ,  0.7112817], dtype=float32),\n",
-       " array([-0.7023098, -0.6474119, -0.2960046], dtype=float32),\n",
-       " array([-0.7023098, -0.6474119,  0.2960046], dtype=float32),\n",
-       " array([-0.7023098,  0.6474119, -0.2960046], dtype=float32),\n",
-       " array([-0.7023098,  0.6474119,  0.2960046], dtype=float32),\n",
-       " array([-0.7020465, -0.6937805, -0.160622 ], dtype=float32),\n",
-       " array([-0.7020465, -0.6937805,  0.160622 ], dtype=float32),\n",
-       " array([-0.7020465,  0.6937805, -0.160622 ], dtype=float32),\n",
-       " array([-0.7020465,  0.6937805,  0.160622 ], dtype=float32),\n",
-       " array([-0.6937805, -0.160622 , -0.7020465], dtype=float32),\n",
-       " array([-0.6937805, -0.160622 ,  0.7020465], dtype=float32),\n",
-       " array([-0.6937805,  0.160622 , -0.7020465], dtype=float32),\n",
-       " array([-0.6937805,  0.160622 ,  0.7020465], dtype=float32),\n",
-       " array([-0.6881909, -0.5877853, -0.4253254], dtype=float32),\n",
-       " array([-0.6881909, -0.5877853,  0.4253254], dtype=float32),\n",
-       " array([-0.6881909,  0.5877853, -0.4253254], dtype=float32),\n",
-       " array([-0.6881909,  0.5877853,  0.4253254], dtype=float32),\n",
-       " array([-0.6474119, -0.2960046, -0.7023098], dtype=float32),\n",
-       " array([-0.6474119, -0.2960046,  0.7023098], dtype=float32),\n",
-       " array([-0.6474119,  0.2960046, -0.7023098], dtype=float32),\n",
-       " array([-0.6474119,  0.2960046,  0.7023098], dtype=float32),\n",
-       " array([-0.6465778, -0.5133755, -0.5642542], dtype=float32),\n",
-       " array([-0.6465778, -0.5133755,  0.5642542], dtype=float32),\n",
-       " array([-0.6465778,  0.5133755, -0.5642542], dtype=float32),\n",
-       " array([-0.6465778,  0.5133755,  0.5642542], dtype=float32),\n",
-       " array([-0.6202396 , -0.7802044 , -0.08114184], dtype=float32),\n",
-       " array([-0.6202396 , -0.7802044 ,  0.08114184], dtype=float32),\n",
-       " array([-0.6202396 ,  0.7802044 , -0.08114184], dtype=float32),\n",
-       " array([-0.6202396 ,  0.7802044 ,  0.08114184], dtype=float32),\n",
-       " array([-0.6156421 , -0.08108629, -0.783843  ], dtype=float32),\n",
-       " array([-0.6156421 , -0.08108629,  0.783843  ], dtype=float32),\n",
-       " array([-0.6156421 ,  0.08108629, -0.783843  ], dtype=float32),\n",
-       " array([-0.6156421 ,  0.08108629,  0.783843  ], dtype=float32),\n",
-       " array([-0.6068251, -0.7586523, -0.2370863], dtype=float32),\n",
-       " array([-0.6068251, -0.7586523,  0.2370863], dtype=float32),\n",
-       " array([-0.6068251,  0.7586523, -0.2370863], dtype=float32),\n",
-       " array([-0.6068251,  0.7586523,  0.2370863], dtype=float32),\n",
-       " array([-0.6015009, -0.7071068, -0.371748 ], dtype=float32),\n",
-       " array([-0.6015009, -0.7071068,  0.371748 ], dtype=float32),\n",
-       " array([-0.6015009,  0.7071068, -0.371748 ], dtype=float32),\n",
-       " array([-0.6015009,  0.7071068,  0.371748 ], dtype=float32),\n",
-       " array([-0.5877853, -0.4253254, -0.6881909], dtype=float32),\n",
-       " array([-0.5877853, -0.4253254,  0.6881909], dtype=float32),\n",
-       " array([-0.5877853,  0.4253254, -0.6881909], dtype=float32),\n",
-       " array([-0.5877853,  0.4253254,  0.6881909], dtype=float32),\n",
-       " array([-0.5712517, -0.2130228, -0.7926492], dtype=float32),\n",
-       " array([-0.5712517, -0.2130228,  0.7926492], dtype=float32),\n",
-       " array([-0.5712517,  0.2130228, -0.7926492], dtype=float32),\n",
-       " array([-0.5712517,  0.2130228,  0.7926492], dtype=float32),\n",
-       " array([-0.5642542, -0.6465778, -0.5133755], dtype=float32),\n",
-       " array([-0.5642542, -0.6465778,  0.5133755], dtype=float32),\n",
-       " array([-0.5642542,  0.6465778, -0.5133755], dtype=float32),\n",
-       " array([-0.5642542,  0.6465778,  0.5133755], dtype=float32),\n",
-       " array([-0.5257311, -0.8506508,  0.       ], dtype=float32),\n",
-       " array([-0.5257311,  0.       , -0.8506508], dtype=float32),\n",
-       " array([-0.5257311,  0.       ,  0.8506508], dtype=float32),\n",
-       " array([-0.5257311,  0.8506508,  0.       ], dtype=float32),\n",
-       " array([-0.5192585, -0.8401779, -0.1564345], dtype=float32),\n",
-       " array([-0.5192585, -0.8401779,  0.1564345], dtype=float32),\n",
-       " array([-0.5192585,  0.8401779, -0.1564345], dtype=float32),\n",
-       " array([-0.5192585,  0.8401779,  0.1564345], dtype=float32),\n",
-       " array([-0.5161216, -0.346153 , -0.7834517], dtype=float32),\n",
-       " array([-0.5161216, -0.346153 ,  0.7834517], dtype=float32),\n",
-       " array([-0.5161216,  0.346153 , -0.7834517], dtype=float32),\n",
-       " array([-0.5161216,  0.346153 ,  0.7834517], dtype=float32),\n",
-       " array([-0.5133755, -0.5642542, -0.6465778], dtype=float32),\n",
-       " array([-0.5133755, -0.5642542,  0.6465778], dtype=float32),\n",
-       " array([-0.5133755,  0.5642542, -0.6465778], dtype=float32),\n",
-       " array([-0.5133755,  0.5642542,  0.6465778], dtype=float32),\n",
-       " array([-0.5     , -0.809017, -0.309017], dtype=float32),\n",
-       " array([-0.5     , -0.809017,  0.309017], dtype=float32),\n",
-       " array([-0.5     ,  0.809017, -0.309017], dtype=float32),\n",
-       " array([-0.5     ,  0.809017,  0.309017], dtype=float32),\n",
-       " array([-0.4844417, -0.1312004, -0.8649293], dtype=float32),\n",
-       " array([-0.4844417, -0.1312004,  0.8649293], dtype=float32),\n",
-       " array([-0.4844417,  0.1312004, -0.8649293], dtype=float32),\n",
-       " array([-0.4844417,  0.1312004,  0.8649293], dtype=float32),\n",
-       " array([-0.4684299, -0.7579354, -0.4539905], dtype=float32),\n",
-       " array([-0.4684299, -0.7579354,  0.4539905], dtype=float32),\n",
-       " array([-0.4684299,  0.7579354, -0.4539905], dtype=float32),\n",
-       " array([-0.4684299,  0.7579354,  0.4539905], dtype=float32),\n",
-       " array([-0.4539905, -0.4684299, -0.7579354], dtype=float32),\n",
-       " array([-0.4539905, -0.4684299,  0.7579354], dtype=float32),\n",
-       " array([-0.4539905,  0.4684299, -0.7579354], dtype=float32),\n",
-       " array([-0.4539905,  0.4684299,  0.7579354], dtype=float32),\n",
-       " array([-0.4338886, -0.2598919, -0.8626685], dtype=float32),\n",
-       " array([-0.4338886, -0.2598919,  0.8626685], dtype=float32),\n",
-       " array([-0.4338886,  0.2598919, -0.8626685], dtype=float32),\n",
-       " array([-0.4338886,  0.2598919,  0.8626685], dtype=float32),\n",
-       " array([-0.4253254, -0.6881909, -0.5877853], dtype=float32),\n",
-       " array([-0.4253254, -0.6881909,  0.5877853], dtype=float32),\n",
-       " array([-0.4253254,  0.6881909, -0.5877853], dtype=float32),\n",
-       " array([-0.4253254,  0.6881909,  0.5877853], dtype=float32),\n",
-       " array([-0.4033554,  0.       , -0.9150434], dtype=float32),\n",
-       " array([-0.4033554,  0.       ,  0.9150434], dtype=float32),\n",
-       " array([-0.399607  , -0.9129825 , -0.08232358], dtype=float32),\n",
-       " array([-0.399607  , -0.9129825 ,  0.08232358], dtype=float32),\n",
-       " array([-0.399607  ,  0.9129825 , -0.08232358], dtype=float32),\n",
-       " array([-0.399607  ,  0.9129825 ,  0.08232358], dtype=float32),\n",
-       " array([-0.3861874, -0.8910066, -0.2386769], dtype=float32),\n",
-       " array([-0.3861874, -0.8910066,  0.2386769], dtype=float32),\n",
-       " array([-0.3861874,  0.8910066, -0.2386769], dtype=float32),\n",
-       " array([-0.3861874,  0.8910066,  0.2386769], dtype=float32),\n",
-       " array([-0.3836137, -0.8439115, -0.3750386], dtype=float32),\n",
-       " array([-0.3836137, -0.8439115,  0.3750386], dtype=float32),\n",
-       " array([-0.3836137,  0.8439115, -0.3750386], dtype=float32),\n",
-       " array([-0.3836137,  0.8439115,  0.3750386], dtype=float32),\n",
-       " array([-0.3750386, -0.3836137, -0.8439115], dtype=float32),\n",
-       " array([-0.3750386, -0.3836137,  0.8439115], dtype=float32),\n",
-       " array([-0.3750386,  0.3836137, -0.8439115], dtype=float32),\n",
-       " array([-0.3750386,  0.3836137,  0.8439115], dtype=float32),\n",
-       " array([-0.371748 , -0.6015009, -0.7071068], dtype=float32),\n",
-       " array([-0.371748 , -0.6015009,  0.7071068], dtype=float32),\n",
-       " array([-0.371748 ,  0.6015009, -0.7071068], dtype=float32),\n",
-       " array([-0.371748 ,  0.6015009,  0.7071068], dtype=float32),\n",
-       " array([-0.3582288, -0.1316554, -0.9243046], dtype=float32),\n",
-       " array([-0.3582288, -0.1316554,  0.9243046], dtype=float32),\n",
-       " array([-0.3582288,  0.1316554, -0.9243046], dtype=float32),\n",
-       " array([-0.3582288,  0.1316554,  0.9243046], dtype=float32),\n",
-       " array([-0.346153 , -0.7834517, -0.5161216], dtype=float32),\n",
-       " array([-0.346153 , -0.7834517,  0.5161216], dtype=float32),\n",
-       " array([-0.346153 ,  0.7834517, -0.5161216], dtype=float32),\n",
-       " array([-0.346153 ,  0.7834517,  0.5161216], dtype=float32),\n",
-       " array([-0.309017, -0.5     , -0.809017], dtype=float32),\n",
-       " array([-0.309017, -0.5     ,  0.809017], dtype=float32),\n",
-       " array([-0.309017,  0.5     , -0.809017], dtype=float32),\n",
-       " array([-0.309017,  0.5     ,  0.809017], dtype=float32),\n",
-       " array([-0.3012589, -0.2640827, -0.9162441], dtype=float32),\n",
-       " array([-0.3012589, -0.2640827,  0.9162441], dtype=float32),\n",
-       " array([-0.3012589,  0.2640827, -0.9162441], dtype=float32),\n",
-       " array([-0.3012589,  0.2640827,  0.9162441], dtype=float32),\n",
-       " array([-0.2960046, -0.7023098, -0.6474119], dtype=float32),\n",
-       " array([-0.2960046, -0.7023098,  0.6474119], dtype=float32),\n",
-       " array([-0.2960046,  0.7023098, -0.6474119], dtype=float32),\n",
-       " array([-0.2960046,  0.7023098,  0.6474119], dtype=float32),\n",
-       " array([-0.2732666,  0.       , -0.9619384], dtype=float32),\n",
-       " array([-0.2732666,  0.       ,  0.9619384], dtype=float32),\n",
-       " array([-0.2664047, -0.9638612,  0.       ], dtype=float32),\n",
-       " array([-0.2664047,  0.9638612,  0.       ], dtype=float32),\n",
-       " array([-0.2640827, -0.9162441, -0.3012589], dtype=float32),\n",
-       " array([-0.2640827, -0.9162441,  0.3012589], dtype=float32),\n",
-       " array([-0.2640827,  0.9162441, -0.3012589], dtype=float32),\n",
-       " array([-0.2640827,  0.9162441,  0.3012589], dtype=float32),\n",
-       " array([-0.2628656, -0.9510565, -0.1624599], dtype=float32),\n",
-       " array([-0.2628656, -0.9510565,  0.1624599], dtype=float32),\n",
-       " array([-0.2628656,  0.9510565, -0.1624599], dtype=float32),\n",
-       " array([-0.2628656,  0.9510565,  0.1624599], dtype=float32),\n",
-       " array([-0.2598919, -0.8626685, -0.4338886], dtype=float32),\n",
-       " array([-0.2598919, -0.8626685,  0.4338886], dtype=float32),\n",
-       " array([-0.2598919,  0.8626685, -0.4338886], dtype=float32),\n",
-       " array([-0.2598919,  0.8626685,  0.4338886], dtype=float32),\n",
-       " array([-0.2386769, -0.3861874, -0.8910065], dtype=float32),\n",
-       " array([-0.2386769, -0.3861874,  0.8910065], dtype=float32),\n",
-       " array([-0.2386769,  0.3861874, -0.8910065], dtype=float32),\n",
-       " array([-0.2386769,  0.3861874,  0.8910065], dtype=float32),\n",
-       " array([-0.2370863, -0.6068251, -0.7586523], dtype=float32),\n",
-       " array([-0.2370863, -0.6068251,  0.7586523], dtype=float32),\n",
-       " array([-0.2370863,  0.6068251, -0.7586523], dtype=float32),\n",
-       " array([-0.2370863,  0.6068251,  0.7586523], dtype=float32),\n",
-       " array([-0.220117 , -0.1327925, -0.9663926], dtype=float32),\n",
-       " array([-0.220117 , -0.1327925,  0.9663926], dtype=float32),\n",
-       " array([-0.220117 ,  0.1327925, -0.9663926], dtype=float32),\n",
-       " array([-0.220117 ,  0.1327925,  0.9663926], dtype=float32),\n",
-       " array([-0.2130228, -0.7926492, -0.5712517], dtype=float32),\n",
-       " array([-0.2130228, -0.7926492,  0.5712517], dtype=float32),\n",
-       " array([-0.2130228,  0.7926492, -0.5712517], dtype=float32),\n",
-       " array([-0.2130228,  0.7926492,  0.5712517], dtype=float32),\n",
-       " array([-0.1624599, -0.2628656, -0.9510565], dtype=float32),\n",
-       " array([-0.1624599, -0.2628656,  0.9510565], dtype=float32),\n",
-       " array([-0.1624599,  0.2628656, -0.9510565], dtype=float32),\n",
-       " array([-0.1624599,  0.2628656,  0.9510565], dtype=float32),\n",
-       " array([-0.160622 , -0.7020465, -0.6937805], dtype=float32),\n",
-       " array([-0.160622 , -0.7020465,  0.6937805], dtype=float32),\n",
-       " array([-0.160622 ,  0.7020465, -0.6937805], dtype=float32),\n",
-       " array([-0.160622 ,  0.7020465,  0.6937805], dtype=float32),\n",
-       " array([-0.1564345, -0.5192585, -0.8401779], dtype=float32),\n",
-       " array([-0.1564345, -0.5192585,  0.8401779], dtype=float32),\n",
-       " array([-0.1564345,  0.5192585, -0.8401779], dtype=float32),\n",
-       " array([-0.1564345,  0.5192585,  0.8401779], dtype=float32),\n",
-       " array([-0.1379523,  0.       , -0.9904389], dtype=float32),\n",
-       " array([-0.1379523,  0.       ,  0.9904389], dtype=float32),\n",
-       " array([-0.1330711 , -0.9876884 , -0.08224247], dtype=float32),\n",
-       " array([-0.1330711 , -0.9876884 ,  0.08224247], dtype=float32),\n",
-       " array([-0.1330711 ,  0.9876884 , -0.08224247], dtype=float32),\n",
-       " array([-0.1330711 ,  0.9876884 ,  0.08224247], dtype=float32),\n",
-       " array([-0.1327925, -0.9663926, -0.220117 ], dtype=float32),\n",
-       " array([-0.1327925, -0.9663926,  0.220117 ], dtype=float32),\n",
-       " array([-0.1327925,  0.9663926, -0.220117 ], dtype=float32),\n",
-       " array([-0.1327925,  0.9663926,  0.220117 ], dtype=float32),\n",
-       " array([-0.1316554, -0.9243046, -0.3582288], dtype=float32),\n",
-       " array([-0.1316554, -0.9243046,  0.3582288], dtype=float32),\n",
-       " array([-0.1316554,  0.9243046, -0.3582288], dtype=float32),\n",
-       " array([-0.1316554,  0.9243046,  0.3582288], dtype=float32),\n",
-       " array([-0.1312004, -0.8649293, -0.4844417], dtype=float32),\n",
-       " array([-0.1312004, -0.8649293,  0.4844417], dtype=float32),\n",
-       " array([-0.1312004,  0.8649293, -0.4844417], dtype=float32),\n",
-       " array([-0.1312004,  0.8649293,  0.4844417], dtype=float32),\n",
-       " array([-0.08232358, -0.399607  , -0.9129825 ], dtype=float32),\n",
-       " array([-0.08232358, -0.399607  ,  0.9129825 ], dtype=float32),\n",
-       " array([-0.08232358,  0.399607  , -0.9129825 ], dtype=float32),\n",
-       " array([-0.08232358,  0.399607  ,  0.9129825 ], dtype=float32),\n",
-       " array([-0.08224247, -0.1330711 , -0.9876884 ], dtype=float32),\n",
-       " array([-0.08224247, -0.1330711 ,  0.9876884 ], dtype=float32),\n",
-       " array([-0.08224247,  0.1330711 , -0.9876884 ], dtype=float32),\n",
-       " array([-0.08224247,  0.1330711 ,  0.9876884 ], dtype=float32),\n",
-       " array([-0.08114184, -0.6202396 , -0.7802044 ], dtype=float32),\n",
-       " array([-0.08114184, -0.6202396 ,  0.7802044 ], dtype=float32),\n",
-       " array([-0.08114184,  0.6202396 , -0.7802044 ], dtype=float32),\n",
-       " array([-0.08114184,  0.6202396 ,  0.7802044 ], dtype=float32),\n",
-       " array([-0.08108629, -0.783843  , -0.6156421 ], dtype=float32),\n",
-       " array([-0.08108629, -0.783843  ,  0.6156421 ], dtype=float32),\n",
-       " array([-0.08108629,  0.783843  , -0.6156421 ], dtype=float32),\n",
-       " array([-0.08108629,  0.783843  ,  0.6156421 ], dtype=float32),\n",
-       " array([ 0., -1.,  0.], dtype=float32),\n",
-       " array([ 0.       , -0.9904389, -0.1379523], dtype=float32),\n",
-       " array([ 0.       , -0.9904389,  0.1379523], dtype=float32),\n",
-       " array([ 0.       , -0.9619384, -0.2732666], dtype=float32),\n",
-       " array([ 0.       , -0.9619384,  0.2732666], dtype=float32),\n",
-       " array([ 0.       , -0.9150434, -0.4033554], dtype=float32),\n",
-       " array([ 0.       , -0.9150434,  0.4033554], dtype=float32),\n",
-       " array([ 0.       , -0.8506508, -0.5257311], dtype=float32),\n",
-       " array([ 0.       , -0.8506508,  0.5257311], dtype=float32),\n",
-       " array([ 0.       , -0.7112817, -0.702907 ], dtype=float32),\n",
-       " array([ 0.       , -0.7112817,  0.702907 ], dtype=float32),\n",
-       " array([ 0.       , -0.5257311, -0.8506508], dtype=float32),\n",
-       " array([ 0.       , -0.5257311,  0.8506508], dtype=float32),\n",
-       " array([ 0.       , -0.2664047, -0.9638612], dtype=float32),\n",
-       " array([ 0.       , -0.2664047,  0.9638612], dtype=float32),\n",
-       " array([ 0.,  0., -1.], dtype=float32),\n",
-       " array([0., 0., 1.], dtype=float32),\n",
-       " array([ 0.       ,  0.2664047, -0.9638612], dtype=float32),\n",
-       " array([0.       , 0.2664047, 0.9638612], dtype=float32),\n",
-       " array([ 0.       ,  0.5257311, -0.8506508], dtype=float32),\n",
-       " array([0.       , 0.5257311, 0.8506508], dtype=float32),\n",
-       " array([ 0.       ,  0.7112817, -0.702907 ], dtype=float32),\n",
-       " array([0.       , 0.7112817, 0.702907 ], dtype=float32),\n",
-       " array([ 0.       ,  0.8506508, -0.5257311], dtype=float32),\n",
-       " array([0.       , 0.8506508, 0.5257311], dtype=float32),\n",
-       " array([ 0.       ,  0.9150434, -0.4033554], dtype=float32),\n",
-       " array([0.       , 0.9150434, 0.4033554], dtype=float32),\n",
-       " array([ 0.       ,  0.9619384, -0.2732666], dtype=float32),\n",
-       " array([0.       , 0.9619384, 0.2732666], dtype=float32),\n",
-       " array([ 0.       ,  0.9904389, -0.1379523], dtype=float32),\n",
-       " array([0.       , 0.9904389, 0.1379523], dtype=float32),\n",
-       " array([0., 1., 0.], dtype=float32),\n",
-       " array([ 0.08108629, -0.783843  , -0.6156421 ], dtype=float32),\n",
-       " array([ 0.08108629, -0.783843  ,  0.6156421 ], dtype=float32),\n",
-       " array([ 0.08108629,  0.783843  , -0.6156421 ], dtype=float32),\n",
-       " array([0.08108629, 0.783843  , 0.6156421 ], dtype=float32),\n",
-       " array([ 0.08114184, -0.6202396 , -0.7802044 ], dtype=float32),\n",
-       " array([ 0.08114184, -0.6202396 ,  0.7802044 ], dtype=float32),\n",
-       " array([ 0.08114184,  0.6202396 , -0.7802044 ], dtype=float32),\n",
-       " array([0.08114184, 0.6202396 , 0.7802044 ], dtype=float32),\n",
-       " array([ 0.08224247, -0.1330711 , -0.9876884 ], dtype=float32),\n",
-       " array([ 0.08224247, -0.1330711 ,  0.9876884 ], dtype=float32),\n",
-       " array([ 0.08224247,  0.1330711 , -0.9876884 ], dtype=float32),\n",
-       " array([0.08224247, 0.1330711 , 0.9876884 ], dtype=float32),\n",
-       " array([ 0.08232358, -0.399607  , -0.9129825 ], dtype=float32),\n",
-       " array([ 0.08232358, -0.399607  ,  0.9129825 ], dtype=float32),\n",
-       " array([ 0.08232358,  0.399607  , -0.9129825 ], dtype=float32),\n",
-       " array([0.08232358, 0.399607  , 0.9129825 ], dtype=float32),\n",
-       " array([ 0.1312004, -0.8649293, -0.4844417], dtype=float32),\n",
-       " array([ 0.1312004, -0.8649293,  0.4844417], dtype=float32),\n",
-       " array([ 0.1312004,  0.8649293, -0.4844417], dtype=float32),\n",
-       " array([0.1312004, 0.8649293, 0.4844417], dtype=float32),\n",
-       " array([ 0.1316554, -0.9243046, -0.3582288], dtype=float32),\n",
-       " array([ 0.1316554, -0.9243046,  0.3582288], dtype=float32),\n",
-       " array([ 0.1316554,  0.9243046, -0.3582288], dtype=float32),\n",
-       " array([0.1316554, 0.9243046, 0.3582288], dtype=float32),\n",
-       " array([ 0.1327925, -0.9663926, -0.220117 ], dtype=float32),\n",
-       " array([ 0.1327925, -0.9663926,  0.220117 ], dtype=float32),\n",
-       " array([ 0.1327925,  0.9663926, -0.220117 ], dtype=float32),\n",
-       " array([0.1327925, 0.9663926, 0.220117 ], dtype=float32),\n",
-       " array([ 0.1330711 , -0.9876884 , -0.08224247], dtype=float32),\n",
-       " array([ 0.1330711 , -0.9876884 ,  0.08224247], dtype=float32),\n",
-       " array([ 0.1330711 ,  0.9876884 , -0.08224247], dtype=float32),\n",
-       " array([0.1330711 , 0.9876884 , 0.08224247], dtype=float32),\n",
-       " array([ 0.1379523,  0.       , -0.9904389], dtype=float32),\n",
-       " array([0.1379523, 0.       , 0.9904389], dtype=float32),\n",
-       " array([ 0.1564345, -0.5192585, -0.8401779], dtype=float32),\n",
-       " array([ 0.1564345, -0.5192585,  0.8401779], dtype=float32),\n",
-       " array([ 0.1564345,  0.5192585, -0.8401779], dtype=float32),\n",
-       " array([0.1564345, 0.5192585, 0.8401779], dtype=float32),\n",
-       " array([ 0.160622 , -0.7020465, -0.6937805], dtype=float32),\n",
-       " array([ 0.160622 , -0.7020465,  0.6937805], dtype=float32),\n",
-       " array([ 0.160622 ,  0.7020465, -0.6937805], dtype=float32),\n",
-       " array([0.160622 , 0.7020465, 0.6937805], dtype=float32),\n",
-       " array([ 0.1624599, -0.2628656, -0.9510565], dtype=float32),\n",
-       " array([ 0.1624599, -0.2628656,  0.9510565], dtype=float32),\n",
-       " array([ 0.1624599,  0.2628656, -0.9510565], dtype=float32),\n",
-       " array([0.1624599, 0.2628656, 0.9510565], dtype=float32),\n",
-       " array([ 0.2130228, -0.7926492, -0.5712517], dtype=float32),\n",
-       " array([ 0.2130228, -0.7926492,  0.5712517], dtype=float32),\n",
-       " array([ 0.2130228,  0.7926492, -0.5712517], dtype=float32),\n",
-       " array([0.2130228, 0.7926492, 0.5712517], dtype=float32),\n",
-       " array([ 0.220117 , -0.1327925, -0.9663926], dtype=float32),\n",
-       " array([ 0.220117 , -0.1327925,  0.9663926], dtype=float32),\n",
-       " array([ 0.220117 ,  0.1327925, -0.9663926], dtype=float32),\n",
-       " array([0.220117 , 0.1327925, 0.9663926], dtype=float32),\n",
-       " array([ 0.2370863, -0.6068251, -0.7586523], dtype=float32),\n",
-       " array([ 0.2370863, -0.6068251,  0.7586523], dtype=float32),\n",
-       " array([ 0.2370863,  0.6068251, -0.7586523], dtype=float32),\n",
-       " array([0.2370863, 0.6068251, 0.7586523], dtype=float32),\n",
-       " array([ 0.2386769, -0.3861874, -0.8910065], dtype=float32),\n",
-       " array([ 0.2386769, -0.3861874,  0.8910065], dtype=float32),\n",
-       " array([ 0.2386769,  0.3861874, -0.8910065], dtype=float32),\n",
-       " array([0.2386769, 0.3861874, 0.8910065], dtype=float32),\n",
-       " array([ 0.2598919, -0.8626685, -0.4338886], dtype=float32),\n",
-       " array([ 0.2598919, -0.8626685,  0.4338886], dtype=float32),\n",
-       " array([ 0.2598919,  0.8626685, -0.4338886], dtype=float32),\n",
-       " array([0.2598919, 0.8626685, 0.4338886], dtype=float32),\n",
-       " array([ 0.2628656, -0.9510565, -0.1624599], dtype=float32),\n",
-       " array([ 0.2628656, -0.9510565,  0.1624599], dtype=float32),\n",
-       " array([ 0.2628656,  0.9510565, -0.1624599], dtype=float32),\n",
-       " array([0.2628656, 0.9510565, 0.1624599], dtype=float32),\n",
-       " array([ 0.2640827, -0.9162441, -0.3012589], dtype=float32),\n",
-       " array([ 0.2640827, -0.9162441,  0.3012589], dtype=float32),\n",
-       " array([ 0.2640827,  0.9162441, -0.3012589], dtype=float32),\n",
-       " array([0.2640827, 0.9162441, 0.3012589], dtype=float32),\n",
-       " array([ 0.2664047, -0.9638612,  0.       ], dtype=float32),\n",
-       " array([0.2664047, 0.9638612, 0.       ], dtype=float32),\n",
-       " array([ 0.2732666,  0.       , -0.9619384], dtype=float32),\n",
-       " array([0.2732666, 0.       , 0.9619384], dtype=float32),\n",
-       " array([ 0.2960046, -0.7023098, -0.6474119], dtype=float32),\n",
-       " array([ 0.2960046, -0.7023098,  0.6474119], dtype=float32),\n",
-       " array([ 0.2960046,  0.7023098, -0.6474119], dtype=float32),\n",
-       " array([0.2960046, 0.7023098, 0.6474119], dtype=float32),\n",
-       " array([ 0.3012589, -0.2640827, -0.9162441], dtype=float32),\n",
-       " array([ 0.3012589, -0.2640827,  0.9162441], dtype=float32),\n",
-       " array([ 0.3012589,  0.2640827, -0.9162441], dtype=float32),\n",
-       " array([0.3012589, 0.2640827, 0.9162441], dtype=float32),\n",
-       " array([ 0.309017, -0.5     , -0.809017], dtype=float32),\n",
-       " array([ 0.309017, -0.5     ,  0.809017], dtype=float32),\n",
-       " array([ 0.309017,  0.5     , -0.809017], dtype=float32),\n",
-       " array([0.309017, 0.5     , 0.809017], dtype=float32),\n",
-       " array([ 0.346153 , -0.7834517, -0.5161216], dtype=float32),\n",
-       " array([ 0.346153 , -0.7834517,  0.5161216], dtype=float32),\n",
-       " array([ 0.346153 ,  0.7834517, -0.5161216], dtype=float32),\n",
-       " array([0.346153 , 0.7834517, 0.5161216], dtype=float32),\n",
-       " array([ 0.3582288, -0.1316554, -0.9243046], dtype=float32),\n",
-       " array([ 0.3582288, -0.1316554,  0.9243046], dtype=float32),\n",
-       " array([ 0.3582288,  0.1316554, -0.9243046], dtype=float32),\n",
-       " array([0.3582288, 0.1316554, 0.9243046], dtype=float32),\n",
-       " array([ 0.371748 , -0.6015009, -0.7071068], dtype=float32),\n",
-       " array([ 0.371748 , -0.6015009,  0.7071068], dtype=float32),\n",
-       " array([ 0.371748 ,  0.6015009, -0.7071068], dtype=float32),\n",
-       " array([0.371748 , 0.6015009, 0.7071068], dtype=float32),\n",
-       " array([ 0.3750386, -0.3836137, -0.8439115], dtype=float32),\n",
-       " array([ 0.3750386, -0.3836137,  0.8439115], dtype=float32),\n",
-       " array([ 0.3750386,  0.3836137, -0.8439115], dtype=float32),\n",
-       " array([0.3750386, 0.3836137, 0.8439115], dtype=float32),\n",
-       " array([ 0.3836137, -0.8439115, -0.3750386], dtype=float32),\n",
-       " array([ 0.3836137, -0.8439115,  0.3750386], dtype=float32),\n",
-       " array([ 0.3836137,  0.8439115, -0.3750386], dtype=float32),\n",
-       " array([0.3836137, 0.8439115, 0.3750386], dtype=float32),\n",
-       " array([ 0.3861874, -0.8910066, -0.2386769], dtype=float32),\n",
-       " array([ 0.3861874, -0.8910066,  0.2386769], dtype=float32),\n",
-       " array([ 0.3861874,  0.8910066, -0.2386769], dtype=float32),\n",
-       " array([0.3861874, 0.8910066, 0.2386769], dtype=float32),\n",
-       " array([ 0.399607  , -0.9129825 , -0.08232358], dtype=float32),\n",
-       " array([ 0.399607  , -0.9129825 ,  0.08232358], dtype=float32),\n",
-       " array([ 0.399607  ,  0.9129825 , -0.08232358], dtype=float32),\n",
-       " array([0.399607  , 0.9129825 , 0.08232358], dtype=float32),\n",
-       " array([ 0.4033554,  0.       , -0.9150434], dtype=float32),\n",
-       " array([0.4033554, 0.       , 0.9150434], dtype=float32),\n",
-       " array([ 0.4253254, -0.6881909, -0.5877853], dtype=float32),\n",
-       " array([ 0.4253254, -0.6881909,  0.5877853], dtype=float32),\n",
-       " array([ 0.4253254,  0.6881909, -0.5877853], dtype=float32),\n",
-       " array([0.4253254, 0.6881909, 0.5877853], dtype=float32),\n",
-       " array([ 0.4338886, -0.2598919, -0.8626685], dtype=float32),\n",
-       " array([ 0.4338886, -0.2598919,  0.8626685], dtype=float32),\n",
-       " array([ 0.4338886,  0.2598919, -0.8626685], dtype=float32),\n",
-       " array([0.4338886, 0.2598919, 0.8626685], dtype=float32),\n",
-       " array([ 0.4539905, -0.4684299, -0.7579354], dtype=float32),\n",
-       " array([ 0.4539905, -0.4684299,  0.7579354], dtype=float32),\n",
-       " array([ 0.4539905,  0.4684299, -0.7579354], dtype=float32),\n",
-       " array([0.4539905, 0.4684299, 0.7579354], dtype=float32),\n",
-       " array([ 0.4684299, -0.7579354, -0.4539905], dtype=float32),\n",
-       " array([ 0.4684299, -0.7579354,  0.4539905], dtype=float32),\n",
-       " array([ 0.4684299,  0.7579354, -0.4539905], dtype=float32),\n",
-       " array([0.4684299, 0.7579354, 0.4539905], dtype=float32),\n",
-       " array([ 0.4844417, -0.1312004, -0.8649293], dtype=float32),\n",
-       " array([ 0.4844417, -0.1312004,  0.8649293], dtype=float32),\n",
-       " array([ 0.4844417,  0.1312004, -0.8649293], dtype=float32),\n",
-       " array([0.4844417, 0.1312004, 0.8649293], dtype=float32),\n",
-       " array([ 0.5     , -0.809017, -0.309017], dtype=float32),\n",
-       " array([ 0.5     , -0.809017,  0.309017], dtype=float32),\n",
-       " array([ 0.5     ,  0.809017, -0.309017], dtype=float32),\n",
-       " array([0.5     , 0.809017, 0.309017], dtype=float32),\n",
-       " array([ 0.5133755, -0.5642542, -0.6465778], dtype=float32),\n",
-       " array([ 0.5133755, -0.5642542,  0.6465778], dtype=float32),\n",
-       " array([ 0.5133755,  0.5642542, -0.6465778], dtype=float32),\n",
-       " array([0.5133755, 0.5642542, 0.6465778], dtype=float32),\n",
-       " array([ 0.5161216, -0.346153 , -0.7834517], dtype=float32),\n",
-       " array([ 0.5161216, -0.346153 ,  0.7834517], dtype=float32),\n",
-       " array([ 0.5161216,  0.346153 , -0.7834517], dtype=float32),\n",
-       " array([0.5161216, 0.346153 , 0.7834517], dtype=float32),\n",
-       " array([ 0.5192585, -0.8401779, -0.1564345], dtype=float32),\n",
-       " array([ 0.5192585, -0.8401779,  0.1564345], dtype=float32),\n",
-       " array([ 0.5192585,  0.8401779, -0.1564345], dtype=float32),\n",
-       " array([0.5192585, 0.8401779, 0.1564345], dtype=float32),\n",
-       " array([ 0.5257311, -0.8506508,  0.       ], dtype=float32),\n",
-       " array([ 0.5257311,  0.       , -0.8506508], dtype=float32),\n",
-       " array([0.5257311, 0.       , 0.8506508], dtype=float32),\n",
-       " array([0.5257311, 0.8506508, 0.       ], dtype=float32),\n",
-       " array([ 0.5642542, -0.6465778, -0.5133755], dtype=float32),\n",
-       " array([ 0.5642542, -0.6465778,  0.5133755], dtype=float32),\n",
-       " array([ 0.5642542,  0.6465778, -0.5133755], dtype=float32),\n",
-       " array([0.5642542, 0.6465778, 0.5133755], dtype=float32),\n",
-       " array([ 0.5712517, -0.2130228, -0.7926492], dtype=float32),\n",
-       " array([ 0.5712517, -0.2130228,  0.7926492], dtype=float32),\n",
-       " array([ 0.5712517,  0.2130228, -0.7926492], dtype=float32),\n",
-       " array([0.5712517, 0.2130228, 0.7926492], dtype=float32),\n",
-       " array([ 0.5877853, -0.4253254, -0.6881909], dtype=float32),\n",
-       " array([ 0.5877853, -0.4253254,  0.6881909], dtype=float32),\n",
-       " array([ 0.5877853,  0.4253254, -0.6881909], dtype=float32),\n",
-       " array([0.5877853, 0.4253254, 0.6881909], dtype=float32),\n",
-       " array([ 0.6015009, -0.7071068, -0.371748 ], dtype=float32),\n",
-       " array([ 0.6015009, -0.7071068,  0.371748 ], dtype=float32),\n",
-       " array([ 0.6015009,  0.7071068, -0.371748 ], dtype=float32),\n",
-       " array([0.6015009, 0.7071068, 0.371748 ], dtype=float32),\n",
-       " array([ 0.6068251, -0.7586523, -0.2370863], dtype=float32),\n",
-       " array([ 0.6068251, -0.7586523,  0.2370863], dtype=float32),\n",
-       " array([ 0.6068251,  0.7586523, -0.2370863], dtype=float32),\n",
-       " array([0.6068251, 0.7586523, 0.2370863], dtype=float32),\n",
-       " array([ 0.6156421 , -0.08108629, -0.783843  ], dtype=float32),\n",
-       " array([ 0.6156421 , -0.08108629,  0.783843  ], dtype=float32),\n",
-       " array([ 0.6156421 ,  0.08108629, -0.783843  ], dtype=float32),\n",
-       " array([0.6156421 , 0.08108629, 0.783843  ], dtype=float32),\n",
-       " array([ 0.6202396 , -0.7802044 , -0.08114184], dtype=float32),\n",
-       " array([ 0.6202396 , -0.7802044 ,  0.08114184], dtype=float32),\n",
-       " array([ 0.6202396 ,  0.7802044 , -0.08114184], dtype=float32),\n",
-       " array([0.6202396 , 0.7802044 , 0.08114184], dtype=float32),\n",
-       " array([ 0.6465778, -0.5133755, -0.5642542], dtype=float32),\n",
-       " array([ 0.6465778, -0.5133755,  0.5642542], dtype=float32),\n",
-       " array([ 0.6465778,  0.5133755, -0.5642542], dtype=float32),\n",
-       " array([0.6465778, 0.5133755, 0.5642542], dtype=float32),\n",
-       " array([ 0.6474119, -0.2960046, -0.7023098], dtype=float32),\n",
-       " array([ 0.6474119, -0.2960046,  0.7023098], dtype=float32),\n",
-       " array([ 0.6474119,  0.2960046, -0.7023098], dtype=float32),\n",
-       " array([0.6474119, 0.2960046, 0.7023098], dtype=float32),\n",
-       " array([ 0.6881909, -0.5877853, -0.4253254], dtype=float32),\n",
-       " array([ 0.6881909, -0.5877853,  0.4253254], dtype=float32),\n",
-       " array([ 0.6881909,  0.5877853, -0.4253254], dtype=float32),\n",
-       " array([0.6881909, 0.5877853, 0.4253254], dtype=float32),\n",
-       " array([ 0.6937805, -0.160622 , -0.7020465], dtype=float32),\n",
-       " array([ 0.6937805, -0.160622 ,  0.7020465], dtype=float32),\n",
-       " array([ 0.6937805,  0.160622 , -0.7020465], dtype=float32),\n",
-       " array([0.6937805, 0.160622 , 0.7020465], dtype=float32),\n",
-       " array([ 0.7020465, -0.6937805, -0.160622 ], dtype=float32),\n",
-       " array([ 0.7020465, -0.6937805,  0.160622 ], dtype=float32),\n",
-       " array([ 0.7020465,  0.6937805, -0.160622 ], dtype=float32),\n",
-       " array([0.7020465, 0.6937805, 0.160622 ], dtype=float32),\n",
-       " array([ 0.7023098, -0.6474119, -0.2960046], dtype=float32),\n",
-       " array([ 0.7023098, -0.6474119,  0.2960046], dtype=float32),\n",
-       " array([ 0.7023098,  0.6474119, -0.2960046], dtype=float32),\n",
-       " array([0.7023098, 0.6474119, 0.2960046], dtype=float32),\n",
-       " array([ 0.702907 ,  0.       , -0.7112817], dtype=float32),\n",
-       " array([0.702907 , 0.       , 0.7112817], dtype=float32),\n",
-       " array([ 0.7071068, -0.371748 , -0.6015009], dtype=float32),\n",
-       " array([ 0.7071068, -0.371748 ,  0.6015009], dtype=float32),\n",
-       " array([ 0.7071068,  0.371748 , -0.6015009], dtype=float32),\n",
-       " array([0.7071068, 0.371748 , 0.6015009], dtype=float32),\n",
-       " array([ 0.7112817, -0.702907 ,  0.       ], dtype=float32),\n",
-       " array([0.7112817, 0.702907 , 0.       ], dtype=float32),\n",
-       " array([ 0.7579354, -0.4539905, -0.4684299], dtype=float32),\n",
-       " array([ 0.7579354, -0.4539905,  0.4684299], dtype=float32),\n",
-       " array([ 0.7579354,  0.4539905, -0.4684299], dtype=float32),\n",
-       " array([0.7579354, 0.4539905, 0.4684299], dtype=float32),\n",
-       " array([ 0.7586523, -0.2370863, -0.6068251], dtype=float32),\n",
-       " array([ 0.7586523, -0.2370863,  0.6068251], dtype=float32),\n",
-       " array([ 0.7586523,  0.2370863, -0.6068251], dtype=float32),\n",
-       " array([0.7586523, 0.2370863, 0.6068251], dtype=float32),\n",
-       " array([ 0.7802044 , -0.08114184, -0.6202396 ], dtype=float32),\n",
-       " array([ 0.7802044 , -0.08114184,  0.6202396 ], dtype=float32),\n",
-       " array([ 0.7802044 ,  0.08114184, -0.6202396 ], dtype=float32),\n",
-       " array([0.7802044 , 0.08114184, 0.6202396 ], dtype=float32),\n",
-       " array([ 0.7834517, -0.5161216, -0.346153 ], dtype=float32),\n",
-       " array([ 0.7834517, -0.5161216,  0.346153 ], dtype=float32),\n",
-       " array([ 0.7834517,  0.5161216, -0.346153 ], dtype=float32),\n",
-       " array([0.7834517, 0.5161216, 0.346153 ], dtype=float32),\n",
-       " array([ 0.783843  , -0.6156421 , -0.08108629], dtype=float32),\n",
-       " array([ 0.783843  , -0.6156421 ,  0.08108629], dtype=float32),\n",
-       " array([ 0.783843  ,  0.6156421 , -0.08108629], dtype=float32),\n",
-       " array([0.783843  , 0.6156421 , 0.08108629], dtype=float32),\n",
-       " array([ 0.7926493, -0.5712517, -0.2130229], dtype=float32),\n",
-       " array([ 0.7926493, -0.5712517,  0.2130229], dtype=float32),\n",
-       " array([ 0.7926493,  0.5712517, -0.2130229], dtype=float32),\n",
-       " array([0.7926493, 0.5712517, 0.2130229], dtype=float32),\n",
-       " array([ 0.809017, -0.309017, -0.5     ], dtype=float32),\n",
-       " array([ 0.809017, -0.309017,  0.5     ], dtype=float32),\n",
-       " array([ 0.809017,  0.309017, -0.5     ], dtype=float32),\n",
-       " array([0.809017, 0.309017, 0.5     ], dtype=float32),\n",
-       " array([ 0.8401779, -0.1564345, -0.5192585], dtype=float32),\n",
-       " array([ 0.8401779, -0.1564345,  0.5192585], dtype=float32),\n",
-       " array([ 0.8401779,  0.1564345, -0.5192585], dtype=float32),\n",
-       " array([0.8401779, 0.1564345, 0.5192585], dtype=float32),\n",
-       " array([ 0.8439115, -0.3750386, -0.3836137], dtype=float32),\n",
-       " array([ 0.8439115, -0.3750386,  0.3836137], dtype=float32),\n",
-       " array([ 0.8439115,  0.3750386, -0.3836137], dtype=float32),\n",
-       " array([0.8439115, 0.3750386, 0.3836137], dtype=float32),\n",
-       " array([ 0.8506508, -0.5257311,  0.       ], dtype=float32),\n",
-       " array([ 0.8506508,  0.       , -0.5257311], dtype=float32),\n",
-       " array([0.8506508, 0.       , 0.5257311], dtype=float32),\n",
-       " array([0.8506508, 0.5257311, 0.       ], dtype=float32),\n",
-       " array([ 0.8626685, -0.4338886, -0.2598919], dtype=float32),\n",
-       " array([ 0.8626685, -0.4338886,  0.2598919], dtype=float32),\n",
-       " array([ 0.8626685,  0.4338886, -0.2598919], dtype=float32),\n",
-       " array([0.8626685, 0.4338886, 0.2598919], dtype=float32),\n",
-       " array([ 0.8649293, -0.4844417, -0.1312004], dtype=float32),\n",
-       " array([ 0.8649293, -0.4844417,  0.1312004], dtype=float32),\n",
-       " array([ 0.8649293,  0.4844417, -0.1312004], dtype=float32),\n",
-       " array([0.8649293, 0.4844417, 0.1312004], dtype=float32),\n",
-       " array([ 0.8910065, -0.2386769, -0.3861874], dtype=float32),\n",
-       " array([ 0.8910065, -0.2386769,  0.3861874], dtype=float32),\n",
-       " array([ 0.8910065,  0.2386769, -0.3861874], dtype=float32),\n",
-       " array([0.8910065, 0.2386769, 0.3861874], dtype=float32),\n",
-       " array([ 0.9129825 , -0.08232358, -0.399607  ], dtype=float32),\n",
-       " array([ 0.9129825 , -0.08232358,  0.399607  ], dtype=float32),\n",
-       " array([ 0.9129825 ,  0.08232358, -0.399607  ], dtype=float32),\n",
-       " array([0.9129825 , 0.08232358, 0.399607  ], dtype=float32),\n",
-       " array([ 0.9150434, -0.4033554,  0.       ], dtype=float32),\n",
-       " array([0.9150434, 0.4033554, 0.       ], dtype=float32),\n",
-       " array([ 0.9162441, -0.3012589, -0.2640827], dtype=float32),\n",
-       " array([ 0.9162441, -0.3012589,  0.2640827], dtype=float32),\n",
-       " array([ 0.9162441,  0.3012589, -0.2640827], dtype=float32),\n",
-       " array([0.9162441, 0.3012589, 0.2640827], dtype=float32),\n",
-       " array([ 0.9243046, -0.3582288, -0.1316554], dtype=float32),\n",
-       " array([ 0.9243046, -0.3582288,  0.1316554], dtype=float32),\n",
-       " array([ 0.9243046,  0.3582288, -0.1316554], dtype=float32),\n",
-       " array([0.9243046, 0.3582288, 0.1316554], dtype=float32),\n",
-       " array([ 0.9510565, -0.1624599, -0.2628656], dtype=float32),\n",
-       " array([ 0.9510565, -0.1624599,  0.2628656], dtype=float32),\n",
-       " array([ 0.9510565,  0.1624599, -0.2628656], dtype=float32),\n",
-       " array([0.9510565, 0.1624599, 0.2628656], dtype=float32),\n",
-       " array([ 0.9619384, -0.2732666,  0.       ], dtype=float32),\n",
-       " array([0.9619384, 0.2732666, 0.       ], dtype=float32),\n",
-       " array([ 0.9638612,  0.       , -0.2664047], dtype=float32),\n",
-       " array([0.9638612, 0.       , 0.2664047], dtype=float32),\n",
-       " array([ 0.9663926, -0.220117 , -0.1327925], dtype=float32),\n",
-       " array([ 0.9663926, -0.220117 ,  0.1327925], dtype=float32),\n",
-       " array([ 0.9663926,  0.220117 , -0.1327925], dtype=float32),\n",
-       " array([0.9663926, 0.220117 , 0.1327925], dtype=float32),\n",
-       " array([ 0.9876884 , -0.08224247, -0.1330711 ], dtype=float32),\n",
-       " array([ 0.9876884 , -0.08224247,  0.1330711 ], dtype=float32),\n",
-       " array([ 0.9876884 ,  0.08224247, -0.1330711 ], dtype=float32),\n",
-       " array([0.9876884 , 0.08224247, 0.1330711 ], dtype=float32),\n",
-       " array([ 0.9904389, -0.1379523,  0.       ], dtype=float32),\n",
-       " array([0.9904389, 0.1379523, 0.       ], dtype=float32),\n",
-       " array([1., 0., 0.], dtype=float32)]"
-      ]
-     },
-     "execution_count": 13,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "vertices"
-   ]
-  },
   {
    "cell_type": "code",
    "execution_count": 14,
@@ -1529,2258 +316,6 @@
     "import numpy"
    ]
   },
-  {
-   "cell_type": "code",
-   "execution_count": 28,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Help on class ndarray in module numpy:\n",
-      "\n",
-      "class ndarray(builtins.object)\n",
-      " |  ndarray(shape, dtype=float, buffer=None, offset=0,\n",
-      " |          strides=None, order=None)\n",
-      " |  \n",
-      " |  An array object represents a multidimensional, homogeneous array\n",
-      " |  of fixed-size items.  An associated data-type object describes the\n",
-      " |  format of each element in the array (its byte-order, how many bytes it\n",
-      " |  occupies in memory, whether it is an integer, a floating point number,\n",
-      " |  or something else, etc.)\n",
-      " |  \n",
-      " |  Arrays should be constructed using `array`, `zeros` or `empty` (refer\n",
-      " |  to the See Also section below).  The parameters given here refer to\n",
-      " |  a low-level method (`ndarray(...)`) for instantiating an array.\n",
-      " |  \n",
-      " |  For more information, refer to the `numpy` module and examine the\n",
-      " |  methods and attributes of an array.\n",
-      " |  \n",
-      " |  Parameters\n",
-      " |  ----------\n",
-      " |  (for the __new__ method; see Notes below)\n",
-      " |  \n",
-      " |  shape : tuple of ints\n",
-      " |      Shape of created array.\n",
-      " |  dtype : data-type, optional\n",
-      " |      Any object that can be interpreted as a numpy data type.\n",
-      " |  buffer : object exposing buffer interface, optional\n",
-      " |      Used to fill the array with data.\n",
-      " |  offset : int, optional\n",
-      " |      Offset of array data in buffer.\n",
-      " |  strides : tuple of ints, optional\n",
-      " |      Strides of data in memory.\n",
-      " |  order : {'C', 'F'}, optional\n",
-      " |      Row-major (C-style) or column-major (Fortran-style) order.\n",
-      " |  \n",
-      " |  Attributes\n",
-      " |  ----------\n",
-      " |  T : ndarray\n",
-      " |      Transpose of the array.\n",
-      " |  data : buffer\n",
-      " |      The array's elements, in memory.\n",
-      " |  dtype : dtype object\n",
-      " |      Describes the format of the elements in the array.\n",
-      " |  flags : dict\n",
-      " |      Dictionary containing information related to memory use, e.g.,\n",
-      " |      'C_CONTIGUOUS', 'OWNDATA', 'WRITEABLE', etc.\n",
-      " |  flat : numpy.flatiter object\n",
-      " |      Flattened version of the array as an iterator.  The iterator\n",
-      " |      allows assignments, e.g., ``x.flat = 3`` (See `ndarray.flat` for\n",
-      " |      assignment examples; TODO).\n",
-      " |  imag : ndarray\n",
-      " |      Imaginary part of the array.\n",
-      " |  real : ndarray\n",
-      " |      Real part of the array.\n",
-      " |  size : int\n",
-      " |      Number of elements in the array.\n",
-      " |  itemsize : int\n",
-      " |      The memory use of each array element in bytes.\n",
-      " |  nbytes : int\n",
-      " |      The total number of bytes required to store the array data,\n",
-      " |      i.e., ``itemsize * size``.\n",
-      " |  ndim : int\n",
-      " |      The array's number of dimensions.\n",
-      " |  shape : tuple of ints\n",
-      " |      Shape of the array.\n",
-      " |  strides : tuple of ints\n",
-      " |      The step-size required to move from one element to the next in\n",
-      " |      memory. For example, a contiguous ``(3, 4)`` array of type\n",
-      " |      ``int16`` in C-order has strides ``(8, 2)``.  This implies that\n",
-      " |      to move from element to element in memory requires jumps of 2 bytes.\n",
-      " |      To move from row-to-row, one needs to jump 8 bytes at a time\n",
-      " |      (``2 * 4``).\n",
-      " |  ctypes : ctypes object\n",
-      " |      Class containing properties of the array needed for interaction\n",
-      " |      with ctypes.\n",
-      " |  base : ndarray\n",
-      " |      If the array is a view into another array, that array is its `base`\n",
-      " |      (unless that array is also a view).  The `base` array is where the\n",
-      " |      array data is actually stored.\n",
-      " |  \n",
-      " |  See Also\n",
-      " |  --------\n",
-      " |  array : Construct an array.\n",
-      " |  zeros : Create an array, each element of which is zero.\n",
-      " |  empty : Create an array, but leave its allocated memory unchanged (i.e.,\n",
-      " |          it contains \"garbage\").\n",
-      " |  dtype : Create a data-type.\n",
-      " |  \n",
-      " |  Notes\n",
-      " |  -----\n",
-      " |  There are two modes of creating an array using ``__new__``:\n",
-      " |  \n",
-      " |  1. If `buffer` is None, then only `shape`, `dtype`, and `order`\n",
-      " |     are used.\n",
-      " |  2. If `buffer` is an object exposing the buffer interface, then\n",
-      " |     all keywords are interpreted.\n",
-      " |  \n",
-      " |  No ``__init__`` method is needed because the array is fully initialized\n",
-      " |  after the ``__new__`` method.\n",
-      " |  \n",
-      " |  Examples\n",
-      " |  --------\n",
-      " |  These examples illustrate the low-level `ndarray` constructor.  Refer\n",
-      " |  to the `See Also` section above for easier ways of constructing an\n",
-      " |  ndarray.\n",
-      " |  \n",
-      " |  First mode, `buffer` is None:\n",
-      " |  \n",
-      " |  >>> np.ndarray(shape=(2,2), dtype=float, order='F')\n",
-      " |  array([[ -1.13698227e+002,   4.25087011e-303],\n",
-      " |         [  2.88528414e-306,   3.27025015e-309]])         #random\n",
-      " |  \n",
-      " |  Second mode:\n",
-      " |  \n",
-      " |  >>> np.ndarray((2,), buffer=np.array([1,2,3]),\n",
-      " |  ...            offset=np.int_().itemsize,\n",
-      " |  ...            dtype=int) # offset = 1*itemsize, i.e. skip first element\n",
-      " |  array([2, 3])\n",
-      " |  \n",
-      " |  Methods defined here:\n",
-      " |  \n",
-      " |  __abs__(self, /)\n",
-      " |      abs(self)\n",
-      " |  \n",
-      " |  __add__(self, value, /)\n",
-      " |      Return self+value.\n",
-      " |  \n",
-      " |  __and__(self, value, /)\n",
-      " |      Return self&value.\n",
-      " |  \n",
-      " |  __array__(...)\n",
-      " |      a.__array__(|dtype) -> reference if type unchanged, copy otherwise.\n",
-      " |      \n",
-      " |      Returns either a new reference to self if dtype is not given or a new array\n",
-      " |      of provided data type if dtype is different from the current dtype of the\n",
-      " |      array.\n",
-      " |  \n",
-      " |  __array_prepare__(...)\n",
-      " |      a.__array_prepare__(obj) -> Object of same type as ndarray object obj.\n",
-      " |  \n",
-      " |  __array_ufunc__(...)\n",
-      " |  \n",
-      " |  __array_wrap__(...)\n",
-      " |      a.__array_wrap__(obj) -> Object of same type as ndarray object a.\n",
-      " |  \n",
-      " |  __bool__(self, /)\n",
-      " |      self != 0\n",
-      " |  \n",
-      " |  __complex__(...)\n",
-      " |  \n",
-      " |  __contains__(self, key, /)\n",
-      " |      Return key in self.\n",
-      " |  \n",
-      " |  __copy__(...)\n",
-      " |      a.__copy__()\n",
-      " |      \n",
-      " |      Used if :func:`copy.copy` is called on an array. Returns a copy of the array.\n",
-      " |      \n",
-      " |      Equivalent to ``a.copy(order='K')``.\n",
-      " |  \n",
-      " |  __deepcopy__(...)\n",
-      " |      a.__deepcopy__(memo, /) -> Deep copy of array.\n",
-      " |      \n",
-      " |      Used if :func:`copy.deepcopy` is called on an array.\n",
-      " |  \n",
-      " |  __delitem__(self, key, /)\n",
-      " |      Delete self[key].\n",
-      " |  \n",
-      " |  __divmod__(self, value, /)\n",
-      " |      Return divmod(self, value).\n",
-      " |  \n",
-      " |  __eq__(self, value, /)\n",
-      " |      Return self==value.\n",
-      " |  \n",
-      " |  __float__(self, /)\n",
-      " |      float(self)\n",
-      " |  \n",
-      " |  __floordiv__(self, value, /)\n",
-      " |      Return self//value.\n",
-      " |  \n",
-      " |  __format__(...)\n",
-      " |      default object formatter\n",
-      " |  \n",
-      " |  __ge__(self, value, /)\n",
-      " |      Return self>=value.\n",
-      " |  \n",
-      " |  __getitem__(self, key, /)\n",
-      " |      Return self[key].\n",
-      " |  \n",
-      " |  __gt__(self, value, /)\n",
-      " |      Return self>value.\n",
-      " |  \n",
-      " |  __iadd__(self, value, /)\n",
-      " |      Return self+=value.\n",
-      " |  \n",
-      " |  __iand__(self, value, /)\n",
-      " |      Return self&=value.\n",
-      " |  \n",
-      " |  __ifloordiv__(self, value, /)\n",
-      " |      Return self//=value.\n",
-      " |  \n",
-      " |  __ilshift__(self, value, /)\n",
-      " |      Return self<<=value.\n",
-      " |  \n",
-      " |  __imatmul__(self, value, /)\n",
-      " |      Return self@=value.\n",
-      " |  \n",
-      " |  __imod__(self, value, /)\n",
-      " |      Return self%=value.\n",
-      " |  \n",
-      " |  __imul__(self, value, /)\n",
-      " |      Return self*=value.\n",
-      " |  \n",
-      " |  __index__(self, /)\n",
-      " |      Return self converted to an integer, if self is suitable for use as an index into a list.\n",
-      " |  \n",
-      " |  __int__(self, /)\n",
-      " |      int(self)\n",
-      " |  \n",
-      " |  __invert__(self, /)\n",
-      " |      ~self\n",
-      " |  \n",
-      " |  __ior__(self, value, /)\n",
-      " |      Return self|=value.\n",
-      " |  \n",
-      " |  __ipow__(self, value, /)\n",
-      " |      Return self**=value.\n",
-      " |  \n",
-      " |  __irshift__(self, value, /)\n",
-      " |      Return self>>=value.\n",
-      " |  \n",
-      " |  __isub__(self, value, /)\n",
-      " |      Return self-=value.\n",
-      " |  \n",
-      " |  __iter__(self, /)\n",
-      " |      Implement iter(self).\n",
-      " |  \n",
-      " |  __itruediv__(self, value, /)\n",
-      " |      Return self/=value.\n",
-      " |  \n",
-      " |  __ixor__(self, value, /)\n",
-      " |      Return self^=value.\n",
-      " |  \n",
-      " |  __le__(self, value, /)\n",
-      " |      Return self<=value.\n",
-      " |  \n",
-      " |  __len__(self, /)\n",
-      " |      Return len(self).\n",
-      " |  \n",
-      " |  __lshift__(self, value, /)\n",
-      " |      Return self<<value.\n",
-      " |  \n",
-      " |  __lt__(self, value, /)\n",
-      " |      Return self<value.\n",
-      " |  \n",
-      " |  __matmul__(self, value, /)\n",
-      " |      Return self@value.\n",
-      " |  \n",
-      " |  __mod__(self, value, /)\n",
-      " |      Return self%value.\n",
-      " |  \n",
-      " |  __mul__(self, value, /)\n",
-      " |      Return self*value.\n",
-      " |  \n",
-      " |  __ne__(self, value, /)\n",
-      " |      Return self!=value.\n",
-      " |  \n",
-      " |  __neg__(self, /)\n",
-      " |      -self\n",
-      " |  \n",
-      " |  __new__(*args, **kwargs) from builtins.type\n",
-      " |      Create and return a new object.  See help(type) for accurate signature.\n",
-      " |  \n",
-      " |  __or__(self, value, /)\n",
-      " |      Return self|value.\n",
-      " |  \n",
-      " |  __pos__(self, /)\n",
-      " |      +self\n",
-      " |  \n",
-      " |  __pow__(self, value, mod=None, /)\n",
-      " |      Return pow(self, value, mod).\n",
-      " |  \n",
-      " |  __radd__(self, value, /)\n",
-      " |      Return value+self.\n",
-      " |  \n",
-      " |  __rand__(self, value, /)\n",
-      " |      Return value&self.\n",
-      " |  \n",
-      " |  __rdivmod__(self, value, /)\n",
-      " |      Return divmod(value, self).\n",
-      " |  \n",
-      " |  __reduce__(...)\n",
-      " |      a.__reduce__()\n",
-      " |      \n",
-      " |      For pickling.\n",
-      " |  \n",
-      " |  __repr__(self, /)\n",
-      " |      Return repr(self).\n",
-      " |  \n",
-      " |  __rfloordiv__(self, value, /)\n",
-      " |      Return value//self.\n",
-      " |  \n",
-      " |  __rlshift__(self, value, /)\n",
-      " |      Return value<<self.\n",
-      " |  \n",
-      " |  __rmatmul__(self, value, /)\n",
-      " |      Return value@self.\n",
-      " |  \n",
-      " |  __rmod__(self, value, /)\n",
-      " |      Return value%self.\n",
-      " |  \n",
-      " |  __rmul__(self, value, /)\n",
-      " |      Return value*self.\n",
-      " |  \n",
-      " |  __ror__(self, value, /)\n",
-      " |      Return value|self.\n",
-      " |  \n",
-      " |  __rpow__(self, value, mod=None, /)\n",
-      " |      Return pow(value, self, mod).\n",
-      " |  \n",
-      " |  __rrshift__(self, value, /)\n",
-      " |      Return value>>self.\n",
-      " |  \n",
-      " |  __rshift__(self, value, /)\n",
-      " |      Return self>>value.\n",
-      " |  \n",
-      " |  __rsub__(self, value, /)\n",
-      " |      Return value-self.\n",
-      " |  \n",
-      " |  __rtruediv__(self, value, /)\n",
-      " |      Return value/self.\n",
-      " |  \n",
-      " |  __rxor__(self, value, /)\n",
-      " |      Return value^self.\n",
-      " |  \n",
-      " |  __setitem__(self, key, value, /)\n",
-      " |      Set self[key] to value.\n",
-      " |  \n",
-      " |  __setstate__(...)\n",
-      " |      a.__setstate__(state, /)\n",
-      " |      \n",
-      " |      For unpickling.\n",
-      " |      \n",
-      " |      The `state` argument must be a sequence that contains the following\n",
-      " |      elements:\n",
-      " |      \n",
-      " |      Parameters\n",
-      " |      ----------\n",
-      " |      version : int\n",
-      " |          optional pickle version. If omitted defaults to 0.\n",
-      " |      shape : tuple\n",
-      " |      dtype : data-type\n",
-      " |      isFortran : bool\n",
-      " |      rawdata : string or list\n",
-      " |          a binary string with the data (or a list if 'a' is an object array)\n",
-      " |  \n",
-      " |  __sizeof__(...)\n",
-      " |      __sizeof__() -> int\n",
-      " |      size of object in memory, in bytes\n",
-      " |  \n",
-      " |  __str__(self, /)\n",
-      " |      Return str(self).\n",
-      " |  \n",
-      " |  __sub__(self, value, /)\n",
-      " |      Return self-value.\n",
-      " |  \n",
-      " |  __truediv__(self, value, /)\n",
-      " |      Return self/value.\n",
-      " |  \n",
-      " |  __xor__(self, value, /)\n",
-      " |      Return self^value.\n",
-      " |  \n",
-      " |  all(...)\n",
-      " |      a.all(axis=None, out=None, keepdims=False)\n",
-      " |      \n",
-      " |      Returns True if all elements evaluate to True.\n",
-      " |      \n",
-      " |      Refer to `numpy.all` for full documentation.\n",
-      " |      \n",
-      " |      See Also\n",
-      " |      --------\n",
-      " |      numpy.all : equivalent function\n",
-      " |  \n",
-      " |  any(...)\n",
-      " |      a.any(axis=None, out=None, keepdims=False)\n",
-      " |      \n",
-      " |      Returns True if any of the elements of `a` evaluate to True.\n",
-      " |      \n",
-      " |      Refer to `numpy.any` for full documentation.\n",
-      " |      \n",
-      " |      See Also\n",
-      " |      --------\n",
-      " |      numpy.any : equivalent function\n",
-      " |  \n",
-      " |  argmax(...)\n",
-      " |      a.argmax(axis=None, out=None)\n",
-      " |      \n",
-      " |      Return indices of the maximum values along the given axis.\n",
-      " |      \n",
-      " |      Refer to `numpy.argmax` for full documentation.\n",
-      " |      \n",
-      " |      See Also\n",
-      " |      --------\n",
-      " |      numpy.argmax : equivalent function\n",
-      " |  \n",
-      " |  argmin(...)\n",
-      " |      a.argmin(axis=None, out=None)\n",
-      " |      \n",
-      " |      Return indices of the minimum values along the given axis of `a`.\n",
-      " |      \n",
-      " |      Refer to `numpy.argmin` for detailed documentation.\n",
-      " |      \n",
-      " |      See Also\n",
-      " |      --------\n",
-      " |      numpy.argmin : equivalent function\n",
-      " |  \n",
-      " |  argpartition(...)\n",
-      " |      a.argpartition(kth, axis=-1, kind='introselect', order=None)\n",
-      " |      \n",
-      " |      Returns the indices that would partition this array.\n",
-      " |      \n",
-      " |      Refer to `numpy.argpartition` for full documentation.\n",
-      " |      \n",
-      " |      .. versionadded:: 1.8.0\n",
-      " |      \n",
-      " |      See Also\n",
-      " |      --------\n",
-      " |      numpy.argpartition : equivalent function\n",
-      " |  \n",
-      " |  argsort(...)\n",
-      " |      a.argsort(axis=-1, kind='quicksort', order=None)\n",
-      " |      \n",
-      " |      Returns the indices that would sort this array.\n",
-      " |      \n",
-      " |      Refer to `numpy.argsort` for full documentation.\n",
-      " |      \n",
-      " |      See Also\n",
-      " |      --------\n",
-      " |      numpy.argsort : equivalent function\n",
-      " |  \n",
-      " |  astype(...)\n",
-      " |      a.astype(dtype, order='K', casting='unsafe', subok=True, copy=True)\n",
-      " |      \n",
-      " |      Copy of the array, cast to a specified type.\n",
-      " |      \n",
-      " |      Parameters\n",
-      " |      ----------\n",
-      " |      dtype : str or dtype\n",
-      " |          Typecode or data-type to which the array is cast.\n",
-      " |      order : {'C', 'F', 'A', 'K'}, optional\n",
-      " |          Controls the memory layout order of the result.\n",
-      " |          'C' means C order, 'F' means Fortran order, 'A'\n",
-      " |          means 'F' order if all the arrays are Fortran contiguous,\n",
-      " |          'C' order otherwise, and 'K' means as close to the\n",
-      " |          order the array elements appear in memory as possible.\n",
-      " |          Default is 'K'.\n",
-      " |      casting : {'no', 'equiv', 'safe', 'same_kind', 'unsafe'}, optional\n",
-      " |          Controls what kind of data casting may occur. Defaults to 'unsafe'\n",
-      " |          for backwards compatibility.\n",
-      " |      \n",
-      " |            * 'no' means the data types should not be cast at all.\n",
-      " |            * 'equiv' means only byte-order changes are allowed.\n",
-      " |            * 'safe' means only casts which can preserve values are allowed.\n",
-      " |            * 'same_kind' means only safe casts or casts within a kind,\n",
-      " |              like float64 to float32, are allowed.\n",
-      " |            * 'unsafe' means any data conversions may be done.\n",
-      " |      subok : bool, optional\n",
-      " |          If True, then sub-classes will be passed-through (default), otherwise\n",
-      " |          the returned array will be forced to be a base-class array.\n",
-      " |      copy : bool, optional\n",
-      " |          By default, astype always returns a newly allocated array. If this\n",
-      " |          is set to false, and the `dtype`, `order`, and `subok`\n",
-      " |          requirements are satisfied, the input array is returned instead\n",
-      " |          of a copy.\n",
-      " |      \n",
-      " |      Returns\n",
-      " |      -------\n",
-      " |      arr_t : ndarray\n",
-      " |          Unless `copy` is False and the other conditions for returning the input\n",
-      " |          array are satisfied (see description for `copy` input parameter), `arr_t`\n",
-      " |          is a new array of the same shape as the input array, with dtype, order\n",
-      " |          given by `dtype`, `order`.\n",
-      " |      \n",
-      " |      Notes\n",
-      " |      -----\n",
-      " |      Starting in NumPy 1.9, astype method now returns an error if the string\n",
-      " |      dtype to cast to is not long enough in 'safe' casting mode to hold the max\n",
-      " |      value of integer/float array that is being casted. Previously the casting\n",
-      " |      was allowed even if the result was truncated.\n",
-      " |      \n",
-      " |      Raises\n",
-      " |      ------\n",
-      " |      ComplexWarning\n",
-      " |          When casting from complex to float or int. To avoid this,\n",
-      " |          one should use ``a.real.astype(t)``.\n",
-      " |      \n",
-      " |      Examples\n",
-      " |      --------\n",
-      " |      >>> x = np.array([1, 2, 2.5])\n",
-      " |      >>> x\n",
-      " |      array([ 1. ,  2. ,  2.5])\n",
-      " |      \n",
-      " |      >>> x.astype(int)\n",
-      " |      array([1, 2, 2])\n",
-      " |  \n",
-      " |  byteswap(...)\n",
-      " |      a.byteswap(inplace=False)\n",
-      " |      \n",
-      " |      Swap the bytes of the array elements\n",
-      " |      \n",
-      " |      Toggle between low-endian and big-endian data representation by\n",
-      " |      returning a byteswapped array, optionally swapped in-place.\n",
-      " |      \n",
-      " |      Parameters\n",
-      " |      ----------\n",
-      " |      inplace : bool, optional\n",
-      " |          If ``True``, swap bytes in-place, default is ``False``.\n",
-      " |      \n",
-      " |      Returns\n",
-      " |      -------\n",
-      " |      out : ndarray\n",
-      " |          The byteswapped array. If `inplace` is ``True``, this is\n",
-      " |          a view to self.\n",
-      " |      \n",
-      " |      Examples\n",
-      " |      --------\n",
-      " |      >>> A = np.array([1, 256, 8755], dtype=np.int16)\n",
-      " |      >>> map(hex, A)\n",
-      " |      ['0x1', '0x100', '0x2233']\n",
-      " |      >>> A.byteswap(inplace=True)\n",
-      " |      array([  256,     1, 13090], dtype=int16)\n",
-      " |      >>> map(hex, A)\n",
-      " |      ['0x100', '0x1', '0x3322']\n",
-      " |      \n",
-      " |      Arrays of strings are not swapped\n",
-      " |      \n",
-      " |      >>> A = np.array(['ceg', 'fac'])\n",
-      " |      >>> A.byteswap()\n",
-      " |      array(['ceg', 'fac'],\n",
-      " |            dtype='|S3')\n",
-      " |  \n",
-      " |  choose(...)\n",
-      " |      a.choose(choices, out=None, mode='raise')\n",
-      " |      \n",
-      " |      Use an index array to construct a new array from a set of choices.\n",
-      " |      \n",
-      " |      Refer to `numpy.choose` for full documentation.\n",
-      " |      \n",
-      " |      See Also\n",
-      " |      --------\n",
-      " |      numpy.choose : equivalent function\n",
-      " |  \n",
-      " |  clip(...)\n",
-      " |      a.clip(min=None, max=None, out=None)\n",
-      " |      \n",
-      " |      Return an array whose values are limited to ``[min, max]``.\n",
-      " |      One of max or min must be given.\n",
-      " |      \n",
-      " |      Refer to `numpy.clip` for full documentation.\n",
-      " |      \n",
-      " |      See Also\n",
-      " |      --------\n",
-      " |      numpy.clip : equivalent function\n",
-      " |  \n",
-      " |  compress(...)\n",
-      " |      a.compress(condition, axis=None, out=None)\n",
-      " |      \n",
-      " |      Return selected slices of this array along given axis.\n",
-      " |      \n",
-      " |      Refer to `numpy.compress` for full documentation.\n",
-      " |      \n",
-      " |      See Also\n",
-      " |      --------\n",
-      " |      numpy.compress : equivalent function\n",
-      " |  \n",
-      " |  conj(...)\n",
-      " |      a.conj()\n",
-      " |      \n",
-      " |      Complex-conjugate all elements.\n",
-      " |      \n",
-      " |      Refer to `numpy.conjugate` for full documentation.\n",
-      " |      \n",
-      " |      See Also\n",
-      " |      --------\n",
-      " |      numpy.conjugate : equivalent function\n",
-      " |  \n",
-      " |  conjugate(...)\n",
-      " |      a.conjugate()\n",
-      " |      \n",
-      " |      Return the complex conjugate, element-wise.\n",
-      " |      \n",
-      " |      Refer to `numpy.conjugate` for full documentation.\n",
-      " |      \n",
-      " |      See Also\n",
-      " |      --------\n",
-      " |      numpy.conjugate : equivalent function\n",
-      " |  \n",
-      " |  copy(...)\n",
-      " |      a.copy(order='C')\n",
-      " |      \n",
-      " |      Return a copy of the array.\n",
-      " |      \n",
-      " |      Parameters\n",
-      " |      ----------\n",
-      " |      order : {'C', 'F', 'A', 'K'}, optional\n",
-      " |          Controls the memory layout of the copy. 'C' means C-order,\n",
-      " |          'F' means F-order, 'A' means 'F' if `a` is Fortran contiguous,\n",
-      " |          'C' otherwise. 'K' means match the layout of `a` as closely\n",
-      " |          as possible. (Note that this function and :func:`numpy.copy` are very\n",
-      " |          similar, but have different default values for their order=\n",
-      " |          arguments.)\n",
-      " |      \n",
-      " |      See also\n",
-      " |      --------\n",
-      " |      numpy.copy\n",
-      " |      numpy.copyto\n",
-      " |      \n",
-      " |      Examples\n",
-      " |      --------\n",
-      " |      >>> x = np.array([[1,2,3],[4,5,6]], order='F')\n",
-      " |      \n",
-      " |      >>> y = x.copy()\n",
-      " |      \n",
-      " |      >>> x.fill(0)\n",
-      " |      \n",
-      " |      >>> x\n",
-      " |      array([[0, 0, 0],\n",
-      " |             [0, 0, 0]])\n",
-      " |      \n",
-      " |      >>> y\n",
-      " |      array([[1, 2, 3],\n",
-      " |             [4, 5, 6]])\n",
-      " |      \n",
-      " |      >>> y.flags['C_CONTIGUOUS']\n",
-      " |      True\n",
-      " |  \n",
-      " |  cumprod(...)\n",
-      " |      a.cumprod(axis=None, dtype=None, out=None)\n",
-      " |      \n",
-      " |      Return the cumulative product of the elements along the given axis.\n",
-      " |      \n",
-      " |      Refer to `numpy.cumprod` for full documentation.\n",
-      " |      \n",
-      " |      See Also\n",
-      " |      --------\n",
-      " |      numpy.cumprod : equivalent function\n",
-      " |  \n",
-      " |  cumsum(...)\n",
-      " |      a.cumsum(axis=None, dtype=None, out=None)\n",
-      " |      \n",
-      " |      Return the cumulative sum of the elements along the given axis.\n",
-      " |      \n",
-      " |      Refer to `numpy.cumsum` for full documentation.\n",
-      " |      \n",
-      " |      See Also\n",
-      " |      --------\n",
-      " |      numpy.cumsum : equivalent function\n",
-      " |  \n",
-      " |  diagonal(...)\n",
-      " |      a.diagonal(offset=0, axis1=0, axis2=1)\n",
-      " |      \n",
-      " |      Return specified diagonals. In NumPy 1.9 the returned array is a\n",
-      " |      read-only view instead of a copy as in previous NumPy versions.  In\n",
-      " |      a future version the read-only restriction will be removed.\n",
-      " |      \n",
-      " |      Refer to :func:`numpy.diagonal` for full documentation.\n",
-      " |      \n",
-      " |      See Also\n",
-      " |      --------\n",
-      " |      numpy.diagonal : equivalent function\n",
-      " |  \n",
-      " |  dot(...)\n",
-      " |      a.dot(b, out=None)\n",
-      " |      \n",
-      " |      Dot product of two arrays.\n",
-      " |      \n",
-      " |      Refer to `numpy.dot` for full documentation.\n",
-      " |      \n",
-      " |      See Also\n",
-      " |      --------\n",
-      " |      numpy.dot : equivalent function\n",
-      " |      \n",
-      " |      Examples\n",
-      " |      --------\n",
-      " |      >>> a = np.eye(2)\n",
-      " |      >>> b = np.ones((2, 2)) * 2\n",
-      " |      >>> a.dot(b)\n",
-      " |      array([[ 2.,  2.],\n",
-      " |             [ 2.,  2.]])\n",
-      " |      \n",
-      " |      This array method can be conveniently chained:\n",
-      " |      \n",
-      " |      >>> a.dot(b).dot(b)\n",
-      " |      array([[ 8.,  8.],\n",
-      " |             [ 8.,  8.]])\n",
-      " |  \n",
-      " |  dump(...)\n",
-      " |      a.dump(file)\n",
-      " |      \n",
-      " |      Dump a pickle of the array to the specified file.\n",
-      " |      The array can be read back with pickle.load or numpy.load.\n",
-      " |      \n",
-      " |      Parameters\n",
-      " |      ----------\n",
-      " |      file : str\n",
-      " |          A string naming the dump file.\n",
-      " |  \n",
-      " |  dumps(...)\n",
-      " |      a.dumps()\n",
-      " |      \n",
-      " |      Returns the pickle of the array as a string.\n",
-      " |      pickle.loads or numpy.loads will convert the string back to an array.\n",
-      " |      \n",
-      " |      Parameters\n",
-      " |      ----------\n",
-      " |      None\n",
-      " |  \n",
-      " |  fill(...)\n",
-      " |      a.fill(value)\n",
-      " |      \n",
-      " |      Fill the array with a scalar value.\n",
-      " |      \n",
-      " |      Parameters\n",
-      " |      ----------\n",
-      " |      value : scalar\n",
-      " |          All elements of `a` will be assigned this value.\n",
-      " |      \n",
-      " |      Examples\n",
-      " |      --------\n",
-      " |      >>> a = np.array([1, 2])\n",
-      " |      >>> a.fill(0)\n",
-      " |      >>> a\n",
-      " |      array([0, 0])\n",
-      " |      >>> a = np.empty(2)\n",
-      " |      >>> a.fill(1)\n",
-      " |      >>> a\n",
-      " |      array([ 1.,  1.])\n",
-      " |  \n",
-      " |  flatten(...)\n",
-      " |      a.flatten(order='C')\n",
-      " |      \n",
-      " |      Return a copy of the array collapsed into one dimension.\n",
-      " |      \n",
-      " |      Parameters\n",
-      " |      ----------\n",
-      " |      order : {'C', 'F', 'A', 'K'}, optional\n",
-      " |          'C' means to flatten in row-major (C-style) order.\n",
-      " |          'F' means to flatten in column-major (Fortran-\n",
-      " |          style) order. 'A' means to flatten in column-major\n",
-      " |          order if `a` is Fortran *contiguous* in memory,\n",
-      " |          row-major order otherwise. 'K' means to flatten\n",
-      " |          `a` in the order the elements occur in memory.\n",
-      " |          The default is 'C'.\n",
-      " |      \n",
-      " |      Returns\n",
-      " |      -------\n",
-      " |      y : ndarray\n",
-      " |          A copy of the input array, flattened to one dimension.\n",
-      " |      \n",
-      " |      See Also\n",
-      " |      --------\n",
-      " |      ravel : Return a flattened array.\n",
-      " |      flat : A 1-D flat iterator over the array.\n",
-      " |      \n",
-      " |      Examples\n",
-      " |      --------\n",
-      " |      >>> a = np.array([[1,2], [3,4]])\n",
-      " |      >>> a.flatten()\n",
-      " |      array([1, 2, 3, 4])\n",
-      " |      >>> a.flatten('F')\n",
-      " |      array([1, 3, 2, 4])\n",
-      " |  \n",
-      " |  getfield(...)\n",
-      " |      a.getfield(dtype, offset=0)\n",
-      " |      \n",
-      " |      Returns a field of the given array as a certain type.\n",
-      " |      \n",
-      " |      A field is a view of the array data with a given data-type. The values in\n",
-      " |      the view are determined by the given type and the offset into the current\n",
-      " |      array in bytes. The offset needs to be such that the view dtype fits in the\n",
-      " |      array dtype; for example an array of dtype complex128 has 16-byte elements.\n",
-      " |      If taking a view with a 32-bit integer (4 bytes), the offset needs to be\n",
-      " |      between 0 and 12 bytes.\n",
-      " |      \n",
-      " |      Parameters\n",
-      " |      ----------\n",
-      " |      dtype : str or dtype\n",
-      " |          The data type of the view. The dtype size of the view can not be larger\n",
-      " |          than that of the array itself.\n",
-      " |      offset : int\n",
-      " |          Number of bytes to skip before beginning the element view.\n",
-      " |      \n",
-      " |      Examples\n",
-      " |      --------\n",
-      " |      >>> x = np.diag([1.+1.j]*2)\n",
-      " |      >>> x[1, 1] = 2 + 4.j\n",
-      " |      >>> x\n",
-      " |      array([[ 1.+1.j,  0.+0.j],\n",
-      " |             [ 0.+0.j,  2.+4.j]])\n",
-      " |      >>> x.getfield(np.float64)\n",
-      " |      array([[ 1.,  0.],\n",
-      " |             [ 0.,  2.]])\n",
-      " |      \n",
-      " |      By choosing an offset of 8 bytes we can select the complex part of the\n",
-      " |      array for our view:\n",
-      " |      \n",
-      " |      >>> x.getfield(np.float64, offset=8)\n",
-      " |      array([[ 1.,  0.],\n",
-      " |         [ 0.,  4.]])\n",
-      " |  \n",
-      " |  item(...)\n",
-      " |      a.item(*args)\n",
-      " |      \n",
-      " |      Copy an element of an array to a standard Python scalar and return it.\n",
-      " |      \n",
-      " |      Parameters\n",
-      " |      ----------\n",
-      " |      \\*args : Arguments (variable number and type)\n",
-      " |      \n",
-      " |          * none: in this case, the method only works for arrays\n",
-      " |            with one element (`a.size == 1`), which element is\n",
-      " |            copied into a standard Python scalar object and returned.\n",
-      " |      \n",
-      " |          * int_type: this argument is interpreted as a flat index into\n",
-      " |            the array, specifying which element to copy and return.\n",
-      " |      \n",
-      " |          * tuple of int_types: functions as does a single int_type argument,\n",
-      " |            except that the argument is interpreted as an nd-index into the\n",
-      " |            array.\n",
-      " |      \n",
-      " |      Returns\n",
-      " |      -------\n",
-      " |      z : Standard Python scalar object\n",
-      " |          A copy of the specified element of the array as a suitable\n",
-      " |          Python scalar\n",
-      " |      \n",
-      " |      Notes\n",
-      " |      -----\n",
-      " |      When the data type of `a` is longdouble or clongdouble, item() returns\n",
-      " |      a scalar array object because there is no available Python scalar that\n",
-      " |      would not lose information. Void arrays return a buffer object for item(),\n",
-      " |      unless fields are defined, in which case a tuple is returned.\n",
-      " |      \n",
-      " |      `item` is very similar to a[args], except, instead of an array scalar,\n",
-      " |      a standard Python scalar is returned. This can be useful for speeding up\n",
-      " |      access to elements of the array and doing arithmetic on elements of the\n",
-      " |      array using Python's optimized math.\n",
-      " |      \n",
-      " |      Examples\n",
-      " |      --------\n",
-      " |      >>> x = np.random.randint(9, size=(3, 3))\n",
-      " |      >>> x\n",
-      " |      array([[3, 1, 7],\n",
-      " |             [2, 8, 3],\n",
-      " |             [8, 5, 3]])\n",
-      " |      >>> x.item(3)\n",
-      " |      2\n",
-      " |      >>> x.item(7)\n",
-      " |      5\n",
-      " |      >>> x.item((0, 1))\n",
-      " |      1\n",
-      " |      >>> x.item((2, 2))\n",
-      " |      3\n",
-      " |  \n",
-      " |  itemset(...)\n",
-      " |      a.itemset(*args)\n",
-      " |      \n",
-      " |      Insert scalar into an array (scalar is cast to array's dtype, if possible)\n",
-      " |      \n",
-      " |      There must be at least 1 argument, and define the last argument\n",
-      " |      as *item*.  Then, ``a.itemset(*args)`` is equivalent to but faster\n",
-      " |      than ``a[args] = item``.  The item should be a scalar value and `args`\n",
-      " |      must select a single item in the array `a`.\n",
-      " |      \n",
-      " |      Parameters\n",
-      " |      ----------\n",
-      " |      \\*args : Arguments\n",
-      " |          If one argument: a scalar, only used in case `a` is of size 1.\n",
-      " |          If two arguments: the last argument is the value to be set\n",
-      " |          and must be a scalar, the first argument specifies a single array\n",
-      " |          element location. It is either an int or a tuple.\n",
-      " |      \n",
-      " |      Notes\n",
-      " |      -----\n",
-      " |      Compared to indexing syntax, `itemset` provides some speed increase\n",
-      " |      for placing a scalar into a particular location in an `ndarray`,\n",
-      " |      if you must do this.  However, generally this is discouraged:\n",
-      " |      among other problems, it complicates the appearance of the code.\n",
-      " |      Also, when using `itemset` (and `item`) inside a loop, be sure\n",
-      " |      to assign the methods to a local variable to avoid the attribute\n",
-      " |      look-up at each loop iteration.\n",
-      " |      \n",
-      " |      Examples\n",
-      " |      --------\n",
-      " |      >>> x = np.random.randint(9, size=(3, 3))\n",
-      " |      >>> x\n",
-      " |      array([[3, 1, 7],\n",
-      " |             [2, 8, 3],\n",
-      " |             [8, 5, 3]])\n",
-      " |      >>> x.itemset(4, 0)\n",
-      " |      >>> x.itemset((2, 2), 9)\n",
-      " |      >>> x\n",
-      " |      array([[3, 1, 7],\n",
-      " |             [2, 0, 3],\n",
-      " |             [8, 5, 9]])\n",
-      " |  \n",
-      " |  max(...)\n",
-      " |      a.max(axis=None, out=None, keepdims=False)\n",
-      " |      \n",
-      " |      Return the maximum along a given axis.\n",
-      " |      \n",
-      " |      Refer to `numpy.amax` for full documentation.\n",
-      " |      \n",
-      " |      See Also\n",
-      " |      --------\n",
-      " |      numpy.amax : equivalent function\n",
-      " |  \n",
-      " |  mean(...)\n",
-      " |      a.mean(axis=None, dtype=None, out=None, keepdims=False)\n",
-      " |      \n",
-      " |      Returns the average of the array elements along given axis.\n",
-      " |      \n",
-      " |      Refer to `numpy.mean` for full documentation.\n",
-      " |      \n",
-      " |      See Also\n",
-      " |      --------\n",
-      " |      numpy.mean : equivalent function\n",
-      " |  \n",
-      " |  min(...)\n",
-      " |      a.min(axis=None, out=None, keepdims=False)\n",
-      " |      \n",
-      " |      Return the minimum along a given axis.\n",
-      " |      \n",
-      " |      Refer to `numpy.amin` for full documentation.\n",
-      " |      \n",
-      " |      See Also\n",
-      " |      --------\n",
-      " |      numpy.amin : equivalent function\n",
-      " |  \n",
-      " |  newbyteorder(...)\n",
-      " |      arr.newbyteorder(new_order='S')\n",
-      " |      \n",
-      " |      Return the array with the same data viewed with a different byte order.\n",
-      " |      \n",
-      " |      Equivalent to::\n",
-      " |      \n",
-      " |          arr.view(arr.dtype.newbytorder(new_order))\n",
-      " |      \n",
-      " |      Changes are also made in all fields and sub-arrays of the array data\n",
-      " |      type.\n",
-      " |      \n",
-      " |      \n",
-      " |      \n",
-      " |      Parameters\n",
-      " |      ----------\n",
-      " |      new_order : string, optional\n",
-      " |          Byte order to force; a value from the byte order specifications\n",
-      " |          below. `new_order` codes can be any of:\n",
-      " |      \n",
-      " |          * 'S' - swap dtype from current to opposite endian\n",
-      " |          * {'<', 'L'} - little endian\n",
-      " |          * {'>', 'B'} - big endian\n",
-      " |          * {'=', 'N'} - native order\n",
-      " |          * {'|', 'I'} - ignore (no change to byte order)\n",
-      " |      \n",
-      " |          The default value ('S') results in swapping the current\n",
-      " |          byte order. The code does a case-insensitive check on the first\n",
-      " |          letter of `new_order` for the alternatives above.  For example,\n",
-      " |          any of 'B' or 'b' or 'biggish' are valid to specify big-endian.\n",
-      " |      \n",
-      " |      \n",
-      " |      Returns\n",
-      " |      -------\n",
-      " |      new_arr : array\n",
-      " |          New array object with the dtype reflecting given change to the\n",
-      " |          byte order.\n",
-      " |  \n",
-      " |  nonzero(...)\n",
-      " |      a.nonzero()\n",
-      " |      \n",
-      " |      Return the indices of the elements that are non-zero.\n",
-      " |      \n",
-      " |      Refer to `numpy.nonzero` for full documentation.\n",
-      " |      \n",
-      " |      See Also\n",
-      " |      --------\n",
-      " |      numpy.nonzero : equivalent function\n",
-      " |  \n",
-      " |  partition(...)\n",
-      " |      a.partition(kth, axis=-1, kind='introselect', order=None)\n",
-      " |      \n",
-      " |      Rearranges the elements in the array in such a way that the value of the\n",
-      " |      element in kth position is in the position it would be in a sorted array.\n",
-      " |      All elements smaller than the kth element are moved before this element and\n",
-      " |      all equal or greater are moved behind it. The ordering of the elements in\n",
-      " |      the two partitions is undefined.\n",
-      " |      \n",
-      " |      .. versionadded:: 1.8.0\n",
-      " |      \n",
-      " |      Parameters\n",
-      " |      ----------\n",
-      " |      kth : int or sequence of ints\n",
-      " |          Element index to partition by. The kth element value will be in its\n",
-      " |          final sorted position and all smaller elements will be moved before it\n",
-      " |          and all equal or greater elements behind it.\n",
-      " |          The order of all elements in the partitions is undefined.\n",
-      " |          If provided with a sequence of kth it will partition all elements\n",
-      " |          indexed by kth of them into their sorted position at once.\n",
-      " |      axis : int, optional\n",
-      " |          Axis along which to sort. Default is -1, which means sort along the\n",
-      " |          last axis.\n",
-      " |      kind : {'introselect'}, optional\n",
-      " |          Selection algorithm. Default is 'introselect'.\n",
-      " |      order : str or list of str, optional\n",
-      " |          When `a` is an array with fields defined, this argument specifies\n",
-      " |          which fields to compare first, second, etc. A single field can\n",
-      " |          be specified as a string, and not all fields need to be specified,\n",
-      " |          but unspecified fields will still be used, in the order in which\n",
-      " |          they come up in the dtype, to break ties.\n",
-      " |      \n",
-      " |      See Also\n",
-      " |      --------\n",
-      " |      numpy.partition : Return a parititioned copy of an array.\n",
-      " |      argpartition : Indirect partition.\n",
-      " |      sort : Full sort.\n",
-      " |      \n",
-      " |      Notes\n",
-      " |      -----\n",
-      " |      See ``np.partition`` for notes on the different algorithms.\n",
-      " |      \n",
-      " |      Examples\n",
-      " |      --------\n",
-      " |      >>> a = np.array([3, 4, 2, 1])\n",
-      " |      >>> a.partition(3)\n",
-      " |      >>> a\n",
-      " |      array([2, 1, 3, 4])\n",
-      " |      \n",
-      " |      >>> a.partition((1, 3))\n",
-      " |      array([1, 2, 3, 4])\n",
-      " |  \n",
-      " |  prod(...)\n",
-      " |      a.prod(axis=None, dtype=None, out=None, keepdims=False)\n",
-      " |      \n",
-      " |      Return the product of the array elements over the given axis\n",
-      " |      \n",
-      " |      Refer to `numpy.prod` for full documentation.\n",
-      " |      \n",
-      " |      See Also\n",
-      " |      --------\n",
-      " |      numpy.prod : equivalent function\n",
-      " |  \n",
-      " |  ptp(...)\n",
-      " |      a.ptp(axis=None, out=None, keepdims=False)\n",
-      " |      \n",
-      " |      Peak to peak (maximum - minimum) value along a given axis.\n",
-      " |      \n",
-      " |      Refer to `numpy.ptp` for full documentation.\n",
-      " |      \n",
-      " |      See Also\n",
-      " |      --------\n",
-      " |      numpy.ptp : equivalent function\n",
-      " |  \n",
-      " |  put(...)\n",
-      " |      a.put(indices, values, mode='raise')\n",
-      " |      \n",
-      " |      Set ``a.flat[n] = values[n]`` for all `n` in indices.\n",
-      " |      \n",
-      " |      Refer to `numpy.put` for full documentation.\n",
-      " |      \n",
-      " |      See Also\n",
-      " |      --------\n",
-      " |      numpy.put : equivalent function\n",
-      " |  \n",
-      " |  ravel(...)\n",
-      " |      a.ravel([order])\n",
-      " |      \n",
-      " |      Return a flattened array.\n",
-      " |      \n",
-      " |      Refer to `numpy.ravel` for full documentation.\n",
-      " |      \n",
-      " |      See Also\n",
-      " |      --------\n",
-      " |      numpy.ravel : equivalent function\n",
-      " |      \n",
-      " |      ndarray.flat : a flat iterator on the array.\n",
-      " |  \n",
-      " |  repeat(...)\n",
-      " |      a.repeat(repeats, axis=None)\n",
-      " |      \n",
-      " |      Repeat elements of an array.\n",
-      " |      \n",
-      " |      Refer to `numpy.repeat` for full documentation.\n",
-      " |      \n",
-      " |      See Also\n",
-      " |      --------\n",
-      " |      numpy.repeat : equivalent function\n",
-      " |  \n",
-      " |  reshape(...)\n",
-      " |      a.reshape(shape, order='C')\n",
-      " |      \n",
-      " |      Returns an array containing the same data with a new shape.\n",
-      " |      \n",
-      " |      Refer to `numpy.reshape` for full documentation.\n",
-      " |      \n",
-      " |      See Also\n",
-      " |      --------\n",
-      " |      numpy.reshape : equivalent function\n",
-      " |      \n",
-      " |      Notes\n",
-      " |      -----\n",
-      " |      Unlike the free function `numpy.reshape`, this method on `ndarray` allows\n",
-      " |      the elements of the shape parameter to be passed in as separate arguments.\n",
-      " |      For example, ``a.reshape(10, 11)`` is equivalent to\n",
-      " |      ``a.reshape((10, 11))``.\n",
-      " |  \n",
-      " |  resize(...)\n",
-      " |      a.resize(new_shape, refcheck=True)\n",
-      " |      \n",
-      " |      Change shape and size of array in-place.\n",
-      " |      \n",
-      " |      Parameters\n",
-      " |      ----------\n",
-      " |      new_shape : tuple of ints, or `n` ints\n",
-      " |          Shape of resized array.\n",
-      " |      refcheck : bool, optional\n",
-      " |          If False, reference count will not be checked. Default is True.\n",
-      " |      \n",
-      " |      Returns\n",
-      " |      -------\n",
-      " |      None\n",
-      " |      \n",
-      " |      Raises\n",
-      " |      ------\n",
-      " |      ValueError\n",
-      " |          If `a` does not own its own data or references or views to it exist,\n",
-      " |          and the data memory must be changed.\n",
-      " |          PyPy only: will always raise if the data memory must be changed, since\n",
-      " |          there is no reliable way to determine if references or views to it\n",
-      " |          exist.\n",
-      " |      \n",
-      " |      SystemError\n",
-      " |          If the `order` keyword argument is specified. This behaviour is a\n",
-      " |          bug in NumPy.\n",
-      " |      \n",
-      " |      See Also\n",
-      " |      --------\n",
-      " |      resize : Return a new array with the specified shape.\n",
-      " |      \n",
-      " |      Notes\n",
-      " |      -----\n",
-      " |      This reallocates space for the data area if necessary.\n",
-      " |      \n",
-      " |      Only contiguous arrays (data elements consecutive in memory) can be\n",
-      " |      resized.\n",
-      " |      \n",
-      " |      The purpose of the reference count check is to make sure you\n",
-      " |      do not use this array as a buffer for another Python object and then\n",
-      " |      reallocate the memory. However, reference counts can increase in\n",
-      " |      other ways so if you are sure that you have not shared the memory\n",
-      " |      for this array with another Python object, then you may safely set\n",
-      " |      `refcheck` to False.\n",
-      " |      \n",
-      " |      Examples\n",
-      " |      --------\n",
-      " |      Shrinking an array: array is flattened (in the order that the data are\n",
-      " |      stored in memory), resized, and reshaped:\n",
-      " |      \n",
-      " |      >>> a = np.array([[0, 1], [2, 3]], order='C')\n",
-      " |      >>> a.resize((2, 1))\n",
-      " |      >>> a\n",
-      " |      array([[0],\n",
-      " |             [1]])\n",
-      " |      \n",
-      " |      >>> a = np.array([[0, 1], [2, 3]], order='F')\n",
-      " |      >>> a.resize((2, 1))\n",
-      " |      >>> a\n",
-      " |      array([[0],\n",
-      " |             [2]])\n",
-      " |      \n",
-      " |      Enlarging an array: as above, but missing entries are filled with zeros:\n",
-      " |      \n",
-      " |      >>> b = np.array([[0, 1], [2, 3]])\n",
-      " |      >>> b.resize(2, 3) # new_shape parameter doesn't have to be a tuple\n",
-      " |      >>> b\n",
-      " |      array([[0, 1, 2],\n",
-      " |             [3, 0, 0]])\n",
-      " |      \n",
-      " |      Referencing an array prevents resizing...\n",
-      " |      \n",
-      " |      >>> c = a\n",
-      " |      >>> a.resize((1, 1))\n",
-      " |      Traceback (most recent call last):\n",
-      " |      ...\n",
-      " |      ValueError: cannot resize an array that has been referenced ...\n",
-      " |      \n",
-      " |      Unless `refcheck` is False:\n",
-      " |      \n",
-      " |      >>> a.resize((1, 1), refcheck=False)\n",
-      " |      >>> a\n",
-      " |      array([[0]])\n",
-      " |      >>> c\n",
-      " |      array([[0]])\n",
-      " |  \n",
-      " |  round(...)\n",
-      " |      a.round(decimals=0, out=None)\n",
-      " |      \n",
-      " |      Return `a` with each element rounded to the given number of decimals.\n",
-      " |      \n",
-      " |      Refer to `numpy.around` for full documentation.\n",
-      " |      \n",
-      " |      See Also\n",
-      " |      --------\n",
-      " |      numpy.around : equivalent function\n",
-      " |  \n",
-      " |  searchsorted(...)\n",
-      " |      a.searchsorted(v, side='left', sorter=None)\n",
-      " |      \n",
-      " |      Find indices where elements of v should be inserted in a to maintain order.\n",
-      " |      \n",
-      " |      For full documentation, see `numpy.searchsorted`\n",
-      " |      \n",
-      " |      See Also\n",
-      " |      --------\n",
-      " |      numpy.searchsorted : equivalent function\n",
-      " |  \n",
-      " |  setfield(...)\n",
-      " |      a.setfield(val, dtype, offset=0)\n",
-      " |      \n",
-      " |      Put a value into a specified place in a field defined by a data-type.\n",
-      " |      \n",
-      " |      Place `val` into `a`'s field defined by `dtype` and beginning `offset`\n",
-      " |      bytes into the field.\n",
-      " |      \n",
-      " |      Parameters\n",
-      " |      ----------\n",
-      " |      val : object\n",
-      " |          Value to be placed in field.\n",
-      " |      dtype : dtype object\n",
-      " |          Data-type of the field in which to place `val`.\n",
-      " |      offset : int, optional\n",
-      " |          The number of bytes into the field at which to place `val`.\n",
-      " |      \n",
-      " |      Returns\n",
-      " |      -------\n",
-      " |      None\n",
-      " |      \n",
-      " |      See Also\n",
-      " |      --------\n",
-      " |      getfield\n",
-      " |      \n",
-      " |      Examples\n",
-      " |      --------\n",
-      " |      >>> x = np.eye(3)\n",
-      " |      >>> x.getfield(np.float64)\n",
-      " |      array([[ 1.,  0.,  0.],\n",
-      " |             [ 0.,  1.,  0.],\n",
-      " |             [ 0.,  0.,  1.]])\n",
-      " |      >>> x.setfield(3, np.int32)\n",
-      " |      >>> x.getfield(np.int32)\n",
-      " |      array([[3, 3, 3],\n",
-      " |             [3, 3, 3],\n",
-      " |             [3, 3, 3]])\n",
-      " |      >>> x\n",
-      " |      array([[  1.00000000e+000,   1.48219694e-323,   1.48219694e-323],\n",
-      " |             [  1.48219694e-323,   1.00000000e+000,   1.48219694e-323],\n",
-      " |             [  1.48219694e-323,   1.48219694e-323,   1.00000000e+000]])\n",
-      " |      >>> x.setfield(np.eye(3), np.int32)\n",
-      " |      >>> x\n",
-      " |      array([[ 1.,  0.,  0.],\n",
-      " |             [ 0.,  1.,  0.],\n",
-      " |             [ 0.,  0.,  1.]])\n",
-      " |  \n",
-      " |  setflags(...)\n",
-      " |      a.setflags(write=None, align=None, uic=None)\n",
-      " |      \n",
-      " |      Set array flags WRITEABLE, ALIGNED, (WRITEBACKIFCOPY and UPDATEIFCOPY),\n",
-      " |      respectively.\n",
-      " |      \n",
-      " |      These Boolean-valued flags affect how numpy interprets the memory\n",
-      " |      area used by `a` (see Notes below). The ALIGNED flag can only\n",
-      " |      be set to True if the data is actually aligned according to the type.\n",
-      " |      The WRITEBACKIFCOPY and (deprecated) UPDATEIFCOPY flags can never be set\n",
-      " |      to True. The flag WRITEABLE can only be set to True if the array owns its\n",
-      " |      own memory, or the ultimate owner of the memory exposes a writeable buffer\n",
-      " |      interface, or is a string. (The exception for string is made so that\n",
-      " |      unpickling can be done without copying memory.)\n",
-      " |      \n",
-      " |      Parameters\n",
-      " |      ----------\n",
-      " |      write : bool, optional\n",
-      " |          Describes whether or not `a` can be written to.\n",
-      " |      align : bool, optional\n",
-      " |          Describes whether or not `a` is aligned properly for its type.\n",
-      " |      uic : bool, optional\n",
-      " |          Describes whether or not `a` is a copy of another \"base\" array.\n",
-      " |      \n",
-      " |      Notes\n",
-      " |      -----\n",
-      " |      Array flags provide information about how the memory area used\n",
-      " |      for the array is to be interpreted. There are 7 Boolean flags\n",
-      " |      in use, only four of which can be changed by the user:\n",
-      " |      WRITEBACKIFCOPY, UPDATEIFCOPY, WRITEABLE, and ALIGNED.\n",
-      " |      \n",
-      " |      WRITEABLE (W) the data area can be written to;\n",
-      " |      \n",
-      " |      ALIGNED (A) the data and strides are aligned appropriately for the hardware\n",
-      " |      (as determined by the compiler);\n",
-      " |      \n",
-      " |      UPDATEIFCOPY (U) (deprecated), replaced by WRITEBACKIFCOPY;\n",
-      " |      \n",
-      " |      WRITEBACKIFCOPY (X) this array is a copy of some other array (referenced\n",
-      " |      by .base). When the C-API function PyArray_ResolveWritebackIfCopy is\n",
-      " |      called, the base array will be updated with the contents of this array.\n",
-      " |      \n",
-      " |      All flags can be accessed using the single (upper case) letter as well\n",
-      " |      as the full name.\n",
-      " |      \n",
-      " |      Examples\n",
-      " |      --------\n",
-      " |      >>> y\n",
-      " |      array([[3, 1, 7],\n",
-      " |             [2, 0, 0],\n",
-      " |             [8, 5, 9]])\n",
-      " |      >>> y.flags\n",
-      " |        C_CONTIGUOUS : True\n",
-      " |        F_CONTIGUOUS : False\n",
-      " |        OWNDATA : True\n",
-      " |        WRITEABLE : True\n",
-      " |        ALIGNED : True\n",
-      " |        WRITEBACKIFCOPY : False\n",
-      " |        UPDATEIFCOPY : False\n",
-      " |      >>> y.setflags(write=0, align=0)\n",
-      " |      >>> y.flags\n",
-      " |        C_CONTIGUOUS : True\n",
-      " |        F_CONTIGUOUS : False\n",
-      " |        OWNDATA : True\n",
-      " |        WRITEABLE : False\n",
-      " |        ALIGNED : False\n",
-      " |        WRITEBACKIFCOPY : False\n",
-      " |        UPDATEIFCOPY : False\n",
-      " |      >>> y.setflags(uic=1)\n",
-      " |      Traceback (most recent call last):\n",
-      " |        File \"<stdin>\", line 1, in <module>\n",
-      " |      ValueError: cannot set WRITEBACKIFCOPY flag to True\n",
-      " |  \n",
-      " |  sort(...)\n",
-      " |      a.sort(axis=-1, kind='quicksort', order=None)\n",
-      " |      \n",
-      " |      Sort an array, in-place.\n",
-      " |      \n",
-      " |      Parameters\n",
-      " |      ----------\n",
-      " |      axis : int, optional\n",
-      " |          Axis along which to sort. Default is -1, which means sort along the\n",
-      " |          last axis.\n",
-      " |      kind : {'quicksort', 'mergesort', 'heapsort', 'stable'}, optional\n",
-      " |          Sorting algorithm. Default is 'quicksort'.\n",
-      " |      order : str or list of str, optional\n",
-      " |          When `a` is an array with fields defined, this argument specifies\n",
-      " |          which fields to compare first, second, etc.  A single field can\n",
-      " |          be specified as a string, and not all fields need be specified,\n",
-      " |          but unspecified fields will still be used, in the order in which\n",
-      " |          they come up in the dtype, to break ties.\n",
-      " |      \n",
-      " |      See Also\n",
-      " |      --------\n",
-      " |      numpy.sort : Return a sorted copy of an array.\n",
-      " |      argsort : Indirect sort.\n",
-      " |      lexsort : Indirect stable sort on multiple keys.\n",
-      " |      searchsorted : Find elements in sorted array.\n",
-      " |      partition: Partial sort.\n",
-      " |      \n",
-      " |      Notes\n",
-      " |      -----\n",
-      " |      See ``sort`` for notes on the different sorting algorithms.\n",
-      " |      \n",
-      " |      Examples\n",
-      " |      --------\n",
-      " |      >>> a = np.array([[1,4], [3,1]])\n",
-      " |      >>> a.sort(axis=1)\n",
-      " |      >>> a\n",
-      " |      array([[1, 4],\n",
-      " |             [1, 3]])\n",
-      " |      >>> a.sort(axis=0)\n",
-      " |      >>> a\n",
-      " |      array([[1, 3],\n",
-      " |             [1, 4]])\n",
-      " |      \n",
-      " |      Use the `order` keyword to specify a field to use when sorting a\n",
-      " |      structured array:\n",
-      " |      \n",
-      " |      >>> a = np.array([('a', 2), ('c', 1)], dtype=[('x', 'S1'), ('y', int)])\n",
-      " |      >>> a.sort(order='y')\n",
-      " |      >>> a\n",
-      " |      array([('c', 1), ('a', 2)],\n",
-      " |            dtype=[('x', '|S1'), ('y', '<i4')])\n",
-      " |  \n",
-      " |  squeeze(...)\n",
-      " |      a.squeeze(axis=None)\n",
-      " |      \n",
-      " |      Remove single-dimensional entries from the shape of `a`.\n",
-      " |      \n",
-      " |      Refer to `numpy.squeeze` for full documentation.\n",
-      " |      \n",
-      " |      See Also\n",
-      " |      --------\n",
-      " |      numpy.squeeze : equivalent function\n",
-      " |  \n",
-      " |  std(...)\n",
-      " |      a.std(axis=None, dtype=None, out=None, ddof=0, keepdims=False)\n",
-      " |      \n",
-      " |      Returns the standard deviation of the array elements along given axis.\n",
-      " |      \n",
-      " |      Refer to `numpy.std` for full documentation.\n",
-      " |      \n",
-      " |      See Also\n",
-      " |      --------\n",
-      " |      numpy.std : equivalent function\n",
-      " |  \n",
-      " |  sum(...)\n",
-      " |      a.sum(axis=None, dtype=None, out=None, keepdims=False)\n",
-      " |      \n",
-      " |      Return the sum of the array elements over the given axis.\n",
-      " |      \n",
-      " |      Refer to `numpy.sum` for full documentation.\n",
-      " |      \n",
-      " |      See Also\n",
-      " |      --------\n",
-      " |      numpy.sum : equivalent function\n",
-      " |  \n",
-      " |  swapaxes(...)\n",
-      " |      a.swapaxes(axis1, axis2)\n",
-      " |      \n",
-      " |      Return a view of the array with `axis1` and `axis2` interchanged.\n",
-      " |      \n",
-      " |      Refer to `numpy.swapaxes` for full documentation.\n",
-      " |      \n",
-      " |      See Also\n",
-      " |      --------\n",
-      " |      numpy.swapaxes : equivalent function\n",
-      " |  \n",
-      " |  take(...)\n",
-      " |      a.take(indices, axis=None, out=None, mode='raise')\n",
-      " |      \n",
-      " |      Return an array formed from the elements of `a` at the given indices.\n",
-      " |      \n",
-      " |      Refer to `numpy.take` for full documentation.\n",
-      " |      \n",
-      " |      See Also\n",
-      " |      --------\n",
-      " |      numpy.take : equivalent function\n",
-      " |  \n",
-      " |  tobytes(...)\n",
-      " |      a.tobytes(order='C')\n",
-      " |      \n",
-      " |      Construct Python bytes containing the raw data bytes in the array.\n",
-      " |      \n",
-      " |      Constructs Python bytes showing a copy of the raw contents of\n",
-      " |      data memory. The bytes object can be produced in either 'C' or 'Fortran',\n",
-      " |      or 'Any' order (the default is 'C'-order). 'Any' order means C-order\n",
-      " |      unless the F_CONTIGUOUS flag in the array is set, in which case it\n",
-      " |      means 'Fortran' order.\n",
-      " |      \n",
-      " |      .. versionadded:: 1.9.0\n",
-      " |      \n",
-      " |      Parameters\n",
-      " |      ----------\n",
-      " |      order : {'C', 'F', None}, optional\n",
-      " |          Order of the data for multidimensional arrays:\n",
-      " |          C, Fortran, or the same as for the original array.\n",
-      " |      \n",
-      " |      Returns\n",
-      " |      -------\n",
-      " |      s : bytes\n",
-      " |          Python bytes exhibiting a copy of `a`'s raw data.\n",
-      " |      \n",
-      " |      Examples\n",
-      " |      --------\n",
-      " |      >>> x = np.array([[0, 1], [2, 3]])\n",
-      " |      >>> x.tobytes()\n",
-      " |      b'\\x00\\x00\\x00\\x00\\x01\\x00\\x00\\x00\\x02\\x00\\x00\\x00\\x03\\x00\\x00\\x00'\n",
-      " |      >>> x.tobytes('C') == x.tobytes()\n",
-      " |      True\n",
-      " |      >>> x.tobytes('F')\n",
-      " |      b'\\x00\\x00\\x00\\x00\\x02\\x00\\x00\\x00\\x01\\x00\\x00\\x00\\x03\\x00\\x00\\x00'\n",
-      " |  \n",
-      " |  tofile(...)\n",
-      " |      a.tofile(fid, sep=\"\", format=\"%s\")\n",
-      " |      \n",
-      " |      Write array to a file as text or binary (default).\n",
-      " |      \n",
-      " |      Data is always written in 'C' order, independent of the order of `a`.\n",
-      " |      The data produced by this method can be recovered using the function\n",
-      " |      fromfile().\n",
-      " |      \n",
-      " |      Parameters\n",
-      " |      ----------\n",
-      " |      fid : file or str\n",
-      " |          An open file object, or a string containing a filename.\n",
-      " |      sep : str\n",
-      " |          Separator between array items for text output.\n",
-      " |          If \"\" (empty), a binary file is written, equivalent to\n",
-      " |          ``file.write(a.tobytes())``.\n",
-      " |      format : str\n",
-      " |          Format string for text file output.\n",
-      " |          Each entry in the array is formatted to text by first converting\n",
-      " |          it to the closest Python type, and then using \"format\" % item.\n",
-      " |      \n",
-      " |      Notes\n",
-      " |      -----\n",
-      " |      This is a convenience function for quick storage of array data.\n",
-      " |      Information on endianness and precision is lost, so this method is not a\n",
-      " |      good choice for files intended to archive data or transport data between\n",
-      " |      machines with different endianness. Some of these problems can be overcome\n",
-      " |      by outputting the data as text files, at the expense of speed and file\n",
-      " |      size.\n",
-      " |      \n",
-      " |      When fid is a file object, array contents are directly written to the\n",
-      " |      file, bypassing the file object's ``write`` method. As a result, tofile\n",
-      " |      cannot be used with files objects supporting compression (e.g., GzipFile)\n",
-      " |      or file-like objects that do not support ``fileno()`` (e.g., BytesIO).\n",
-      " |  \n",
-      " |  tolist(...)\n",
-      " |      a.tolist()\n",
-      " |      \n",
-      " |      Return the array as a (possibly nested) list.\n",
-      " |      \n",
-      " |      Return a copy of the array data as a (nested) Python list.\n",
-      " |      Data items are converted to the nearest compatible Python type.\n",
-      " |      \n",
-      " |      Parameters\n",
-      " |      ----------\n",
-      " |      none\n",
-      " |      \n",
-      " |      Returns\n",
-      " |      -------\n",
-      " |      y : list\n",
-      " |          The possibly nested list of array elements.\n",
-      " |      \n",
-      " |      Notes\n",
-      " |      -----\n",
-      " |      The array may be recreated, ``a = np.array(a.tolist())``.\n",
-      " |      \n",
-      " |      Examples\n",
-      " |      --------\n",
-      " |      >>> a = np.array([1, 2])\n",
-      " |      >>> a.tolist()\n",
-      " |      [1, 2]\n",
-      " |      >>> a = np.array([[1, 2], [3, 4]])\n",
-      " |      >>> list(a)\n",
-      " |      [array([1, 2]), array([3, 4])]\n",
-      " |      >>> a.tolist()\n",
-      " |      [[1, 2], [3, 4]]\n",
-      " |  \n",
-      " |  tostring(...)\n",
-      " |      a.tostring(order='C')\n",
-      " |      \n",
-      " |      Construct Python bytes containing the raw data bytes in the array.\n",
-      " |      \n",
-      " |      Constructs Python bytes showing a copy of the raw contents of\n",
-      " |      data memory. The bytes object can be produced in either 'C' or 'Fortran',\n",
-      " |      or 'Any' order (the default is 'C'-order). 'Any' order means C-order\n",
-      " |      unless the F_CONTIGUOUS flag in the array is set, in which case it\n",
-      " |      means 'Fortran' order.\n",
-      " |      \n",
-      " |      This function is a compatibility alias for tobytes. Despite its name it returns bytes not strings.\n",
-      " |      \n",
-      " |      Parameters\n",
-      " |      ----------\n",
-      " |      order : {'C', 'F', None}, optional\n",
-      " |          Order of the data for multidimensional arrays:\n",
-      " |          C, Fortran, or the same as for the original array.\n",
-      " |      \n",
-      " |      Returns\n",
-      " |      -------\n",
-      " |      s : bytes\n",
-      " |          Python bytes exhibiting a copy of `a`'s raw data.\n",
-      " |      \n",
-      " |      Examples\n",
-      " |      --------\n",
-      " |      >>> x = np.array([[0, 1], [2, 3]])\n",
-      " |      >>> x.tobytes()\n",
-      " |      b'\\x00\\x00\\x00\\x00\\x01\\x00\\x00\\x00\\x02\\x00\\x00\\x00\\x03\\x00\\x00\\x00'\n",
-      " |      >>> x.tobytes('C') == x.tobytes()\n",
-      " |      True\n",
-      " |      >>> x.tobytes('F')\n",
-      " |      b'\\x00\\x00\\x00\\x00\\x02\\x00\\x00\\x00\\x01\\x00\\x00\\x00\\x03\\x00\\x00\\x00'\n",
-      " |  \n",
-      " |  trace(...)\n",
-      " |      a.trace(offset=0, axis1=0, axis2=1, dtype=None, out=None)\n",
-      " |      \n",
-      " |      Return the sum along diagonals of the array.\n",
-      " |      \n",
-      " |      Refer to `numpy.trace` for full documentation.\n",
-      " |      \n",
-      " |      See Also\n",
-      " |      --------\n",
-      " |      numpy.trace : equivalent function\n",
-      " |  \n",
-      " |  transpose(...)\n",
-      " |      a.transpose(*axes)\n",
-      " |      \n",
-      " |      Returns a view of the array with axes transposed.\n",
-      " |      \n",
-      " |      For a 1-D array, this has no effect. (To change between column and\n",
-      " |      row vectors, first cast the 1-D array into a matrix object.)\n",
-      " |      For a 2-D array, this is the usual matrix transpose.\n",
-      " |      For an n-D array, if axes are given, their order indicates how the\n",
-      " |      axes are permuted (see Examples). If axes are not provided and\n",
-      " |      ``a.shape = (i[0], i[1], ... i[n-2], i[n-1])``, then\n",
-      " |      ``a.transpose().shape = (i[n-1], i[n-2], ... i[1], i[0])``.\n",
-      " |      \n",
-      " |      Parameters\n",
-      " |      ----------\n",
-      " |      axes : None, tuple of ints, or `n` ints\n",
-      " |      \n",
-      " |       * None or no argument: reverses the order of the axes.\n",
-      " |      \n",
-      " |       * tuple of ints: `i` in the `j`-th place in the tuple means `a`'s\n",
-      " |         `i`-th axis becomes `a.transpose()`'s `j`-th axis.\n",
-      " |      \n",
-      " |       * `n` ints: same as an n-tuple of the same ints (this form is\n",
-      " |         intended simply as a \"convenience\" alternative to the tuple form)\n",
-      " |      \n",
-      " |      Returns\n",
-      " |      -------\n",
-      " |      out : ndarray\n",
-      " |          View of `a`, with axes suitably permuted.\n",
-      " |      \n",
-      " |      See Also\n",
-      " |      --------\n",
-      " |      ndarray.T : Array property returning the array transposed.\n",
-      " |      \n",
-      " |      Examples\n",
-      " |      --------\n",
-      " |      >>> a = np.array([[1, 2], [3, 4]])\n",
-      " |      >>> a\n",
-      " |      array([[1, 2],\n",
-      " |             [3, 4]])\n",
-      " |      >>> a.transpose()\n",
-      " |      array([[1, 3],\n",
-      " |             [2, 4]])\n",
-      " |      >>> a.transpose((1, 0))\n",
-      " |      array([[1, 3],\n",
-      " |             [2, 4]])\n",
-      " |      >>> a.transpose(1, 0)\n",
-      " |      array([[1, 3],\n",
-      " |             [2, 4]])\n",
-      " |  \n",
-      " |  var(...)\n",
-      " |      a.var(axis=None, dtype=None, out=None, ddof=0, keepdims=False)\n",
-      " |      \n",
-      " |      Returns the variance of the array elements, along given axis.\n",
-      " |      \n",
-      " |      Refer to `numpy.var` for full documentation.\n",
-      " |      \n",
-      " |      See Also\n",
-      " |      --------\n",
-      " |      numpy.var : equivalent function\n",
-      " |  \n",
-      " |  view(...)\n",
-      " |      a.view(dtype=None, type=None)\n",
-      " |      \n",
-      " |      New view of array with the same data.\n",
-      " |      \n",
-      " |      Parameters\n",
-      " |      ----------\n",
-      " |      dtype : data-type or ndarray sub-class, optional\n",
-      " |          Data-type descriptor of the returned view, e.g., float32 or int16. The\n",
-      " |          default, None, results in the view having the same data-type as `a`.\n",
-      " |          This argument can also be specified as an ndarray sub-class, which\n",
-      " |          then specifies the type of the returned object (this is equivalent to\n",
-      " |          setting the ``type`` parameter).\n",
-      " |      type : Python type, optional\n",
-      " |          Type of the returned view, e.g., ndarray or matrix.  Again, the\n",
-      " |          default None results in type preservation.\n",
-      " |      \n",
-      " |      Notes\n",
-      " |      -----\n",
-      " |      ``a.view()`` is used two different ways:\n",
-      " |      \n",
-      " |      ``a.view(some_dtype)`` or ``a.view(dtype=some_dtype)`` constructs a view\n",
-      " |      of the array's memory with a different data-type.  This can cause a\n",
-      " |      reinterpretation of the bytes of memory.\n",
-      " |      \n",
-      " |      ``a.view(ndarray_subclass)`` or ``a.view(type=ndarray_subclass)`` just\n",
-      " |      returns an instance of `ndarray_subclass` that looks at the same array\n",
-      " |      (same shape, dtype, etc.)  This does not cause a reinterpretation of the\n",
-      " |      memory.\n",
-      " |      \n",
-      " |      For ``a.view(some_dtype)``, if ``some_dtype`` has a different number of\n",
-      " |      bytes per entry than the previous dtype (for example, converting a\n",
-      " |      regular array to a structured array), then the behavior of the view\n",
-      " |      cannot be predicted just from the superficial appearance of ``a`` (shown\n",
-      " |      by ``print(a)``). It also depends on exactly how ``a`` is stored in\n",
-      " |      memory. Therefore if ``a`` is C-ordered versus fortran-ordered, versus\n",
-      " |      defined as a slice or transpose, etc., the view may give different\n",
-      " |      results.\n",
-      " |      \n",
-      " |      \n",
-      " |      Examples\n",
-      " |      --------\n",
-      " |      >>> x = np.array([(1, 2)], dtype=[('a', np.int8), ('b', np.int8)])\n",
-      " |      \n",
-      " |      Viewing array data using a different type and dtype:\n",
-      " |      \n",
-      " |      >>> y = x.view(dtype=np.int16, type=np.matrix)\n",
-      " |      >>> y\n",
-      " |      matrix([[513]], dtype=int16)\n",
-      " |      >>> print(type(y))\n",
-      " |      <class 'numpy.matrixlib.defmatrix.matrix'>\n",
-      " |      \n",
-      " |      Creating a view on a structured array so it can be used in calculations\n",
-      " |      \n",
-      " |      >>> x = np.array([(1, 2),(3,4)], dtype=[('a', np.int8), ('b', np.int8)])\n",
-      " |      >>> xv = x.view(dtype=np.int8).reshape(-1,2)\n",
-      " |      >>> xv\n",
-      " |      array([[1, 2],\n",
-      " |             [3, 4]], dtype=int8)\n",
-      " |      >>> xv.mean(0)\n",
-      " |      array([ 2.,  3.])\n",
-      " |      \n",
-      " |      Making changes to the view changes the underlying array\n",
-      " |      \n",
-      " |      >>> xv[0,1] = 20\n",
-      " |      >>> print(x)\n",
-      " |      [(1, 20) (3, 4)]\n",
-      " |      \n",
-      " |      Using a view to convert an array to a recarray:\n",
-      " |      \n",
-      " |      >>> z = x.view(np.recarray)\n",
-      " |      >>> z.a\n",
-      " |      array([1], dtype=int8)\n",
-      " |      \n",
-      " |      Views share data:\n",
-      " |      \n",
-      " |      >>> x[0] = (9, 10)\n",
-      " |      >>> z[0]\n",
-      " |      (9, 10)\n",
-      " |      \n",
-      " |      Views that change the dtype size (bytes per entry) should normally be\n",
-      " |      avoided on arrays defined by slices, transposes, fortran-ordering, etc.:\n",
-      " |      \n",
-      " |      >>> x = np.array([[1,2,3],[4,5,6]], dtype=np.int16)\n",
-      " |      >>> y = x[:, 0:2]\n",
-      " |      >>> y\n",
-      " |      array([[1, 2],\n",
-      " |             [4, 5]], dtype=int16)\n",
-      " |      >>> y.view(dtype=[('width', np.int16), ('length', np.int16)])\n",
-      " |      Traceback (most recent call last):\n",
-      " |        File \"<stdin>\", line 1, in <module>\n",
-      " |      ValueError: new type not compatible with array.\n",
-      " |      >>> z = y.copy()\n",
-      " |      >>> z.view(dtype=[('width', np.int16), ('length', np.int16)])\n",
-      " |      array([[(1, 2)],\n",
-      " |             [(4, 5)]], dtype=[('width', '<i2'), ('length', '<i2')])\n",
-      " |  \n",
-      " |  ----------------------------------------------------------------------\n",
-      " |  Data descriptors defined here:\n",
-      " |  \n",
-      " |  T\n",
-      " |      Same as self.transpose(), except that self is returned if\n",
-      " |      self.ndim < 2.\n",
-      " |      \n",
-      " |      Examples\n",
-      " |      --------\n",
-      " |      >>> x = np.array([[1.,2.],[3.,4.]])\n",
-      " |      >>> x\n",
-      " |      array([[ 1.,  2.],\n",
-      " |             [ 3.,  4.]])\n",
-      " |      >>> x.T\n",
-      " |      array([[ 1.,  3.],\n",
-      " |             [ 2.,  4.]])\n",
-      " |      >>> x = np.array([1.,2.,3.,4.])\n",
-      " |      >>> x\n",
-      " |      array([ 1.,  2.,  3.,  4.])\n",
-      " |      >>> x.T\n",
-      " |      array([ 1.,  2.,  3.,  4.])\n",
-      " |  \n",
-      " |  __array_finalize__\n",
-      " |      None.\n",
-      " |  \n",
-      " |  __array_interface__\n",
-      " |      Array protocol: Python side.\n",
-      " |  \n",
-      " |  __array_priority__\n",
-      " |      Array priority.\n",
-      " |  \n",
-      " |  __array_struct__\n",
-      " |      Array protocol: C-struct side.\n",
-      " |  \n",
-      " |  base\n",
-      " |      Base object if memory is from some other object.\n",
-      " |      \n",
-      " |      Examples\n",
-      " |      --------\n",
-      " |      The base of an array that owns its memory is None:\n",
-      " |      \n",
-      " |      >>> x = np.array([1,2,3,4])\n",
-      " |      >>> x.base is None\n",
-      " |      True\n",
-      " |      \n",
-      " |      Slicing creates a view, whose memory is shared with x:\n",
-      " |      \n",
-      " |      >>> y = x[2:]\n",
-      " |      >>> y.base is x\n",
-      " |      True\n",
-      " |  \n",
-      " |  ctypes\n",
-      " |      An object to simplify the interaction of the array with the ctypes\n",
-      " |      module.\n",
-      " |      \n",
-      " |      This attribute creates an object that makes it easier to use arrays\n",
-      " |      when calling shared libraries with the ctypes module. The returned\n",
-      " |      object has, among others, data, shape, and strides attributes (see\n",
-      " |      Notes below) which themselves return ctypes objects that can be used\n",
-      " |      as arguments to a shared library.\n",
-      " |      \n",
-      " |      Parameters\n",
-      " |      ----------\n",
-      " |      None\n",
-      " |      \n",
-      " |      Returns\n",
-      " |      -------\n",
-      " |      c : Python object\n",
-      " |          Possessing attributes data, shape, strides, etc.\n",
-      " |      \n",
-      " |      See Also\n",
-      " |      --------\n",
-      " |      numpy.ctypeslib\n",
-      " |      \n",
-      " |      Notes\n",
-      " |      -----\n",
-      " |      Below are the public attributes of this object which were documented\n",
-      " |      in \"Guide to NumPy\" (we have omitted undocumented public attributes,\n",
-      " |      as well as documented private attributes):\n",
-      " |      \n",
-      " |      * data: A pointer to the memory area of the array as a Python integer.\n",
-      " |        This memory area may contain data that is not aligned, or not in correct\n",
-      " |        byte-order. The memory area may not even be writeable. The array\n",
-      " |        flags and data-type of this array should be respected when passing this\n",
-      " |        attribute to arbitrary C-code to avoid trouble that can include Python\n",
-      " |        crashing. User Beware! The value of this attribute is exactly the same\n",
-      " |        as self._array_interface_['data'][0].\n",
-      " |      \n",
-      " |      * shape (c_intp*self.ndim): A ctypes array of length self.ndim where\n",
-      " |        the basetype is the C-integer corresponding to dtype('p') on this\n",
-      " |        platform. This base-type could be c_int, c_long, or c_longlong\n",
-      " |        depending on the platform. The c_intp type is defined accordingly in\n",
-      " |        numpy.ctypeslib. The ctypes array contains the shape of the underlying\n",
-      " |        array.\n",
-      " |      \n",
-      " |      * strides (c_intp*self.ndim): A ctypes array of length self.ndim where\n",
-      " |        the basetype is the same as for the shape attribute. This ctypes array\n",
-      " |        contains the strides information from the underlying array. This strides\n",
-      " |        information is important for showing how many bytes must be jumped to\n",
-      " |        get to the next element in the array.\n",
-      " |      \n",
-      " |      * data_as(obj): Return the data pointer cast to a particular c-types object.\n",
-      " |        For example, calling self._as_parameter_ is equivalent to\n",
-      " |        self.data_as(ctypes.c_void_p). Perhaps you want to use the data as a\n",
-      " |        pointer to a ctypes array of floating-point data:\n",
-      " |        self.data_as(ctypes.POINTER(ctypes.c_double)).\n",
-      " |      \n",
-      " |      * shape_as(obj): Return the shape tuple as an array of some other c-types\n",
-      " |        type. For example: self.shape_as(ctypes.c_short).\n",
-      " |      \n",
-      " |      * strides_as(obj): Return the strides tuple as an array of some other\n",
-      " |        c-types type. For example: self.strides_as(ctypes.c_longlong).\n",
-      " |      \n",
-      " |      Be careful using the ctypes attribute - especially on temporary\n",
-      " |      arrays or arrays constructed on the fly. For example, calling\n",
-      " |      ``(a+b).ctypes.data_as(ctypes.c_void_p)`` returns a pointer to memory\n",
-      " |      that is invalid because the array created as (a+b) is deallocated\n",
-      " |      before the next Python statement. You can avoid this problem using\n",
-      " |      either ``c=a+b`` or ``ct=(a+b).ctypes``. In the latter case, ct will\n",
-      " |      hold a reference to the array until ct is deleted or re-assigned.\n",
-      " |      \n",
-      " |      If the ctypes module is not available, then the ctypes attribute\n",
-      " |      of array objects still returns something useful, but ctypes objects\n",
-      " |      are not returned and errors may be raised instead. In particular,\n",
-      " |      the object will still have the as parameter attribute which will\n",
-      " |      return an integer equal to the data attribute.\n",
-      " |      \n",
-      " |      Examples\n",
-      " |      --------\n",
-      " |      >>> import ctypes\n",
-      " |      >>> x\n",
-      " |      array([[0, 1],\n",
-      " |             [2, 3]])\n",
-      " |      >>> x.ctypes.data\n",
-      " |      30439712\n",
-      " |      >>> x.ctypes.data_as(ctypes.POINTER(ctypes.c_long))\n",
-      " |      <ctypes.LP_c_long object at 0x01F01300>\n",
-      " |      >>> x.ctypes.data_as(ctypes.POINTER(ctypes.c_long)).contents\n",
-      " |      c_long(0)\n",
-      " |      >>> x.ctypes.data_as(ctypes.POINTER(ctypes.c_longlong)).contents\n",
-      " |      c_longlong(4294967296L)\n",
-      " |      >>> x.ctypes.shape\n",
-      " |      <numpy.core._internal.c_long_Array_2 object at 0x01FFD580>\n",
-      " |      >>> x.ctypes.shape_as(ctypes.c_long)\n",
-      " |      <numpy.core._internal.c_long_Array_2 object at 0x01FCE620>\n",
-      " |      >>> x.ctypes.strides\n",
-      " |      <numpy.core._internal.c_long_Array_2 object at 0x01FCE620>\n",
-      " |      >>> x.ctypes.strides_as(ctypes.c_longlong)\n",
-      " |      <numpy.core._internal.c_longlong_Array_2 object at 0x01F01300>\n",
-      " |  \n",
-      " |  data\n",
-      " |      Python buffer object pointing to the start of the array's data.\n",
-      " |  \n",
-      " |  dtype\n",
-      " |      Data-type of the array's elements.\n",
-      " |      \n",
-      " |      Parameters\n",
-      " |      ----------\n",
-      " |      None\n",
-      " |      \n",
-      " |      Returns\n",
-      " |      -------\n",
-      " |      d : numpy dtype object\n",
-      " |      \n",
-      " |      See Also\n",
-      " |      --------\n",
-      " |      numpy.dtype\n",
-      " |      \n",
-      " |      Examples\n",
-      " |      --------\n",
-      " |      >>> x\n",
-      " |      array([[0, 1],\n",
-      " |             [2, 3]])\n",
-      " |      >>> x.dtype\n",
-      " |      dtype('int32')\n",
-      " |      >>> type(x.dtype)\n",
-      " |      <type 'numpy.dtype'>\n",
-      " |  \n",
-      " |  flags\n",
-      " |      Information about the memory layout of the array.\n",
-      " |      \n",
-      " |      Attributes\n",
-      " |      ----------\n",
-      " |      C_CONTIGUOUS (C)\n",
-      " |          The data is in a single, C-style contiguous segment.\n",
-      " |      F_CONTIGUOUS (F)\n",
-      " |          The data is in a single, Fortran-style contiguous segment.\n",
-      " |      OWNDATA (O)\n",
-      " |          The array owns the memory it uses or borrows it from another object.\n",
-      " |      WRITEABLE (W)\n",
-      " |          The data area can be written to.  Setting this to False locks\n",
-      " |          the data, making it read-only.  A view (slice, etc.) inherits WRITEABLE\n",
-      " |          from its base array at creation time, but a view of a writeable\n",
-      " |          array may be subsequently locked while the base array remains writeable.\n",
-      " |          (The opposite is not true, in that a view of a locked array may not\n",
-      " |          be made writeable.  However, currently, locking a base object does not\n",
-      " |          lock any views that already reference it, so under that circumstance it\n",
-      " |          is possible to alter the contents of a locked array via a previously\n",
-      " |          created writeable view onto it.)  Attempting to change a non-writeable\n",
-      " |          array raises a RuntimeError exception.\n",
-      " |      ALIGNED (A)\n",
-      " |          The data and all elements are aligned appropriately for the hardware.\n",
-      " |      WRITEBACKIFCOPY (X)\n",
-      " |          This array is a copy of some other array. The C-API function\n",
-      " |          PyArray_ResolveWritebackIfCopy must be called before deallocating\n",
-      " |          to the base array will be updated with the contents of this array.\n",
-      " |      UPDATEIFCOPY (U)\n",
-      " |          (Deprecated, use WRITEBACKIFCOPY) This array is a copy of some other array.\n",
-      " |          When this array is\n",
-      " |          deallocated, the base array will be updated with the contents of\n",
-      " |          this array.\n",
-      " |      FNC\n",
-      " |          F_CONTIGUOUS and not C_CONTIGUOUS.\n",
-      " |      FORC\n",
-      " |          F_CONTIGUOUS or C_CONTIGUOUS (one-segment test).\n",
-      " |      BEHAVED (B)\n",
-      " |          ALIGNED and WRITEABLE.\n",
-      " |      CARRAY (CA)\n",
-      " |          BEHAVED and C_CONTIGUOUS.\n",
-      " |      FARRAY (FA)\n",
-      " |          BEHAVED and F_CONTIGUOUS and not C_CONTIGUOUS.\n",
-      " |      \n",
-      " |      Notes\n",
-      " |      -----\n",
-      " |      The `flags` object can be accessed dictionary-like (as in ``a.flags['WRITEABLE']``),\n",
-      " |      or by using lowercased attribute names (as in ``a.flags.writeable``). Short flag\n",
-      " |      names are only supported in dictionary access.\n",
-      " |      \n",
-      " |      Only the WRITEBACKIFCOPY, UPDATEIFCOPY, WRITEABLE, and ALIGNED flags can be\n",
-      " |      changed by the user, via direct assignment to the attribute or dictionary\n",
-      " |      entry, or by calling `ndarray.setflags`.\n",
-      " |      \n",
-      " |      The array flags cannot be set arbitrarily:\n",
-      " |      \n",
-      " |      - UPDATEIFCOPY can only be set ``False``.\n",
-      " |      - WRITEBACKIFCOPY can only be set ``False``.\n",
-      " |      - ALIGNED can only be set ``True`` if the data is truly aligned.\n",
-      " |      - WRITEABLE can only be set ``True`` if the array owns its own memory\n",
-      " |        or the ultimate owner of the memory exposes a writeable buffer\n",
-      " |        interface or is a string.\n",
-      " |      \n",
-      " |      Arrays can be both C-style and Fortran-style contiguous simultaneously.\n",
-      " |      This is clear for 1-dimensional arrays, but can also be true for higher\n",
-      " |      dimensional arrays.\n",
-      " |      \n",
-      " |      Even for contiguous arrays a stride for a given dimension\n",
-      " |      ``arr.strides[dim]`` may be *arbitrary* if ``arr.shape[dim] == 1``\n",
-      " |      or the array has no elements.\n",
-      " |      It does *not* generally hold that ``self.strides[-1] == self.itemsize``\n",
-      " |      for C-style contiguous arrays or ``self.strides[0] == self.itemsize`` for\n",
-      " |      Fortran-style contiguous arrays is true.\n",
-      " |  \n",
-      " |  flat\n",
-      " |      A 1-D iterator over the array.\n",
-      " |      \n",
-      " |      This is a `numpy.flatiter` instance, which acts similarly to, but is not\n",
-      " |      a subclass of, Python's built-in iterator object.\n",
-      " |      \n",
-      " |      See Also\n",
-      " |      --------\n",
-      " |      flatten : Return a copy of the array collapsed into one dimension.\n",
-      " |      \n",
-      " |      flatiter\n",
-      " |      \n",
-      " |      Examples\n",
-      " |      --------\n",
-      " |      >>> x = np.arange(1, 7).reshape(2, 3)\n",
-      " |      >>> x\n",
-      " |      array([[1, 2, 3],\n",
-      " |             [4, 5, 6]])\n",
-      " |      >>> x.flat[3]\n",
-      " |      4\n",
-      " |      >>> x.T\n",
-      " |      array([[1, 4],\n",
-      " |             [2, 5],\n",
-      " |             [3, 6]])\n",
-      " |      >>> x.T.flat[3]\n",
-      " |      5\n",
-      " |      >>> type(x.flat)\n",
-      " |      <type 'numpy.flatiter'>\n",
-      " |      \n",
-      " |      An assignment example:\n",
-      " |      \n",
-      " |      >>> x.flat = 3; x\n",
-      " |      array([[3, 3, 3],\n",
-      " |             [3, 3, 3]])\n",
-      " |      >>> x.flat[[1,4]] = 1; x\n",
-      " |      array([[3, 1, 3],\n",
-      " |             [3, 1, 3]])\n",
-      " |  \n",
-      " |  imag\n",
-      " |      The imaginary part of the array.\n",
-      " |      \n",
-      " |      Examples\n",
-      " |      --------\n",
-      " |      >>> x = np.sqrt([1+0j, 0+1j])\n",
-      " |      >>> x.imag\n",
-      " |      array([ 0.        ,  0.70710678])\n",
-      " |      >>> x.imag.dtype\n",
-      " |      dtype('float64')\n",
-      " |  \n",
-      " |  itemsize\n",
-      " |      Length of one array element in bytes.\n",
-      " |      \n",
-      " |      Examples\n",
-      " |      --------\n",
-      " |      >>> x = np.array([1,2,3], dtype=np.float64)\n",
-      " |      >>> x.itemsize\n",
-      " |      8\n",
-      " |      >>> x = np.array([1,2,3], dtype=np.complex128)\n",
-      " |      >>> x.itemsize\n",
-      " |      16\n",
-      " |  \n",
-      " |  nbytes\n",
-      " |      Total bytes consumed by the elements of the array.\n",
-      " |      \n",
-      " |      Notes\n",
-      " |      -----\n",
-      " |      Does not include memory consumed by non-element attributes of the\n",
-      " |      array object.\n",
-      " |      \n",
-      " |      Examples\n",
-      " |      --------\n",
-      " |      >>> x = np.zeros((3,5,2), dtype=np.complex128)\n",
-      " |      >>> x.nbytes\n",
-      " |      480\n",
-      " |      >>> np.prod(x.shape) * x.itemsize\n",
-      " |      480\n",
-      " |  \n",
-      " |  ndim\n",
-      " |      Number of array dimensions.\n",
-      " |      \n",
-      " |      Examples\n",
-      " |      --------\n",
-      " |      >>> x = np.array([1, 2, 3])\n",
-      " |      >>> x.ndim\n",
-      " |      1\n",
-      " |      >>> y = np.zeros((2, 3, 4))\n",
-      " |      >>> y.ndim\n",
-      " |      3\n",
-      " |  \n",
-      " |  real\n",
-      " |      The real part of the array.\n",
-      " |      \n",
-      " |      Examples\n",
-      " |      --------\n",
-      " |      >>> x = np.sqrt([1+0j, 0+1j])\n",
-      " |      >>> x.real\n",
-      " |      array([ 1.        ,  0.70710678])\n",
-      " |      >>> x.real.dtype\n",
-      " |      dtype('float64')\n",
-      " |      \n",
-      " |      See Also\n",
-      " |      --------\n",
-      " |      numpy.real : equivalent function\n",
-      " |  \n",
-      " |  shape\n",
-      " |      Tuple of array dimensions.\n",
-      " |      \n",
-      " |      The shape property is usually used to get the current shape of an array,\n",
-      " |      but may also be used to reshape the array in-place by assigning a tuple of\n",
-      " |      array dimensions to it.  As with `numpy.reshape`, one of the new shape\n",
-      " |      dimensions can be -1, in which case its value is inferred from the size of\n",
-      " |      the array and the remaining dimensions. Reshaping an array in-place will\n",
-      " |      fail if a copy is required.\n",
-      " |      \n",
-      " |      Examples\n",
-      " |      --------\n",
-      " |      >>> x = np.array([1, 2, 3, 4])\n",
-      " |      >>> x.shape\n",
-      " |      (4,)\n",
-      " |      >>> y = np.zeros((2, 3, 4))\n",
-      " |      >>> y.shape\n",
-      " |      (2, 3, 4)\n",
-      " |      >>> y.shape = (3, 8)\n",
-      " |      >>> y\n",
-      " |      array([[ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.],\n",
-      " |             [ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.],\n",
-      " |             [ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.]])\n",
-      " |      >>> y.shape = (3, 6)\n",
-      " |      Traceback (most recent call last):\n",
-      " |        File \"<stdin>\", line 1, in <module>\n",
-      " |      ValueError: total size of new array must be unchanged\n",
-      " |      >>> np.zeros((4,2))[::2].shape = (-1,)\n",
-      " |      Traceback (most recent call last):\n",
-      " |        File \"<stdin>\", line 1, in <module>\n",
-      " |      AttributeError: incompatible shape for a non-contiguous array\n",
-      " |      \n",
-      " |      See Also\n",
-      " |      --------\n",
-      " |      numpy.reshape : similar function\n",
-      " |      ndarray.reshape : similar method\n",
-      " |  \n",
-      " |  size\n",
-      " |      Number of elements in the array.\n",
-      " |      \n",
-      " |      Equal to ``np.prod(a.shape)``, i.e., the product of the array's\n",
-      " |      dimensions.\n",
-      " |      \n",
-      " |      Notes\n",
-      " |      -----\n",
-      " |      `a.size` returns a standard arbitrary precision Python integer. This \n",
-      " |      may not be the case with other methods of obtaining the same value\n",
-      " |      (like the suggested ``np.prod(a.shape)``, which returns an instance\n",
-      " |      of ``np.int_``), and may be relevant if the value is used further in\n",
-      " |      calculations that may overflow a fixed size integer type.\n",
-      " |      \n",
-      " |      Examples\n",
-      " |      --------\n",
-      " |      >>> x = np.zeros((3, 5, 2), dtype=np.complex128)\n",
-      " |      >>> x.size\n",
-      " |      30\n",
-      " |      >>> np.prod(x.shape)\n",
-      " |      30\n",
-      " |  \n",
-      " |  strides\n",
-      " |      Tuple of bytes to step in each dimension when traversing an array.\n",
-      " |      \n",
-      " |      The byte offset of element ``(i[0], i[1], ..., i[n])`` in an array `a`\n",
-      " |      is::\n",
-      " |      \n",
-      " |          offset = sum(np.array(i) * a.strides)\n",
-      " |      \n",
-      " |      A more detailed explanation of strides can be found in the\n",
-      " |      \"ndarray.rst\" file in the NumPy reference guide.\n",
-      " |      \n",
-      " |      Notes\n",
-      " |      -----\n",
-      " |      Imagine an array of 32-bit integers (each 4 bytes)::\n",
-      " |      \n",
-      " |        x = np.array([[0, 1, 2, 3, 4],\n",
-      " |                      [5, 6, 7, 8, 9]], dtype=np.int32)\n",
-      " |      \n",
-      " |      This array is stored in memory as 40 bytes, one after the other\n",
-      " |      (known as a contiguous block of memory).  The strides of an array tell\n",
-      " |      us how many bytes we have to skip in memory to move to the next position\n",
-      " |      along a certain axis.  For example, we have to skip 4 bytes (1 value) to\n",
-      " |      move to the next column, but 20 bytes (5 values) to get to the same\n",
-      " |      position in the next row.  As such, the strides for the array `x` will be\n",
-      " |      ``(20, 4)``.\n",
-      " |      \n",
-      " |      See Also\n",
-      " |      --------\n",
-      " |      numpy.lib.stride_tricks.as_strided\n",
-      " |      \n",
-      " |      Examples\n",
-      " |      --------\n",
-      " |      >>> y = np.reshape(np.arange(2*3*4), (2,3,4))\n",
-      " |      >>> y\n",
-      " |      array([[[ 0,  1,  2,  3],\n",
-      " |              [ 4,  5,  6,  7],\n",
-      " |              [ 8,  9, 10, 11]],\n",
-      " |             [[12, 13, 14, 15],\n",
-      " |              [16, 17, 18, 19],\n",
-      " |              [20, 21, 22, 23]]])\n",
-      " |      >>> y.strides\n",
-      " |      (48, 16, 4)\n",
-      " |      >>> y[1,1,1]\n",
-      " |      17\n",
-      " |      >>> offset=sum(y.strides * np.array((1,1,1)))\n",
-      " |      >>> offset/y.itemsize\n",
-      " |      17\n",
-      " |      \n",
-      " |      >>> x = np.reshape(np.arange(5*6*7*8), (5,6,7,8)).transpose(2,3,1,0)\n",
-      " |      >>> x.strides\n",
-      " |      (32, 4, 224, 1344)\n",
-      " |      >>> i = np.array([3,5,2,2])\n",
-      " |      >>> offset = sum(i * x.strides)\n",
-      " |      >>> x[3,5,2,2]\n",
-      " |      813\n",
-      " |      >>> offset / x.itemsize\n",
-      " |      813\n",
-      " |  \n",
-      " |  ----------------------------------------------------------------------\n",
-      " |  Data and other attributes defined here:\n",
-      " |  \n",
-      " |  __hash__ = None\n",
-      "\n"
-     ]
-    }
-   ],
-   "source": [
-    "help(numpy.ndarray)"
-   ]
-  },
   {
    "cell_type": "code",
    "execution_count": 29,
@@ -3817,1026 +352,6 @@
     "faces = faces.tolist()"
    ]
   },
-  {
-   "cell_type": "code",
-   "execution_count": 35,
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "[[454, 453, 412],\n",
-       " [406, 454, 412],\n",
-       " [496, 453, 454],\n",
-       " [405, 412, 453],\n",
-       " [368, 412, 367],\n",
-       " [336, 368, 367],\n",
-       " [406, 412, 368],\n",
-       " [405, 367, 412],\n",
-       " [492, 454, 450],\n",
-       " [480, 492, 450],\n",
-       " [496, 454, 492],\n",
-       " [406, 450, 454],\n",
-       " [449, 453, 491],\n",
-       " [479, 449, 491],\n",
-       " [405, 453, 449],\n",
-       " [496, 491, 453],\n",
-       " [363, 409, 359],\n",
-       " [332, 363, 359],\n",
-       " [405, 409, 363],\n",
-       " [401, 359, 409],\n",
-       " [330, 359, 355],\n",
-       " [328, 330, 355],\n",
-       " [332, 359, 330],\n",
-       " [401, 355, 359],\n",
-       " [367, 363, 334],\n",
-       " [336, 367, 334],\n",
-       " [405, 363, 367],\n",
-       " [332, 334, 363],\n",
-       " [445, 409, 449],\n",
-       " [479, 445, 449],\n",
-       " [401, 409, 445],\n",
-       " [405, 449, 409],\n",
-       " [410, 364, 360],\n",
-       " [402, 410, 360],\n",
-       " [406, 364, 410],\n",
-       " [333, 360, 364],\n",
-       " [356, 360, 331],\n",
-       " [329, 356, 331],\n",
-       " [402, 360, 356],\n",
-       " [333, 331, 360],\n",
-       " [450, 410, 446],\n",
-       " [480, 450, 446],\n",
-       " [406, 410, 450],\n",
-       " [402, 446, 410],\n",
-       " [335, 364, 368],\n",
-       " [336, 335, 368],\n",
-       " [333, 364, 335],\n",
-       " [406, 368, 364],\n",
-       " [523, 524, 556],\n",
-       " [543, 523, 556],\n",
-       " [496, 524, 523],\n",
-       " [544, 556, 524],\n",
-       " [575, 556, 576],\n",
-       " [596, 575, 576],\n",
-       " [543, 556, 575],\n",
-       " [544, 576, 556],\n",
-       " [491, 523, 515],\n",
-       " [479, 491, 515],\n",
-       " [496, 523, 491],\n",
-       " [543, 515, 523],\n",
-       " [516, 524, 492],\n",
-       " [480, 516, 492],\n",
-       " [544, 524, 516],\n",
-       " [496, 492, 524],\n",
-       " [189, 190, 230],\n",
-       " [237, 189, 230],\n",
-       " [148, 190, 189],\n",
-       " [238, 230, 190],\n",
-       " [275, 230, 276],\n",
-       " [336, 275, 276],\n",
-       " [237, 230, 275],\n",
-       " [238, 276, 230],\n",
-       " [151, 189, 193],\n",
-       " [163, 151, 193],\n",
-       " [148, 189, 151],\n",
-       " [237, 193, 189],\n",
-       " [194, 190, 152],\n",
-       " [164, 194, 152],\n",
-       " [238, 190, 194],\n",
-       " [148, 152, 190],\n",
-       " [280, 234, 284],\n",
-       " [333, 280, 284],\n",
-       " [238, 234, 280],\n",
-       " [242, 284, 234],\n",
-       " [331, 284, 288],\n",
-       " [329, 331, 288],\n",
-       " [333, 284, 331],\n",
-       " [242, 288, 284],\n",
-       " [276, 280, 335],\n",
-       " [336, 276, 335],\n",
-       " [238, 280, 276],\n",
-       " [333, 335, 280],\n",
-       " [198, 234, 194],\n",
-       " [164, 198, 194],\n",
-       " [242, 234, 198],\n",
-       " [238, 194, 234],\n",
-       " [233, 279, 283],\n",
-       " [241, 233, 283],\n",
-       " [237, 279, 233],\n",
-       " [332, 283, 279],\n",
-       " [287, 283, 330],\n",
-       " [328, 287, 330],\n",
-       " [241, 283, 287],\n",
-       " [332, 330, 283],\n",
-       " [193, 233, 197],\n",
-       " [163, 193, 197],\n",
-       " [237, 233, 193],\n",
-       " [241, 197, 233],\n",
-       " [334, 279, 275],\n",
-       " [336, 334, 275],\n",
-       " [332, 279, 334],\n",
-       " [237, 275, 279],\n",
-       " [120, 119, 86],\n",
-       " [100, 120, 86],\n",
-       " [148, 119, 120],\n",
-       " [99, 86, 119],\n",
-       " [68, 86, 67],\n",
-       " [48, 68, 67],\n",
-       " [100, 86, 68],\n",
-       " [99, 67, 86],\n",
-       " [152, 120, 128],\n",
-       " [164, 152, 128],\n",
-       " [148, 120, 152],\n",
-       " [100, 128, 120],\n",
-       " [127, 119, 151],\n",
-       " [163, 127, 151],\n",
-       " [99, 119, 127],\n",
-       " [148, 151, 119],\n",
-       " [451, 452, 411],\n",
-       " [403, 451, 411],\n",
-       " [493, 452, 451],\n",
-       " [404, 411, 452],\n",
-       " [365, 411, 366],\n",
-       " [305, 365, 366],\n",
-       " [403, 411, 365],\n",
-       " [404, 366, 411],\n",
-       " [489, 451, 447],\n",
-       " [477, 489, 447],\n",
-       " [493, 451, 489],\n",
-       " [403, 447, 451],\n",
-       " [448, 452, 490],\n",
-       " [478, 448, 490],\n",
-       " [404, 452, 448],\n",
-       " [493, 490, 452],\n",
-       " [362, 408, 358],\n",
-       " [309, 362, 358],\n",
-       " [404, 408, 362],\n",
-       " [400, 358, 408],\n",
-       " [311, 358, 354],\n",
-       " [313, 311, 354],\n",
-       " [309, 358, 311],\n",
-       " [400, 354, 358],\n",
-       " [366, 362, 307],\n",
-       " [305, 366, 307],\n",
-       " [404, 362, 366],\n",
-       " [309, 307, 362],\n",
-       " [444, 408, 448],\n",
-       " [478, 444, 448],\n",
-       " [400, 408, 444],\n",
-       " [404, 448, 408],\n",
-       " [407, 361, 357],\n",
-       " [399, 407, 357],\n",
-       " [403, 361, 407],\n",
-       " [308, 357, 361],\n",
-       " [353, 357, 310],\n",
-       " [312, 353, 310],\n",
-       " [399, 357, 353],\n",
-       " [308, 310, 357],\n",
-       " [447, 407, 443],\n",
-       " [477, 447, 443],\n",
-       " [403, 407, 447],\n",
-       " [399, 443, 407],\n",
-       " [306, 361, 365],\n",
-       " [305, 306, 365],\n",
-       " [308, 361, 306],\n",
-       " [403, 365, 361],\n",
-       " [522, 521, 555],\n",
-       " [542, 522, 555],\n",
-       " [493, 521, 522],\n",
-       " [541, 555, 521],\n",
-       " [574, 555, 573],\n",
-       " [593, 574, 573],\n",
-       " [542, 555, 574],\n",
-       " [541, 573, 555],\n",
-       " [490, 522, 514],\n",
-       " [478, 490, 514],\n",
-       " [493, 522, 490],\n",
-       " [542, 514, 522],\n",
-       " [513, 521, 489],\n",
-       " [477, 513, 489],\n",
-       " [541, 521, 513],\n",
-       " [493, 489, 521],\n",
-       " [188, 187, 229],\n",
-       " [236, 188, 229],\n",
-       " [145, 187, 188],\n",
-       " [235, 229, 187],\n",
-       " [274, 229, 273],\n",
-       " [305, 274, 273],\n",
-       " [236, 229, 274],\n",
-       " [235, 273, 229],\n",
-       " [150, 188, 192],\n",
-       " [162, 150, 192],\n",
-       " [145, 188, 150],\n",
-       " [236, 192, 188],\n",
-       " [191, 187, 149],\n",
-       " [161, 191, 149],\n",
-       " [235, 187, 191],\n",
-       " [145, 149, 187],\n",
-       " [277, 231, 281],\n",
-       " [308, 277, 281],\n",
-       " [235, 231, 277],\n",
-       " [239, 281, 231],\n",
-       " [310, 281, 285],\n",
-       " [312, 310, 285],\n",
-       " [308, 281, 310],\n",
-       " [239, 285, 281],\n",
-       " [273, 277, 306],\n",
-       " [305, 273, 306],\n",
-       " [235, 277, 273],\n",
-       " [308, 306, 277],\n",
-       " [195, 231, 191],\n",
-       " [161, 195, 191],\n",
-       " [239, 231, 195],\n",
-       " [235, 191, 231],\n",
-       " [232, 278, 282],\n",
-       " [240, 232, 282],\n",
-       " [236, 278, 232],\n",
-       " [309, 282, 278],\n",
-       " [286, 282, 311],\n",
-       " [313, 286, 311],\n",
-       " [240, 282, 286],\n",
-       " [309, 311, 282],\n",
-       " [192, 232, 196],\n",
-       " [162, 192, 196],\n",
-       " [236, 232, 192],\n",
-       " [240, 196, 232],\n",
-       " [307, 278, 274],\n",
-       " [305, 307, 274],\n",
-       " [309, 278, 307],\n",
-       " [236, 274, 278],\n",
-       " [117, 118, 85],\n",
-       " [97, 117, 85],\n",
-       " [145, 118, 117],\n",
-       " [98, 85, 118],\n",
-       " [65, 85, 66],\n",
-       " [45, 65, 66],\n",
-       " [97, 85, 65],\n",
-       " [98, 66, 85],\n",
-       " [149, 117, 125],\n",
-       " [161, 149, 125],\n",
-       " [145, 117, 149],\n",
-       " [97, 125, 117],\n",
-       " [126, 118, 150],\n",
-       " [162, 126, 150],\n",
-       " [98, 118, 126],\n",
-       " [145, 150, 118],\n",
-       " [609, 611, 629],\n",
-       " [623, 609, 629],\n",
-       " [594, 611, 609],\n",
-       " [625, 629, 611],\n",
-       " [635, 629, 637],\n",
-       " [641, 635, 637],\n",
-       " [623, 629, 635],\n",
-       " [625, 637, 629],\n",
-       " [585, 609, 605],\n",
-       " [581, 585, 605],\n",
-       " [594, 609, 585],\n",
-       " [623, 605, 609],\n",
-       " [607, 611, 587],\n",
-       " [583, 607, 587],\n",
-       " [625, 611, 607],\n",
-       " [594, 587, 611],\n",
-       " [633, 617, 621],\n",
-       " [628, 633, 621],\n",
-       " [625, 617, 633],\n",
-       " [599, 621, 617],\n",
-       " [614, 621, 603],\n",
-       " [596, 614, 603],\n",
-       " [628, 621, 614],\n",
-       " [599, 603, 621],\n",
-       " [637, 633, 640],\n",
-       " [641, 637, 640],\n",
-       " [625, 633, 637],\n",
-       " [628, 640, 633],\n",
-       " [591, 617, 607],\n",
-       " [583, 591, 607],\n",
-       " [599, 617, 591],\n",
-       " [625, 607, 617],\n",
-       " [615, 631, 619],\n",
-       " [597, 615, 619],\n",
-       " [623, 631, 615],\n",
-       " [627, 619, 631],\n",
-       " [601, 619, 613],\n",
-       " [593, 601, 613],\n",
-       " [597, 619, 601],\n",
-       " [627, 613, 619],\n",
-       " [605, 615, 589],\n",
-       " [581, 605, 589],\n",
-       " [623, 615, 605],\n",
-       " [597, 589, 615],\n",
-       " [639, 631, 635],\n",
-       " [641, 639, 635],\n",
-       " [627, 631, 639],\n",
-       " [623, 635, 631],\n",
-       " [567, 565, 549],\n",
-       " [539, 567, 549],\n",
-       " [594, 565, 567],\n",
-       " [537, 549, 565],\n",
-       " [519, 549, 517],\n",
-       " [494, 519, 517],\n",
-       " [539, 549, 519],\n",
-       " [537, 517, 549],\n",
-       " [587, 567, 563],\n",
-       " [583, 587, 563],\n",
-       " [594, 567, 587],\n",
-       " [539, 563, 567],\n",
-       " [561, 565, 585],\n",
-       " [581, 561, 585],\n",
-       " [537, 565, 561],\n",
-       " [594, 585, 565],\n",
-       " [612, 610, 630],\n",
-       " [626, 612, 630],\n",
-       " [595, 610, 612],\n",
-       " [624, 630, 610],\n",
-       " [638, 630, 636],\n",
-       " [641, 638, 636],\n",
-       " [626, 630, 638],\n",
-       " [624, 636, 630],\n",
-       " [588, 612, 608],\n",
-       " [584, 588, 608],\n",
-       " [595, 612, 588],\n",
-       " [626, 608, 612],\n",
-       " [606, 610, 586],\n",
-       " [582, 606, 586],\n",
-       " [624, 610, 606],\n",
-       " [595, 586, 610],\n",
-       " [632, 616, 620],\n",
-       " [627, 632, 620],\n",
-       " [624, 616, 632],\n",
-       " [598, 620, 616],\n",
-       " [613, 620, 602],\n",
-       " [593, 613, 602],\n",
-       " [627, 620, 613],\n",
-       " [598, 602, 620],\n",
-       " [636, 632, 639],\n",
-       " [641, 636, 639],\n",
-       " [624, 632, 636],\n",
-       " [627, 639, 632],\n",
-       " [590, 616, 606],\n",
-       " [582, 590, 606],\n",
-       " [598, 616, 590],\n",
-       " [624, 606, 616],\n",
-       " [618, 634, 622],\n",
-       " [600, 618, 622],\n",
-       " [626, 634, 618],\n",
-       " [628, 622, 634],\n",
-       " [604, 622, 614],\n",
-       " [596, 604, 614],\n",
-       " [600, 622, 604],\n",
-       " [628, 614, 622],\n",
-       " [608, 618, 592],\n",
-       " [584, 608, 592],\n",
-       " [626, 618, 608],\n",
-       " [600, 592, 618],\n",
-       " [640, 634, 638],\n",
-       " [641, 640, 638],\n",
-       " [628, 634, 640],\n",
-       " [626, 638, 634],\n",
-       " [566, 568, 550],\n",
-       " [538, 566, 550],\n",
-       " [595, 568, 566],\n",
-       " [540, 550, 568],\n",
-       " [518, 550, 520],\n",
-       " [495, 518, 520],\n",
-       " [538, 550, 518],\n",
-       " [540, 520, 550],\n",
-       " [586, 566, 562],\n",
-       " [582, 586, 562],\n",
-       " [595, 566, 586],\n",
-       " [538, 562, 566],\n",
-       " [564, 568, 588],\n",
-       " [584, 564, 588],\n",
-       " [540, 568, 564],\n",
-       " [595, 588, 568],\n",
-       " [30, 32, 12],\n",
-       " [16, 30, 12],\n",
-       " [47, 32, 30],\n",
-       " [18, 12, 32],\n",
-       " [4, 12, 6],\n",
-       " [0, 4, 6],\n",
-       " [16, 12, 4],\n",
-       " [18, 6, 12],\n",
-       " [54, 30, 34],\n",
-       " [58, 54, 34],\n",
-       " [47, 30, 54],\n",
-       " [16, 34, 30],\n",
-       " [36, 32, 56],\n",
-       " [60, 36, 56],\n",
-       " [18, 32, 36],\n",
-       " [47, 56, 32],\n",
-       " [10, 26, 22],\n",
-       " [14, 10, 22],\n",
-       " [18, 26, 10],\n",
-       " [44, 22, 26],\n",
-       " [28, 22, 40],\n",
-       " [48, 28, 40],\n",
-       " [14, 22, 28],\n",
-       " [44, 40, 22],\n",
-       " [6, 10, 2],\n",
-       " [0, 6, 2],\n",
-       " [18, 10, 6],\n",
-       " [14, 2, 10],\n",
-       " [52, 26, 36],\n",
-       " [60, 52, 36],\n",
-       " [44, 26, 52],\n",
-       " [18, 36, 26],\n",
-       " [24, 8, 20],\n",
-       " [42, 24, 20],\n",
-       " [16, 8, 24],\n",
-       " [13, 20, 8],\n",
-       " [38, 20, 27],\n",
-       " [45, 38, 27],\n",
-       " [42, 20, 38],\n",
-       " [13, 27, 20],\n",
-       " [34, 24, 50],\n",
-       " [58, 34, 50],\n",
-       " [16, 24, 34],\n",
-       " [42, 50, 24],\n",
-       " [1, 8, 4],\n",
-       " [0, 1, 4],\n",
-       " [13, 8, 1],\n",
-       " [16, 4, 8],\n",
-       " [76, 74, 92],\n",
-       " [104, 76, 92],\n",
-       " [47, 74, 76],\n",
-       " [102, 92, 74],\n",
-       " [124, 92, 122],\n",
-       " [147, 124, 122],\n",
-       " [104, 92, 124],\n",
-       " [102, 122, 92],\n",
-       " [56, 76, 80],\n",
-       " [60, 56, 80],\n",
-       " [47, 76, 56],\n",
-       " [104, 80, 76],\n",
-       " [78, 74, 54],\n",
-       " [58, 78, 54],\n",
-       " [102, 74, 78],\n",
-       " [47, 54, 74],\n",
-       " [31, 29, 11],\n",
-       " [17, 31, 11],\n",
-       " [46, 29, 31],\n",
-       " [15, 11, 29],\n",
-       " [5, 11, 3],\n",
-       " [0, 5, 3],\n",
-       " [17, 11, 5],\n",
-       " [15, 3, 11],\n",
-       " [55, 31, 35],\n",
-       " [59, 55, 35],\n",
-       " [46, 31, 55],\n",
-       " [17, 35, 31],\n",
-       " [33, 29, 53],\n",
-       " [57, 33, 53],\n",
-       " [15, 29, 33],\n",
-       " [46, 53, 29],\n",
-       " [7, 23, 19],\n",
-       " [13, 7, 19],\n",
-       " [15, 23, 7],\n",
-       " [41, 19, 23],\n",
-       " [27, 19, 37],\n",
-       " [45, 27, 37],\n",
-       " [13, 19, 27],\n",
-       " [41, 37, 19],\n",
-       " [3, 7, 1],\n",
-       " [0, 3, 1],\n",
-       " [15, 7, 3],\n",
-       " [13, 1, 7],\n",
-       " [49, 23, 33],\n",
-       " [57, 49, 33],\n",
-       " [41, 23, 49],\n",
-       " [15, 33, 23],\n",
-       " [25, 9, 21],\n",
-       " [43, 25, 21],\n",
-       " [17, 9, 25],\n",
-       " [14, 21, 9],\n",
-       " [39, 21, 28],\n",
-       " [48, 39, 28],\n",
-       " [43, 21, 39],\n",
-       " [14, 28, 21],\n",
-       " [35, 25, 51],\n",
-       " [59, 35, 51],\n",
-       " [17, 25, 35],\n",
-       " [43, 51, 25],\n",
-       " [2, 9, 5],\n",
-       " [0, 2, 5],\n",
-       " [14, 9, 2],\n",
-       " [17, 5, 9],\n",
-       " [73, 75, 91],\n",
-       " [101, 73, 91],\n",
-       " [46, 75, 73],\n",
-       " [103, 91, 75],\n",
-       " [121, 91, 123],\n",
-       " [146, 121, 123],\n",
-       " [101, 91, 121],\n",
-       " [103, 123, 91],\n",
-       " [53, 73, 77],\n",
-       " [57, 53, 77],\n",
-       " [46, 73, 53],\n",
-       " [101, 77, 73],\n",
-       " [79, 75, 55],\n",
-       " [59, 79, 55],\n",
-       " [103, 75, 79],\n",
-       " [46, 55, 75],\n",
-       " [290, 350, 319],\n",
-       " [260, 290, 319],\n",
-       " [317, 350, 290],\n",
-       " [380, 319, 350],\n",
-       " [294, 319, 346],\n",
-       " [321, 294, 346],\n",
-       " [260, 319, 294],\n",
-       " [380, 346, 319],\n",
-       " [268, 290, 244],\n",
-       " [216, 268, 244],\n",
-       " [317, 290, 268],\n",
-       " [260, 244, 290],\n",
-       " [396, 350, 372],\n",
-       " [424, 396, 372],\n",
-       " [380, 350, 396],\n",
-       " [317, 372, 350],\n",
-       " [388, 420, 432],\n",
-       " [414, 388, 432],\n",
-       " [380, 420, 388],\n",
-       " [462, 432, 420],\n",
-       " [456, 432, 474],\n",
-       " [495, 456, 474],\n",
-       " [414, 432, 456],\n",
-       " [462, 474, 432],\n",
-       " [346, 388, 370],\n",
-       " [321, 346, 370],\n",
-       " [380, 388, 346],\n",
-       " [414, 370, 388],\n",
-       " [440, 420, 396],\n",
-       " [424, 440, 396],\n",
-       " [462, 420, 440],\n",
-       " [380, 396, 420],\n",
-       " [220, 252, 208],\n",
-       " [178, 220, 208],\n",
-       " [260, 252, 220],\n",
-       " [228, 208, 252],\n",
-       " [166, 208, 186],\n",
-       " [147, 166, 186],\n",
-       " [178, 208, 166],\n",
-       " [228, 186, 208],\n",
-       " [244, 220, 200],\n",
-       " [216, 244, 200],\n",
-       " [260, 220, 244],\n",
-       " [178, 200, 220],\n",
-       " [272, 252, 294],\n",
-       " [321, 272, 294],\n",
-       " [228, 252, 272],\n",
-       " [260, 294, 252],\n",
-       " [342, 298, 315],\n",
-       " [376, 342, 315],\n",
-       " [317, 298, 342],\n",
-       " [264, 315, 298],\n",
-       " [338, 315, 302],\n",
-       " [313, 338, 302],\n",
-       " [376, 315, 338],\n",
-       " [264, 302, 315],\n",
-       " [372, 342, 392],\n",
-       " [424, 372, 392],\n",
-       " [317, 342, 372],\n",
-       " [376, 392, 342],\n",
-       " [248, 298, 268],\n",
-       " [216, 248, 268],\n",
-       " [264, 298, 248],\n",
-       " [317, 268, 298],\n",
-       " [352, 292, 323],\n",
-       " [382, 352, 323],\n",
-       " [325, 292, 352],\n",
-       " [262, 323, 292],\n",
-       " [348, 323, 296],\n",
-       " [321, 348, 296],\n",
-       " [382, 323, 348],\n",
-       " [262, 296, 323],\n",
-       " [374, 352, 398],\n",
-       " [426, 374, 398],\n",
-       " [325, 352, 374],\n",
-       " [382, 398, 352],\n",
-       " [246, 292, 270],\n",
-       " [218, 246, 270],\n",
-       " [262, 292, 246],\n",
-       " [325, 270, 292],\n",
-       " [254, 222, 210],\n",
-       " [228, 254, 210],\n",
-       " [262, 222, 254],\n",
-       " [180, 210, 222],\n",
-       " [186, 210, 168],\n",
-       " [147, 186, 168],\n",
-       " [228, 210, 186],\n",
-       " [180, 168, 210],\n",
-       " [296, 254, 272],\n",
-       " [321, 296, 272],\n",
-       " [262, 254, 296],\n",
-       " [228, 272, 254],\n",
-       " [202, 222, 246],\n",
-       " [218, 202, 246],\n",
-       " [180, 222, 202],\n",
-       " [262, 246, 222],\n",
-       " [422, 390, 434],\n",
-       " [464, 422, 434],\n",
-       " [382, 390, 422],\n",
-       " [414, 434, 390],\n",
-       " [476, 434, 456],\n",
-       " [495, 476, 456],\n",
-       " [464, 434, 476],\n",
-       " [414, 456, 434],\n",
-       " [398, 422, 442],\n",
-       " [426, 398, 442],\n",
-       " [382, 422, 398],\n",
-       " [464, 442, 422],\n",
-       " [370, 390, 348],\n",
-       " [321, 370, 348],\n",
-       " [414, 390, 370],\n",
-       " [382, 348, 390],\n",
-       " [300, 344, 327],\n",
-       " [266, 300, 327],\n",
-       " [325, 344, 300],\n",
-       " [378, 327, 344],\n",
-       " [304, 327, 340],\n",
-       " [329, 304, 340],\n",
-       " [266, 327, 304],\n",
-       " [378, 340, 327],\n",
-       " [270, 300, 250],\n",
-       " [218, 270, 250],\n",
-       " [325, 300, 270],\n",
-       " [266, 250, 300],\n",
-       " [394, 344, 374],\n",
-       " [426, 394, 374],\n",
-       " [378, 344, 394],\n",
-       " [325, 374, 344],\n",
-       " [291, 351, 322],\n",
-       " [261, 291, 322],\n",
-       " [324, 351, 291],\n",
-       " [381, 322, 351],\n",
-       " [295, 322, 347],\n",
-       " [320, 295, 347],\n",
-       " [261, 322, 295],\n",
-       " [381, 347, 322],\n",
-       " [269, 291, 245],\n",
-       " [217, 269, 245],\n",
-       " [324, 291, 269],\n",
-       " [261, 245, 291],\n",
-       " [397, 351, 373],\n",
-       " [425, 397, 373],\n",
-       " [381, 351, 397],\n",
-       " [324, 373, 351],\n",
-       " [389, 421, 433],\n",
-       " [413, 389, 433],\n",
-       " [381, 421, 389],\n",
-       " [463, 433, 421],\n",
-       " [455, 433, 475],\n",
-       " [494, 455, 475],\n",
-       " [413, 433, 455],\n",
-       " [463, 475, 433],\n",
-       " [347, 389, 369],\n",
-       " [320, 347, 369],\n",
-       " [381, 389, 347],\n",
-       " [413, 369, 389],\n",
-       " [441, 421, 397],\n",
-       " [425, 441, 397],\n",
-       " [463, 421, 441],\n",
-       " [381, 397, 421],\n",
-       " [221, 253, 209],\n",
-       " [179, 221, 209],\n",
-       " [261, 253, 221],\n",
-       " [227, 209, 253],\n",
-       " [167, 209, 185],\n",
-       " [146, 167, 185],\n",
-       " [179, 209, 167],\n",
-       " [227, 185, 209],\n",
-       " [245, 221, 201],\n",
-       " [217, 245, 201],\n",
-       " [261, 221, 245],\n",
-       " [179, 201, 221],\n",
-       " [271, 253, 295],\n",
-       " [320, 271, 295],\n",
-       " [227, 253, 271],\n",
-       " [261, 295, 253],\n",
-       " [343, 299, 326],\n",
-       " [377, 343, 326],\n",
-       " [324, 299, 343],\n",
-       " [265, 326, 299],\n",
-       " [339, 326, 303],\n",
-       " [328, 339, 303],\n",
-       " [377, 326, 339],\n",
-       " [265, 303, 326],\n",
-       " [373, 343, 393],\n",
-       " [425, 373, 393],\n",
-       " [324, 343, 373],\n",
-       " [377, 393, 343],\n",
-       " [249, 299, 269],\n",
-       " [217, 249, 269],\n",
-       " [265, 299, 249],\n",
-       " [324, 269, 299],\n",
-       " [349, 289, 318],\n",
-       " [379, 349, 318],\n",
-       " [316, 289, 349],\n",
-       " [259, 318, 289],\n",
-       " [345, 318, 293],\n",
-       " [320, 345, 293],\n",
-       " [379, 318, 345],\n",
-       " [259, 293, 318],\n",
-       " [371, 349, 395],\n",
-       " [423, 371, 395],\n",
-       " [316, 349, 371],\n",
-       " [379, 395, 349],\n",
-       " [243, 289, 267],\n",
-       " [215, 243, 267],\n",
-       " [259, 289, 243],\n",
-       " [316, 267, 289],\n",
-       " [251, 219, 207],\n",
-       " [227, 251, 207],\n",
-       " [259, 219, 251],\n",
-       " [177, 207, 219],\n",
-       " [185, 207, 165],\n",
-       " [146, 185, 165],\n",
-       " [227, 207, 185],\n",
-       " [177, 165, 207],\n",
-       " [293, 251, 271],\n",
-       " [320, 293, 271],\n",
-       " [259, 251, 293],\n",
-       " [227, 271, 251],\n",
-       " [199, 219, 243],\n",
-       " [215, 199, 243],\n",
-       " [177, 219, 199],\n",
-       " [259, 243, 219],\n",
-       " [419, 387, 431],\n",
-       " [461, 419, 431],\n",
-       " [379, 387, 419],\n",
-       " [413, 431, 387],\n",
-       " [473, 431, 455],\n",
-       " [494, 473, 455],\n",
-       " [461, 431, 473],\n",
-       " [413, 455, 431],\n",
-       " [395, 419, 439],\n",
-       " [423, 395, 439],\n",
-       " [379, 419, 395],\n",
-       " [461, 439, 419],\n",
-       " [369, 387, 345],\n",
-       " [320, 369, 345],\n",
-       " [413, 387, 369],\n",
-       " [379, 345, 387],\n",
-       " [297, 341, 314],\n",
-       " [263, 297, 314],\n",
-       " [316, 341, 297],\n",
-       " [375, 314, 341],\n",
-       " [301, 314, 337],\n",
-       " [312, 301, 337],\n",
-       " [263, 314, 301],\n",
-       " [375, 337, 314],\n",
-       " [267, 297, 247],\n",
-       " [215, 267, 247],\n",
-       " [316, 297, 267],\n",
-       " [263, 247, 297],\n",
-       " [391, 341, 371],\n",
-       " [423, 391, 371],\n",
-       " [375, 341, 391],\n",
-       " [316, 371, 341],\n",
-       " [528, 500, 484],\n",
-       " [508, 528, 484],\n",
-       " [536, 500, 528],\n",
-       " [460, 484, 500],\n",
-       " [468, 484, 438],\n",
-       " [426, 468, 438],\n",
-       " [508, 484, 468],\n",
-       " [460, 438, 484],\n",
-       " [560, 528, 554],\n",
-       " [584, 560, 554],\n",
-       " [536, 528, 560],\n",
-       " [508, 554, 528],\n",
-       " [472, 500, 512],\n",
-       " [480, 472, 512],\n",
-       " [460, 500, 472],\n",
-       " [536, 512, 500],\n",
-       " [418, 430, 386],\n",
-       " [378, 418, 386],\n",
-       " [460, 430, 418],\n",
-       " [402, 386, 430],\n",
-       " [340, 386, 356],\n",
-       " [329, 340, 356],\n",
-       " [378, 386, 340],\n",
-       " [402, 356, 386],\n",
-       " [438, 418, 394],\n",
-       " [426, 438, 394],\n",
-       " [460, 418, 438],\n",
-       " [378, 394, 418],\n",
-       " [446, 430, 472],\n",
-       " [480, 446, 472],\n",
-       " [402, 430, 446],\n",
-       " [460, 472, 430],\n",
-       " [532, 488, 504],\n",
-       " [540, 532, 504],\n",
-       " [508, 488, 532],\n",
-       " [464, 504, 488],\n",
-       " [520, 504, 476],\n",
-       " [495, 520, 476],\n",
-       " [540, 504, 520],\n",
-       " [464, 476, 504],\n",
-       " [554, 532, 564],\n",
-       " [584, 554, 564],\n",
-       " [508, 532, 554],\n",
-       " [540, 564, 532],\n",
-       " [442, 488, 468],\n",
-       " [426, 442, 468],\n",
-       " [464, 488, 442],\n",
-       " [508, 468, 488],\n",
-       " [548, 572, 580],\n",
-       " [544, 548, 580],\n",
-       " [536, 572, 548],\n",
-       " [600, 580, 572],\n",
-       " [576, 580, 604],\n",
-       " [596, 576, 604],\n",
-       " [544, 580, 576],\n",
-       " [600, 604, 580],\n",
-       " [512, 548, 516],\n",
-       " [480, 512, 516],\n",
-       " [536, 548, 512],\n",
-       " [544, 516, 548],\n",
-       " [592, 572, 560],\n",
-       " [584, 592, 560],\n",
-       " [600, 572, 592],\n",
-       " [536, 560, 572],\n",
-       " [116, 160, 144],\n",
-       " [108, 116, 144],\n",
-       " [136, 160, 116],\n",
-       " [184, 144, 160],\n",
-       " [132, 144, 172],\n",
-       " [164, 132, 172],\n",
-       " [108, 144, 132],\n",
-       " [184, 172, 144],\n",
-       " [90, 116, 84],\n",
-       " [60, 90, 84],\n",
-       " [136, 116, 90],\n",
-       " [108, 84, 116],\n",
-       " [206, 160, 176],\n",
-       " [218, 206, 176],\n",
-       " [184, 160, 206],\n",
-       " [136, 176, 160],\n",
-       " [214, 226, 258],\n",
-       " [242, 214, 258],\n",
-       " [184, 226, 214],\n",
-       " [266, 258, 226],\n",
-       " [288, 258, 304],\n",
-       " [329, 288, 304],\n",
-       " [242, 258, 288],\n",
-       " [266, 304, 258],\n",
-       " [172, 214, 198],\n",
-       " [164, 172, 198],\n",
-       " [184, 214, 172],\n",
-       " [242, 198, 214],\n",
-       " [250, 226, 206],\n",
-       " [218, 250, 206],\n",
-       " [266, 226, 250],\n",
-       " [184, 206, 226],\n",
-       " [72, 96, 64],\n",
-       " [44, 72, 64],\n",
-       " [108, 96, 72],\n",
-       " [100, 64, 96],\n",
-       " [40, 64, 68],\n",
-       " [48, 40, 68],\n",
-       " [44, 64, 40],\n",
-       " [100, 68, 64],\n",
-       " [84, 72, 52],\n",
-       " [60, 84, 52],\n",
-       " [108, 72, 84],\n",
-       " [44, 52, 72],\n",
-       " [128, 96, 132],\n",
-       " [164, 128, 132],\n",
-       " [100, 96, 128],\n",
-       " [108, 132, 96],\n",
-       " [156, 112, 140],\n",
-       " [180, 156, 140],\n",
-       " [136, 112, 156],\n",
-       " [104, 140, 112],\n",
-       " [168, 140, 124],\n",
-       " [147, 168, 124],\n",
-       " [180, 140, 168],\n",
-       " [104, 124, 140],\n",
-       " [176, 156, 202],\n",
-       " [218, 176, 202],\n",
-       " [136, 156, 176],\n",
-       " [180, 202, 156],\n",
-       " [80, 112, 90],\n",
-       " [60, 80, 90],\n",
-       " [104, 112, 80],\n",
-       " [136, 90, 112],\n",
-       " [527, 483, 499],\n",
-       " [535, 527, 499],\n",
-       " [507, 483, 527],\n",
-       " [459, 499, 483],\n",
-       " [511, 499, 471],\n",
-       " [479, 511, 471],\n",
-       " [535, 499, 511],\n",
-       " [459, 471, 499],\n",
-       " [553, 527, 559],\n",
-       " [583, 553, 559],\n",
-       " [507, 527, 553],\n",
-       " [535, 559, 527],\n",
-       " [437, 483, 467],\n",
-       " [425, 437, 467],\n",
-       " [459, 483, 437],\n",
-       " [507, 467, 483],\n",
-       " [429, 417, 385],\n",
-       " [401, 429, 385],\n",
-       " [459, 417, 429],\n",
-       " [377, 385, 417],\n",
-       " [355, 385, 339],\n",
-       " [328, 355, 339],\n",
-       " [401, 385, 355],\n",
-       " [377, 339, 385],\n",
-       " [471, 429, 445],\n",
-       " [479, 471, 445],\n",
-       " [459, 429, 471],\n",
-       " [401, 445, 429],\n",
-       " [393, 417, 437],\n",
-       " [425, 393, 437],\n",
-       " [377, 417, 393],\n",
-       " [459, 437, 417],\n",
-       " [571, 547, 579],\n",
-       " [599, 571, 579],\n",
-       " [535, 547, 571],\n",
-       " [543, 579, 547],\n",
-       " [603, 579, 575],\n",
-       " [596, 603, 575],\n",
-       " [599, 579, 603],\n",
-       " [543, 575, 579],\n",
-       " [559, 571, 591],\n",
-       " [583, 559, 591],\n",
-       " [535, 571, 559],\n",
-       " [599, 591, 571],\n",
-       " [515, 547, 511],\n",
-       " [479, 515, 511],\n",
-       " [543, 547, 515],\n",
-       " [535, 511, 547],\n",
-       " [487, 531, 503],\n",
-       " [463, 487, 503],\n",
-       " [507, 531, 487],\n",
-       " [539, 503, 531],\n",
-       " [475, 503, 519],\n",
-       " [494, 475, 519],\n",
-       " [463, 503, 475],\n",
-       " [539, 519, 503],\n",
-       " [467, 487, 441],\n",
-       " [425, 467, 441],\n",
-       " [507, 487, 467],\n",
-       " [463, 441, 487],\n",
-       " [563, 531, 553],\n",
-       " [583, 563, 553],\n",
-       " [539, 531, 563],\n",
-       " [507, 553, 531],\n",
-       " [115, 143, 159],\n",
-       " [135, 115, 159],\n",
-       " [107, 143, 115],\n",
-       " [183, 159, 143],\n",
-       " [175, 159, 205],\n",
-       " [217, 175, 205],\n",
-       " [135, 159, 175],\n",
-       " [183, 205, 159],\n",
-       " [83, 115, 89],\n",
-       " [59, 83, 89],\n",
-       " [107, 115, 83],\n",
-       " [135, 89, 115],\n",
-       " [171, 143, 131],\n",
-       " [163, 171, 131],\n",
-       " [183, 143, 171],\n",
-       " [107, 131, 143],\n",
-       " [225, 213, 257],\n",
-       " [265, 225, 257],\n",
-       " [183, 213, 225],\n",
-       " [241, 257, 213],\n",
-       " [303, 257, 287],\n",
-       " [328, 303, 287],\n",
-       " [265, 257, 303],\n",
-       " [241, 287, 257],\n",
-       " [205, 225, 249],\n",
-       " [217, 205, 249],\n",
-       " [183, 225, 205],\n",
-       " [265, 249, 225],\n",
-       " [197, 213, 171],\n",
-       " [163, 197, 171],\n",
-       " [241, 213, 197],\n",
-       " [183, 171, 213],\n",
-       " [111, 155, 139],\n",
-       " [103, 111, 139],\n",
-       " [135, 155, 111],\n",
-       " [179, 139, 155],\n",
-       " [123, 139, 167],\n",
-       " [146, 123, 167],\n",
-       " [103, 139, 123],\n",
-       " [179, 167, 139],\n",
-       " ...]"
-      ]
-     },
-     "execution_count": 35,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "faces"
-   ]
-  },
   {
    "cell_type": "code",
    "execution_count": 40,
@@ -4861,667 +376,6 @@
     "Geometry(vertices=vertices, faces=faces)"
    ]
   },
-  {
-   "cell_type": "code",
-   "execution_count": 39,
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "[[-1.0, 0.0, 0.0],\n",
-       " [-0.9904388785362244, -0.1379522979259491, 0.0],\n",
-       " [-0.9904388785362244, 0.1379522979259491, 0.0],\n",
-       " [-0.987688422203064, -0.0822424665093422, -0.13307109475135803],\n",
-       " [-0.987688422203064, -0.0822424665093422, 0.13307109475135803],\n",
-       " [-0.987688422203064, 0.0822424665093422, -0.13307109475135803],\n",
-       " [-0.987688422203064, 0.0822424665093422, 0.13307109475135803],\n",
-       " [-0.9663925766944885, -0.2201170027256012, -0.13279250264167786],\n",
-       " [-0.9663925766944885, -0.2201170027256012, 0.13279250264167786],\n",
-       " [-0.9663925766944885, 0.2201170027256012, -0.13279250264167786],\n",
-       " [-0.9663925766944885, 0.2201170027256012, 0.13279250264167786],\n",
-       " [-0.9638612270355225, 0.0, -0.2664046883583069],\n",
-       " [-0.9638612270355225, 0.0, 0.2664046883583069],\n",
-       " [-0.9619383811950684, -0.27326661348342896, 0.0],\n",
-       " [-0.9619383811950684, 0.27326661348342896, 0.0],\n",
-       " [-0.9510564804077148, -0.16245989501476288, -0.2628656029701233],\n",
-       " [-0.9510564804077148, -0.16245989501476288, 0.2628656029701233],\n",
-       " [-0.9510564804077148, 0.16245989501476288, -0.2628656029701233],\n",
-       " [-0.9510564804077148, 0.16245989501476288, 0.2628656029701233],\n",
-       " [-0.9243046045303345, -0.35822880268096924, -0.13165539503097534],\n",
-       " [-0.9243046045303345, -0.35822880268096924, 0.13165539503097534],\n",
-       " [-0.9243046045303345, 0.35822880268096924, -0.13165539503097534],\n",
-       " [-0.9243046045303345, 0.35822880268096924, 0.13165539503097534],\n",
-       " [-0.9162440896034241, -0.3012588918209076, -0.2640827000141144],\n",
-       " [-0.9162440896034241, -0.3012588918209076, 0.2640827000141144],\n",
-       " [-0.9162440896034241, 0.3012588918209076, -0.2640827000141144],\n",
-       " [-0.9162440896034241, 0.3012588918209076, 0.2640827000141144],\n",
-       " [-0.9150434136390686, -0.4033553898334503, 0.0],\n",
-       " [-0.9150434136390686, 0.4033553898334503, 0.0],\n",
-       " [-0.9129825234413147, -0.0823235809803009, -0.39960700273513794],\n",
-       " [-0.9129825234413147, -0.0823235809803009, 0.39960700273513794],\n",
-       " [-0.9129825234413147, 0.0823235809803009, -0.39960700273513794],\n",
-       " [-0.9129825234413147, 0.0823235809803009, 0.39960700273513794],\n",
-       " [-0.8910065293312073, -0.23867690563201904, -0.3861874043941498],\n",
-       " [-0.8910065293312073, -0.23867690563201904, 0.3861874043941498],\n",
-       " [-0.8910065293312073, 0.23867690563201904, -0.3861874043941498],\n",
-       " [-0.8910065293312073, 0.23867690563201904, 0.3861874043941498],\n",
-       " [-0.8649293184280396, -0.48444169759750366, -0.1312004029750824],\n",
-       " [-0.8649293184280396, -0.48444169759750366, 0.1312004029750824],\n",
-       " [-0.8649293184280396, 0.48444169759750366, -0.1312004029750824],\n",
-       " [-0.8649293184280396, 0.48444169759750366, 0.1312004029750824],\n",
-       " [-0.862668514251709, -0.43388861417770386, -0.25989189743995667],\n",
-       " [-0.862668514251709, -0.43388861417770386, 0.25989189743995667],\n",
-       " [-0.862668514251709, 0.43388861417770386, -0.25989189743995667],\n",
-       " [-0.862668514251709, 0.43388861417770386, 0.25989189743995667],\n",
-       " [-0.8506507873535156, -0.525731086730957, 0.0],\n",
-       " [-0.8506507873535156, 0.0, -0.525731086730957],\n",
-       " [-0.8506507873535156, 0.0, 0.525731086730957],\n",
-       " [-0.8506507873535156, 0.525731086730957, 0.0],\n",
-       " [-0.8439115285873413, -0.37503859400749207, -0.3836137056350708],\n",
-       " [-0.8439115285873413, -0.37503859400749207, 0.3836137056350708],\n",
-       " [-0.8439115285873413, 0.37503859400749207, -0.3836137056350708],\n",
-       " [-0.8439115285873413, 0.37503859400749207, 0.3836137056350708],\n",
-       " [-0.8401778936386108, -0.15643450617790222, -0.5192584991455078],\n",
-       " [-0.8401778936386108, -0.15643450617790222, 0.5192584991455078],\n",
-       " [-0.8401778936386108, 0.15643450617790222, -0.5192584991455078],\n",
-       " [-0.8401778936386108, 0.15643450617790222, 0.5192584991455078],\n",
-       " [-0.80901700258255, -0.30901700258255005, -0.5],\n",
-       " [-0.80901700258255, -0.30901700258255005, 0.5],\n",
-       " [-0.80901700258255, 0.30901700258255005, -0.5],\n",
-       " [-0.80901700258255, 0.30901700258255005, 0.5],\n",
-       " [-0.7926493287086487, -0.5712516903877258, -0.21302290260791779],\n",
-       " [-0.7926493287086487, -0.5712516903877258, 0.21302290260791779],\n",
-       " [-0.7926493287086487, 0.5712516903877258, -0.21302290260791779],\n",
-       " [-0.7926493287086487, 0.5712516903877258, 0.21302290260791779],\n",
-       " [-0.7838429808616638, -0.6156420707702637, -0.08108629286289215],\n",
-       " [-0.7838429808616638, -0.6156420707702637, 0.08108629286289215],\n",
-       " [-0.7838429808616638, 0.6156420707702637, -0.08108629286289215],\n",
-       " [-0.7838429808616638, 0.6156420707702637, 0.08108629286289215],\n",
-       " [-0.7834516763687134, -0.5161216259002686, -0.34615299105644226],\n",
-       " [-0.7834516763687134, -0.5161216259002686, 0.34615299105644226],\n",
-       " [-0.7834516763687134, 0.5161216259002686, -0.34615299105644226],\n",
-       " [-0.7834516763687134, 0.5161216259002686, 0.34615299105644226],\n",
-       " [-0.7802044153213501, -0.08114183694124222, -0.6202396154403687],\n",
-       " [-0.7802044153213501, -0.08114183694124222, 0.6202396154403687],\n",
-       " [-0.7802044153213501, 0.08114183694124222, -0.6202396154403687],\n",
-       " [-0.7802044153213501, 0.08114183694124222, 0.6202396154403687],\n",
-       " [-0.7586523294448853, -0.23708629608154297, -0.6068251132965088],\n",
-       " [-0.7586523294448853, -0.23708629608154297, 0.6068251132965088],\n",
-       " [-0.7586523294448853, 0.23708629608154297, -0.6068251132965088],\n",
-       " [-0.7586523294448853, 0.23708629608154297, 0.6068251132965088],\n",
-       " [-0.7579354047775269, -0.45399048924446106, -0.46842989325523376],\n",
-       " [-0.7579354047775269, -0.45399048924446106, 0.46842989325523376],\n",
-       " [-0.7579354047775269, 0.45399048924446106, -0.46842989325523376],\n",
-       " [-0.7579354047775269, 0.45399048924446106, 0.46842989325523376],\n",
-       " [-0.7112817168235779, -0.7029070258140564, 0.0],\n",
-       " [-0.7112817168235779, 0.7029070258140564, 0.0],\n",
-       " [-0.7071068286895752, -0.3717480003833771, -0.601500928401947],\n",
-       " [-0.7071068286895752, -0.3717480003833771, 0.601500928401947],\n",
-       " [-0.7071068286895752, 0.3717480003833771, -0.601500928401947],\n",
-       " [-0.7071068286895752, 0.3717480003833771, 0.601500928401947],\n",
-       " [-0.7029070258140564, 0.0, -0.7112817168235779],\n",
-       " [-0.7029070258140564, 0.0, 0.7112817168235779],\n",
-       " [-0.702309787273407, -0.6474118828773499, -0.29600459337234497],\n",
-       " [-0.702309787273407, -0.6474118828773499, 0.29600459337234497],\n",
-       " [-0.702309787273407, 0.6474118828773499, -0.29600459337234497],\n",
-       " [-0.702309787273407, 0.6474118828773499, 0.29600459337234497],\n",
-       " [-0.7020465135574341, -0.6937804818153381, -0.1606220006942749],\n",
-       " [-0.7020465135574341, -0.6937804818153381, 0.1606220006942749],\n",
-       " [-0.7020465135574341, 0.6937804818153381, -0.1606220006942749],\n",
-       " [-0.7020465135574341, 0.6937804818153381, 0.1606220006942749],\n",
-       " [-0.6937804818153381, -0.1606220006942749, -0.7020465135574341],\n",
-       " [-0.6937804818153381, -0.1606220006942749, 0.7020465135574341],\n",
-       " [-0.6937804818153381, 0.1606220006942749, -0.7020465135574341],\n",
-       " [-0.6937804818153381, 0.1606220006942749, 0.7020465135574341],\n",
-       " [-0.6881908774375916, -0.5877853035926819, -0.4253253936767578],\n",
-       " [-0.6881908774375916, -0.5877853035926819, 0.4253253936767578],\n",
-       " [-0.6881908774375916, 0.5877853035926819, -0.4253253936767578],\n",
-       " [-0.6881908774375916, 0.5877853035926819, 0.4253253936767578],\n",
-       " [-0.6474118828773499, -0.29600459337234497, -0.702309787273407],\n",
-       " [-0.6474118828773499, -0.29600459337234497, 0.702309787273407],\n",
-       " [-0.6474118828773499, 0.29600459337234497, -0.702309787273407],\n",
-       " [-0.6474118828773499, 0.29600459337234497, 0.702309787273407],\n",
-       " [-0.646577775478363, -0.5133755207061768, -0.5642542243003845],\n",
-       " [-0.646577775478363, -0.5133755207061768, 0.5642542243003845],\n",
-       " [-0.646577775478363, 0.5133755207061768, -0.5642542243003845],\n",
-       " [-0.646577775478363, 0.5133755207061768, 0.5642542243003845],\n",
-       " [-0.6202396154403687, -0.7802044153213501, -0.08114183694124222],\n",
-       " [-0.6202396154403687, -0.7802044153213501, 0.08114183694124222],\n",
-       " [-0.6202396154403687, 0.7802044153213501, -0.08114183694124222],\n",
-       " [-0.6202396154403687, 0.7802044153213501, 0.08114183694124222],\n",
-       " [-0.6156420707702637, -0.08108629286289215, -0.7838429808616638],\n",
-       " [-0.6156420707702637, -0.08108629286289215, 0.7838429808616638],\n",
-       " [-0.6156420707702637, 0.08108629286289215, -0.7838429808616638],\n",
-       " [-0.6156420707702637, 0.08108629286289215, 0.7838429808616638],\n",
-       " [-0.6068251132965088, -0.7586523294448853, -0.23708629608154297],\n",
-       " [-0.6068251132965088, -0.7586523294448853, 0.23708629608154297],\n",
-       " [-0.6068251132965088, 0.7586523294448853, -0.23708629608154297],\n",
-       " [-0.6068251132965088, 0.7586523294448853, 0.23708629608154297],\n",
-       " [-0.601500928401947, -0.7071068286895752, -0.3717480003833771],\n",
-       " [-0.601500928401947, -0.7071068286895752, 0.3717480003833771],\n",
-       " [-0.601500928401947, 0.7071068286895752, -0.3717480003833771],\n",
-       " [-0.601500928401947, 0.7071068286895752, 0.3717480003833771],\n",
-       " [-0.5877853035926819, -0.4253253936767578, -0.6881908774375916],\n",
-       " [-0.5877853035926819, -0.4253253936767578, 0.6881908774375916],\n",
-       " [-0.5877853035926819, 0.4253253936767578, -0.6881908774375916],\n",
-       " [-0.5877853035926819, 0.4253253936767578, 0.6881908774375916],\n",
-       " [-0.5712516903877258, -0.21302279829978943, -0.7926492094993591],\n",
-       " [-0.5712516903877258, -0.21302279829978943, 0.7926492094993591],\n",
-       " [-0.5712516903877258, 0.21302279829978943, -0.7926492094993591],\n",
-       " [-0.5712516903877258, 0.21302279829978943, 0.7926492094993591],\n",
-       " [-0.5642542243003845, -0.646577775478363, -0.5133755207061768],\n",
-       " [-0.5642542243003845, -0.646577775478363, 0.5133755207061768],\n",
-       " [-0.5642542243003845, 0.646577775478363, -0.5133755207061768],\n",
-       " [-0.5642542243003845, 0.646577775478363, 0.5133755207061768],\n",
-       " [-0.525731086730957, -0.8506507873535156, 0.0],\n",
-       " [-0.525731086730957, 0.0, -0.8506507873535156],\n",
-       " [-0.525731086730957, 0.0, 0.8506507873535156],\n",
-       " [-0.525731086730957, 0.8506507873535156, 0.0],\n",
-       " [-0.5192584991455078, -0.8401778936386108, -0.15643450617790222],\n",
-       " [-0.5192584991455078, -0.8401778936386108, 0.15643450617790222],\n",
-       " [-0.5192584991455078, 0.8401778936386108, -0.15643450617790222],\n",
-       " [-0.5192584991455078, 0.8401778936386108, 0.15643450617790222],\n",
-       " [-0.5161216259002686, -0.34615299105644226, -0.7834516763687134],\n",
-       " [-0.5161216259002686, -0.34615299105644226, 0.7834516763687134],\n",
-       " [-0.5161216259002686, 0.34615299105644226, -0.7834516763687134],\n",
-       " [-0.5161216259002686, 0.34615299105644226, 0.7834516763687134],\n",
-       " [-0.5133755207061768, -0.5642542243003845, -0.646577775478363],\n",
-       " [-0.5133755207061768, -0.5642542243003845, 0.646577775478363],\n",
-       " [-0.5133755207061768, 0.5642542243003845, -0.646577775478363],\n",
-       " [-0.5133755207061768, 0.5642542243003845, 0.646577775478363],\n",
-       " [-0.5, -0.80901700258255, -0.30901700258255005],\n",
-       " [-0.5, -0.80901700258255, 0.30901700258255005],\n",
-       " [-0.5, 0.80901700258255, -0.30901700258255005],\n",
-       " [-0.5, 0.80901700258255, 0.30901700258255005],\n",
-       " [-0.48444169759750366, -0.1312004029750824, -0.8649293184280396],\n",
-       " [-0.48444169759750366, -0.1312004029750824, 0.8649293184280396],\n",
-       " [-0.48444169759750366, 0.1312004029750824, -0.8649293184280396],\n",
-       " [-0.48444169759750366, 0.1312004029750824, 0.8649293184280396],\n",
-       " [-0.46842989325523376, -0.7579354047775269, -0.45399048924446106],\n",
-       " [-0.46842989325523376, -0.7579354047775269, 0.45399048924446106],\n",
-       " [-0.46842989325523376, 0.7579354047775269, -0.45399048924446106],\n",
-       " [-0.46842989325523376, 0.7579354047775269, 0.45399048924446106],\n",
-       " [-0.45399048924446106, -0.46842989325523376, -0.7579354047775269],\n",
-       " [-0.45399048924446106, -0.46842989325523376, 0.7579354047775269],\n",
-       " [-0.45399048924446106, 0.46842989325523376, -0.7579354047775269],\n",
-       " [-0.45399048924446106, 0.46842989325523376, 0.7579354047775269],\n",
-       " [-0.43388861417770386, -0.25989189743995667, -0.862668514251709],\n",
-       " [-0.43388861417770386, -0.25989189743995667, 0.862668514251709],\n",
-       " [-0.43388861417770386, 0.25989189743995667, -0.862668514251709],\n",
-       " [-0.43388861417770386, 0.25989189743995667, 0.862668514251709],\n",
-       " [-0.4253253936767578, -0.6881908774375916, -0.5877853035926819],\n",
-       " [-0.4253253936767578, -0.6881908774375916, 0.5877853035926819],\n",
-       " [-0.4253253936767578, 0.6881908774375916, -0.5877853035926819],\n",
-       " [-0.4253253936767578, 0.6881908774375916, 0.5877853035926819],\n",
-       " [-0.4033553898334503, 0.0, -0.9150434136390686],\n",
-       " [-0.4033553898334503, 0.0, 0.9150434136390686],\n",
-       " [-0.39960700273513794, -0.9129825234413147, -0.0823235809803009],\n",
-       " [-0.39960700273513794, -0.9129825234413147, 0.0823235809803009],\n",
-       " [-0.39960700273513794, 0.9129825234413147, -0.0823235809803009],\n",
-       " [-0.39960700273513794, 0.9129825234413147, 0.0823235809803009],\n",
-       " [-0.3861874043941498, -0.891006588935852, -0.23867690563201904],\n",
-       " [-0.3861874043941498, -0.891006588935852, 0.23867690563201904],\n",
-       " [-0.3861874043941498, 0.891006588935852, -0.23867690563201904],\n",
-       " [-0.3861874043941498, 0.891006588935852, 0.23867690563201904],\n",
-       " [-0.3836137056350708, -0.8439115285873413, -0.37503859400749207],\n",
-       " [-0.3836137056350708, -0.8439115285873413, 0.37503859400749207],\n",
-       " [-0.3836137056350708, 0.8439115285873413, -0.37503859400749207],\n",
-       " [-0.3836137056350708, 0.8439115285873413, 0.37503859400749207],\n",
-       " [-0.37503859400749207, -0.3836137056350708, -0.8439115285873413],\n",
-       " [-0.37503859400749207, -0.3836137056350708, 0.8439115285873413],\n",
-       " [-0.37503859400749207, 0.3836137056350708, -0.8439115285873413],\n",
-       " [-0.37503859400749207, 0.3836137056350708, 0.8439115285873413],\n",
-       " [-0.3717480003833771, -0.601500928401947, -0.7071068286895752],\n",
-       " [-0.3717480003833771, -0.601500928401947, 0.7071068286895752],\n",
-       " [-0.3717480003833771, 0.601500928401947, -0.7071068286895752],\n",
-       " [-0.3717480003833771, 0.601500928401947, 0.7071068286895752],\n",
-       " [-0.35822880268096924, -0.13165539503097534, -0.9243046045303345],\n",
-       " [-0.35822880268096924, -0.13165539503097534, 0.9243046045303345],\n",
-       " [-0.35822880268096924, 0.13165539503097534, -0.9243046045303345],\n",
-       " [-0.35822880268096924, 0.13165539503097534, 0.9243046045303345],\n",
-       " [-0.34615299105644226, -0.7834516763687134, -0.5161216259002686],\n",
-       " [-0.34615299105644226, -0.7834516763687134, 0.5161216259002686],\n",
-       " [-0.34615299105644226, 0.7834516763687134, -0.5161216259002686],\n",
-       " [-0.34615299105644226, 0.7834516763687134, 0.5161216259002686],\n",
-       " [-0.30901700258255005, -0.5, -0.80901700258255],\n",
-       " [-0.30901700258255005, -0.5, 0.80901700258255],\n",
-       " [-0.30901700258255005, 0.5, -0.80901700258255],\n",
-       " [-0.30901700258255005, 0.5, 0.80901700258255],\n",
-       " [-0.3012588918209076, -0.2640827000141144, -0.9162440896034241],\n",
-       " [-0.3012588918209076, -0.2640827000141144, 0.9162440896034241],\n",
-       " [-0.3012588918209076, 0.2640827000141144, -0.9162440896034241],\n",
-       " [-0.3012588918209076, 0.2640827000141144, 0.9162440896034241],\n",
-       " [-0.29600459337234497, -0.702309787273407, -0.6474118828773499],\n",
-       " [-0.29600459337234497, -0.702309787273407, 0.6474118828773499],\n",
-       " [-0.29600459337234497, 0.702309787273407, -0.6474118828773499],\n",
-       " [-0.29600459337234497, 0.702309787273407, 0.6474118828773499],\n",
-       " [-0.27326661348342896, 0.0, -0.9619383811950684],\n",
-       " [-0.27326661348342896, 0.0, 0.9619383811950684],\n",
-       " [-0.2664046883583069, -0.9638612270355225, 0.0],\n",
-       " [-0.2664046883583069, 0.9638612270355225, 0.0],\n",
-       " [-0.2640827000141144, -0.9162440896034241, -0.3012588918209076],\n",
-       " [-0.2640827000141144, -0.9162440896034241, 0.3012588918209076],\n",
-       " [-0.2640827000141144, 0.9162440896034241, -0.3012588918209076],\n",
-       " [-0.2640827000141144, 0.9162440896034241, 0.3012588918209076],\n",
-       " [-0.2628656029701233, -0.9510564804077148, -0.16245989501476288],\n",
-       " [-0.2628656029701233, -0.9510564804077148, 0.16245989501476288],\n",
-       " [-0.2628656029701233, 0.9510564804077148, -0.16245989501476288],\n",
-       " [-0.2628656029701233, 0.9510564804077148, 0.16245989501476288],\n",
-       " [-0.25989189743995667, -0.862668514251709, -0.43388861417770386],\n",
-       " [-0.25989189743995667, -0.862668514251709, 0.43388861417770386],\n",
-       " [-0.25989189743995667, 0.862668514251709, -0.43388861417770386],\n",
-       " [-0.25989189743995667, 0.862668514251709, 0.43388861417770386],\n",
-       " [-0.23867690563201904, -0.3861874043941498, -0.8910065293312073],\n",
-       " [-0.23867690563201904, -0.3861874043941498, 0.8910065293312073],\n",
-       " [-0.23867690563201904, 0.3861874043941498, -0.8910065293312073],\n",
-       " [-0.23867690563201904, 0.3861874043941498, 0.8910065293312073],\n",
-       " [-0.23708629608154297, -0.6068251132965088, -0.7586523294448853],\n",
-       " [-0.23708629608154297, -0.6068251132965088, 0.7586523294448853],\n",
-       " [-0.23708629608154297, 0.6068251132965088, -0.7586523294448853],\n",
-       " [-0.23708629608154297, 0.6068251132965088, 0.7586523294448853],\n",
-       " [-0.2201170027256012, -0.13279250264167786, -0.9663925766944885],\n",
-       " [-0.2201170027256012, -0.13279250264167786, 0.9663925766944885],\n",
-       " [-0.2201170027256012, 0.13279250264167786, -0.9663925766944885],\n",
-       " [-0.2201170027256012, 0.13279250264167786, 0.9663925766944885],\n",
-       " [-0.21302279829978943, -0.7926492094993591, -0.5712516903877258],\n",
-       " [-0.21302279829978943, -0.7926492094993591, 0.5712516903877258],\n",
-       " [-0.21302279829978943, 0.7926492094993591, -0.5712516903877258],\n",
-       " [-0.21302279829978943, 0.7926492094993591, 0.5712516903877258],\n",
-       " [-0.16245989501476288, -0.2628656029701233, -0.9510564804077148],\n",
-       " [-0.16245989501476288, -0.2628656029701233, 0.9510564804077148],\n",
-       " [-0.16245989501476288, 0.2628656029701233, -0.9510564804077148],\n",
-       " [-0.16245989501476288, 0.2628656029701233, 0.9510564804077148],\n",
-       " [-0.1606220006942749, -0.7020465135574341, -0.6937804818153381],\n",
-       " [-0.1606220006942749, -0.7020465135574341, 0.6937804818153381],\n",
-       " [-0.1606220006942749, 0.7020465135574341, -0.6937804818153381],\n",
-       " [-0.1606220006942749, 0.7020465135574341, 0.6937804818153381],\n",
-       " [-0.15643450617790222, -0.5192584991455078, -0.8401778936386108],\n",
-       " [-0.15643450617790222, -0.5192584991455078, 0.8401778936386108],\n",
-       " [-0.15643450617790222, 0.5192584991455078, -0.8401778936386108],\n",
-       " [-0.15643450617790222, 0.5192584991455078, 0.8401778936386108],\n",
-       " [-0.1379522979259491, 0.0, -0.9904388785362244],\n",
-       " [-0.1379522979259491, 0.0, 0.9904388785362244],\n",
-       " [-0.13307109475135803, -0.987688422203064, -0.0822424665093422],\n",
-       " [-0.13307109475135803, -0.987688422203064, 0.0822424665093422],\n",
-       " [-0.13307109475135803, 0.987688422203064, -0.0822424665093422],\n",
-       " [-0.13307109475135803, 0.987688422203064, 0.0822424665093422],\n",
-       " [-0.13279250264167786, -0.9663925766944885, -0.2201170027256012],\n",
-       " [-0.13279250264167786, -0.9663925766944885, 0.2201170027256012],\n",
-       " [-0.13279250264167786, 0.9663925766944885, -0.2201170027256012],\n",
-       " [-0.13279250264167786, 0.9663925766944885, 0.2201170027256012],\n",
-       " [-0.13165539503097534, -0.9243046045303345, -0.35822880268096924],\n",
-       " [-0.13165539503097534, -0.9243046045303345, 0.35822880268096924],\n",
-       " [-0.13165539503097534, 0.9243046045303345, -0.35822880268096924],\n",
-       " [-0.13165539503097534, 0.9243046045303345, 0.35822880268096924],\n",
-       " [-0.1312004029750824, -0.8649293184280396, -0.48444169759750366],\n",
-       " [-0.1312004029750824, -0.8649293184280396, 0.48444169759750366],\n",
-       " [-0.1312004029750824, 0.8649293184280396, -0.48444169759750366],\n",
-       " [-0.1312004029750824, 0.8649293184280396, 0.48444169759750366],\n",
-       " [-0.0823235809803009, -0.39960700273513794, -0.9129825234413147],\n",
-       " [-0.0823235809803009, -0.39960700273513794, 0.9129825234413147],\n",
-       " [-0.0823235809803009, 0.39960700273513794, -0.9129825234413147],\n",
-       " [-0.0823235809803009, 0.39960700273513794, 0.9129825234413147],\n",
-       " [-0.0822424665093422, -0.13307109475135803, -0.987688422203064],\n",
-       " [-0.0822424665093422, -0.13307109475135803, 0.987688422203064],\n",
-       " [-0.0822424665093422, 0.13307109475135803, -0.987688422203064],\n",
-       " [-0.0822424665093422, 0.13307109475135803, 0.987688422203064],\n",
-       " [-0.08114183694124222, -0.6202396154403687, -0.7802044153213501],\n",
-       " [-0.08114183694124222, -0.6202396154403687, 0.7802044153213501],\n",
-       " [-0.08114183694124222, 0.6202396154403687, -0.7802044153213501],\n",
-       " [-0.08114183694124222, 0.6202396154403687, 0.7802044153213501],\n",
-       " [-0.08108629286289215, -0.7838429808616638, -0.6156420707702637],\n",
-       " [-0.08108629286289215, -0.7838429808616638, 0.6156420707702637],\n",
-       " [-0.08108629286289215, 0.7838429808616638, -0.6156420707702637],\n",
-       " [-0.08108629286289215, 0.7838429808616638, 0.6156420707702637],\n",
-       " [0.0, -1.0, 0.0],\n",
-       " [0.0, -0.9904388785362244, -0.1379522979259491],\n",
-       " [0.0, -0.9904388785362244, 0.1379522979259491],\n",
-       " [0.0, -0.9619383811950684, -0.27326661348342896],\n",
-       " [0.0, -0.9619383811950684, 0.27326661348342896],\n",
-       " [0.0, -0.9150434136390686, -0.4033553898334503],\n",
-       " [0.0, -0.9150434136390686, 0.4033553898334503],\n",
-       " [0.0, -0.8506507873535156, -0.525731086730957],\n",
-       " [0.0, -0.8506507873535156, 0.525731086730957],\n",
-       " [0.0, -0.7112817168235779, -0.7029070258140564],\n",
-       " [0.0, -0.7112817168235779, 0.7029070258140564],\n",
-       " [0.0, -0.525731086730957, -0.8506507873535156],\n",
-       " [0.0, -0.525731086730957, 0.8506507873535156],\n",
-       " [0.0, -0.2664046883583069, -0.9638612270355225],\n",
-       " [0.0, -0.2664046883583069, 0.9638612270355225],\n",
-       " [0.0, 0.0, -1.0],\n",
-       " [0.0, 0.0, 1.0],\n",
-       " [0.0, 0.2664046883583069, -0.9638612270355225],\n",
-       " [0.0, 0.2664046883583069, 0.9638612270355225],\n",
-       " [0.0, 0.525731086730957, -0.8506507873535156],\n",
-       " [0.0, 0.525731086730957, 0.8506507873535156],\n",
-       " [0.0, 0.7112817168235779, -0.7029070258140564],\n",
-       " [0.0, 0.7112817168235779, 0.7029070258140564],\n",
-       " [0.0, 0.8506507873535156, -0.525731086730957],\n",
-       " [0.0, 0.8506507873535156, 0.525731086730957],\n",
-       " [0.0, 0.9150434136390686, -0.4033553898334503],\n",
-       " [0.0, 0.9150434136390686, 0.4033553898334503],\n",
-       " [0.0, 0.9619383811950684, -0.27326661348342896],\n",
-       " [0.0, 0.9619383811950684, 0.27326661348342896],\n",
-       " [0.0, 0.9904388785362244, -0.1379522979259491],\n",
-       " [0.0, 0.9904388785362244, 0.1379522979259491],\n",
-       " [0.0, 1.0, 0.0],\n",
-       " [0.08108629286289215, -0.7838429808616638, -0.6156420707702637],\n",
-       " [0.08108629286289215, -0.7838429808616638, 0.6156420707702637],\n",
-       " [0.08108629286289215, 0.7838429808616638, -0.6156420707702637],\n",
-       " [0.08108629286289215, 0.7838429808616638, 0.6156420707702637],\n",
-       " [0.08114183694124222, -0.6202396154403687, -0.7802044153213501],\n",
-       " [0.08114183694124222, -0.6202396154403687, 0.7802044153213501],\n",
-       " [0.08114183694124222, 0.6202396154403687, -0.7802044153213501],\n",
-       " [0.08114183694124222, 0.6202396154403687, 0.7802044153213501],\n",
-       " [0.0822424665093422, -0.13307109475135803, -0.987688422203064],\n",
-       " [0.0822424665093422, -0.13307109475135803, 0.987688422203064],\n",
-       " [0.0822424665093422, 0.13307109475135803, -0.987688422203064],\n",
-       " [0.0822424665093422, 0.13307109475135803, 0.987688422203064],\n",
-       " [0.0823235809803009, -0.39960700273513794, -0.9129825234413147],\n",
-       " [0.0823235809803009, -0.39960700273513794, 0.9129825234413147],\n",
-       " [0.0823235809803009, 0.39960700273513794, -0.9129825234413147],\n",
-       " [0.0823235809803009, 0.39960700273513794, 0.9129825234413147],\n",
-       " [0.1312004029750824, -0.8649293184280396, -0.48444169759750366],\n",
-       " [0.1312004029750824, -0.8649293184280396, 0.48444169759750366],\n",
-       " [0.1312004029750824, 0.8649293184280396, -0.48444169759750366],\n",
-       " [0.1312004029750824, 0.8649293184280396, 0.48444169759750366],\n",
-       " [0.13165539503097534, -0.9243046045303345, -0.35822880268096924],\n",
-       " [0.13165539503097534, -0.9243046045303345, 0.35822880268096924],\n",
-       " [0.13165539503097534, 0.9243046045303345, -0.35822880268096924],\n",
-       " [0.13165539503097534, 0.9243046045303345, 0.35822880268096924],\n",
-       " [0.13279250264167786, -0.9663925766944885, -0.2201170027256012],\n",
-       " [0.13279250264167786, -0.9663925766944885, 0.2201170027256012],\n",
-       " [0.13279250264167786, 0.9663925766944885, -0.2201170027256012],\n",
-       " [0.13279250264167786, 0.9663925766944885, 0.2201170027256012],\n",
-       " [0.13307109475135803, -0.987688422203064, -0.0822424665093422],\n",
-       " [0.13307109475135803, -0.987688422203064, 0.0822424665093422],\n",
-       " [0.13307109475135803, 0.987688422203064, -0.0822424665093422],\n",
-       " [0.13307109475135803, 0.987688422203064, 0.0822424665093422],\n",
-       " [0.1379522979259491, 0.0, -0.9904388785362244],\n",
-       " [0.1379522979259491, 0.0, 0.9904388785362244],\n",
-       " [0.15643450617790222, -0.5192584991455078, -0.8401778936386108],\n",
-       " [0.15643450617790222, -0.5192584991455078, 0.8401778936386108],\n",
-       " [0.15643450617790222, 0.5192584991455078, -0.8401778936386108],\n",
-       " [0.15643450617790222, 0.5192584991455078, 0.8401778936386108],\n",
-       " [0.1606220006942749, -0.7020465135574341, -0.6937804818153381],\n",
-       " [0.1606220006942749, -0.7020465135574341, 0.6937804818153381],\n",
-       " [0.1606220006942749, 0.7020465135574341, -0.6937804818153381],\n",
-       " [0.1606220006942749, 0.7020465135574341, 0.6937804818153381],\n",
-       " [0.16245989501476288, -0.2628656029701233, -0.9510564804077148],\n",
-       " [0.16245989501476288, -0.2628656029701233, 0.9510564804077148],\n",
-       " [0.16245989501476288, 0.2628656029701233, -0.9510564804077148],\n",
-       " [0.16245989501476288, 0.2628656029701233, 0.9510564804077148],\n",
-       " [0.21302279829978943, -0.7926492094993591, -0.5712516903877258],\n",
-       " [0.21302279829978943, -0.7926492094993591, 0.5712516903877258],\n",
-       " [0.21302279829978943, 0.7926492094993591, -0.5712516903877258],\n",
-       " [0.21302279829978943, 0.7926492094993591, 0.5712516903877258],\n",
-       " [0.2201170027256012, -0.13279250264167786, -0.9663925766944885],\n",
-       " [0.2201170027256012, -0.13279250264167786, 0.9663925766944885],\n",
-       " [0.2201170027256012, 0.13279250264167786, -0.9663925766944885],\n",
-       " [0.2201170027256012, 0.13279250264167786, 0.9663925766944885],\n",
-       " [0.23708629608154297, -0.6068251132965088, -0.7586523294448853],\n",
-       " [0.23708629608154297, -0.6068251132965088, 0.7586523294448853],\n",
-       " [0.23708629608154297, 0.6068251132965088, -0.7586523294448853],\n",
-       " [0.23708629608154297, 0.6068251132965088, 0.7586523294448853],\n",
-       " [0.23867690563201904, -0.3861874043941498, -0.8910065293312073],\n",
-       " [0.23867690563201904, -0.3861874043941498, 0.8910065293312073],\n",
-       " [0.23867690563201904, 0.3861874043941498, -0.8910065293312073],\n",
-       " [0.23867690563201904, 0.3861874043941498, 0.8910065293312073],\n",
-       " [0.25989189743995667, -0.862668514251709, -0.43388861417770386],\n",
-       " [0.25989189743995667, -0.862668514251709, 0.43388861417770386],\n",
-       " [0.25989189743995667, 0.862668514251709, -0.43388861417770386],\n",
-       " [0.25989189743995667, 0.862668514251709, 0.43388861417770386],\n",
-       " [0.2628656029701233, -0.9510564804077148, -0.16245989501476288],\n",
-       " [0.2628656029701233, -0.9510564804077148, 0.16245989501476288],\n",
-       " [0.2628656029701233, 0.9510564804077148, -0.16245989501476288],\n",
-       " [0.2628656029701233, 0.9510564804077148, 0.16245989501476288],\n",
-       " [0.2640827000141144, -0.9162440896034241, -0.3012588918209076],\n",
-       " [0.2640827000141144, -0.9162440896034241, 0.3012588918209076],\n",
-       " [0.2640827000141144, 0.9162440896034241, -0.3012588918209076],\n",
-       " [0.2640827000141144, 0.9162440896034241, 0.3012588918209076],\n",
-       " [0.2664046883583069, -0.9638612270355225, 0.0],\n",
-       " [0.2664046883583069, 0.9638612270355225, 0.0],\n",
-       " [0.27326661348342896, 0.0, -0.9619383811950684],\n",
-       " [0.27326661348342896, 0.0, 0.9619383811950684],\n",
-       " [0.29600459337234497, -0.702309787273407, -0.6474118828773499],\n",
-       " [0.29600459337234497, -0.702309787273407, 0.6474118828773499],\n",
-       " [0.29600459337234497, 0.702309787273407, -0.6474118828773499],\n",
-       " [0.29600459337234497, 0.702309787273407, 0.6474118828773499],\n",
-       " [0.3012588918209076, -0.2640827000141144, -0.9162440896034241],\n",
-       " [0.3012588918209076, -0.2640827000141144, 0.9162440896034241],\n",
-       " [0.3012588918209076, 0.2640827000141144, -0.9162440896034241],\n",
-       " [0.3012588918209076, 0.2640827000141144, 0.9162440896034241],\n",
-       " [0.30901700258255005, -0.5, -0.80901700258255],\n",
-       " [0.30901700258255005, -0.5, 0.80901700258255],\n",
-       " [0.30901700258255005, 0.5, -0.80901700258255],\n",
-       " [0.30901700258255005, 0.5, 0.80901700258255],\n",
-       " [0.34615299105644226, -0.7834516763687134, -0.5161216259002686],\n",
-       " [0.34615299105644226, -0.7834516763687134, 0.5161216259002686],\n",
-       " [0.34615299105644226, 0.7834516763687134, -0.5161216259002686],\n",
-       " [0.34615299105644226, 0.7834516763687134, 0.5161216259002686],\n",
-       " [0.35822880268096924, -0.13165539503097534, -0.9243046045303345],\n",
-       " [0.35822880268096924, -0.13165539503097534, 0.9243046045303345],\n",
-       " [0.35822880268096924, 0.13165539503097534, -0.9243046045303345],\n",
-       " [0.35822880268096924, 0.13165539503097534, 0.9243046045303345],\n",
-       " [0.3717480003833771, -0.601500928401947, -0.7071068286895752],\n",
-       " [0.3717480003833771, -0.601500928401947, 0.7071068286895752],\n",
-       " [0.3717480003833771, 0.601500928401947, -0.7071068286895752],\n",
-       " [0.3717480003833771, 0.601500928401947, 0.7071068286895752],\n",
-       " [0.37503859400749207, -0.3836137056350708, -0.8439115285873413],\n",
-       " [0.37503859400749207, -0.3836137056350708, 0.8439115285873413],\n",
-       " [0.37503859400749207, 0.3836137056350708, -0.8439115285873413],\n",
-       " [0.37503859400749207, 0.3836137056350708, 0.8439115285873413],\n",
-       " [0.3836137056350708, -0.8439115285873413, -0.37503859400749207],\n",
-       " [0.3836137056350708, -0.8439115285873413, 0.37503859400749207],\n",
-       " [0.3836137056350708, 0.8439115285873413, -0.37503859400749207],\n",
-       " [0.3836137056350708, 0.8439115285873413, 0.37503859400749207],\n",
-       " [0.3861874043941498, -0.891006588935852, -0.23867690563201904],\n",
-       " [0.3861874043941498, -0.891006588935852, 0.23867690563201904],\n",
-       " [0.3861874043941498, 0.891006588935852, -0.23867690563201904],\n",
-       " [0.3861874043941498, 0.891006588935852, 0.23867690563201904],\n",
-       " [0.39960700273513794, -0.9129825234413147, -0.0823235809803009],\n",
-       " [0.39960700273513794, -0.9129825234413147, 0.0823235809803009],\n",
-       " [0.39960700273513794, 0.9129825234413147, -0.0823235809803009],\n",
-       " [0.39960700273513794, 0.9129825234413147, 0.0823235809803009],\n",
-       " [0.4033553898334503, 0.0, -0.9150434136390686],\n",
-       " [0.4033553898334503, 0.0, 0.9150434136390686],\n",
-       " [0.4253253936767578, -0.6881908774375916, -0.5877853035926819],\n",
-       " [0.4253253936767578, -0.6881908774375916, 0.5877853035926819],\n",
-       " [0.4253253936767578, 0.6881908774375916, -0.5877853035926819],\n",
-       " [0.4253253936767578, 0.6881908774375916, 0.5877853035926819],\n",
-       " [0.43388861417770386, -0.25989189743995667, -0.862668514251709],\n",
-       " [0.43388861417770386, -0.25989189743995667, 0.862668514251709],\n",
-       " [0.43388861417770386, 0.25989189743995667, -0.862668514251709],\n",
-       " [0.43388861417770386, 0.25989189743995667, 0.862668514251709],\n",
-       " [0.45399048924446106, -0.46842989325523376, -0.7579354047775269],\n",
-       " [0.45399048924446106, -0.46842989325523376, 0.7579354047775269],\n",
-       " [0.45399048924446106, 0.46842989325523376, -0.7579354047775269],\n",
-       " [0.45399048924446106, 0.46842989325523376, 0.7579354047775269],\n",
-       " [0.46842989325523376, -0.7579354047775269, -0.45399048924446106],\n",
-       " [0.46842989325523376, -0.7579354047775269, 0.45399048924446106],\n",
-       " [0.46842989325523376, 0.7579354047775269, -0.45399048924446106],\n",
-       " [0.46842989325523376, 0.7579354047775269, 0.45399048924446106],\n",
-       " [0.48444169759750366, -0.1312004029750824, -0.8649293184280396],\n",
-       " [0.48444169759750366, -0.1312004029750824, 0.8649293184280396],\n",
-       " [0.48444169759750366, 0.1312004029750824, -0.8649293184280396],\n",
-       " [0.48444169759750366, 0.1312004029750824, 0.8649293184280396],\n",
-       " [0.5, -0.80901700258255, -0.30901700258255005],\n",
-       " [0.5, -0.80901700258255, 0.30901700258255005],\n",
-       " [0.5, 0.80901700258255, -0.30901700258255005],\n",
-       " [0.5, 0.80901700258255, 0.30901700258255005],\n",
-       " [0.5133755207061768, -0.5642542243003845, -0.646577775478363],\n",
-       " [0.5133755207061768, -0.5642542243003845, 0.646577775478363],\n",
-       " [0.5133755207061768, 0.5642542243003845, -0.646577775478363],\n",
-       " [0.5133755207061768, 0.5642542243003845, 0.646577775478363],\n",
-       " [0.5161216259002686, -0.34615299105644226, -0.7834516763687134],\n",
-       " [0.5161216259002686, -0.34615299105644226, 0.7834516763687134],\n",
-       " [0.5161216259002686, 0.34615299105644226, -0.7834516763687134],\n",
-       " [0.5161216259002686, 0.34615299105644226, 0.7834516763687134],\n",
-       " [0.5192584991455078, -0.8401778936386108, -0.15643450617790222],\n",
-       " [0.5192584991455078, -0.8401778936386108, 0.15643450617790222],\n",
-       " [0.5192584991455078, 0.8401778936386108, -0.15643450617790222],\n",
-       " [0.5192584991455078, 0.8401778936386108, 0.15643450617790222],\n",
-       " [0.525731086730957, -0.8506507873535156, 0.0],\n",
-       " [0.525731086730957, 0.0, -0.8506507873535156],\n",
-       " [0.525731086730957, 0.0, 0.8506507873535156],\n",
-       " [0.525731086730957, 0.8506507873535156, 0.0],\n",
-       " [0.5642542243003845, -0.646577775478363, -0.5133755207061768],\n",
-       " [0.5642542243003845, -0.646577775478363, 0.5133755207061768],\n",
-       " [0.5642542243003845, 0.646577775478363, -0.5133755207061768],\n",
-       " [0.5642542243003845, 0.646577775478363, 0.5133755207061768],\n",
-       " [0.5712516903877258, -0.21302279829978943, -0.7926492094993591],\n",
-       " [0.5712516903877258, -0.21302279829978943, 0.7926492094993591],\n",
-       " [0.5712516903877258, 0.21302279829978943, -0.7926492094993591],\n",
-       " [0.5712516903877258, 0.21302279829978943, 0.7926492094993591],\n",
-       " [0.5877853035926819, -0.4253253936767578, -0.6881908774375916],\n",
-       " [0.5877853035926819, -0.4253253936767578, 0.6881908774375916],\n",
-       " [0.5877853035926819, 0.4253253936767578, -0.6881908774375916],\n",
-       " [0.5877853035926819, 0.4253253936767578, 0.6881908774375916],\n",
-       " [0.601500928401947, -0.7071068286895752, -0.3717480003833771],\n",
-       " [0.601500928401947, -0.7071068286895752, 0.3717480003833771],\n",
-       " [0.601500928401947, 0.7071068286895752, -0.3717480003833771],\n",
-       " [0.601500928401947, 0.7071068286895752, 0.3717480003833771],\n",
-       " [0.6068251132965088, -0.7586523294448853, -0.23708629608154297],\n",
-       " [0.6068251132965088, -0.7586523294448853, 0.23708629608154297],\n",
-       " [0.6068251132965088, 0.7586523294448853, -0.23708629608154297],\n",
-       " [0.6068251132965088, 0.7586523294448853, 0.23708629608154297],\n",
-       " [0.6156420707702637, -0.08108629286289215, -0.7838429808616638],\n",
-       " [0.6156420707702637, -0.08108629286289215, 0.7838429808616638],\n",
-       " [0.6156420707702637, 0.08108629286289215, -0.7838429808616638],\n",
-       " [0.6156420707702637, 0.08108629286289215, 0.7838429808616638],\n",
-       " [0.6202396154403687, -0.7802044153213501, -0.08114183694124222],\n",
-       " [0.6202396154403687, -0.7802044153213501, 0.08114183694124222],\n",
-       " [0.6202396154403687, 0.7802044153213501, -0.08114183694124222],\n",
-       " [0.6202396154403687, 0.7802044153213501, 0.08114183694124222],\n",
-       " [0.646577775478363, -0.5133755207061768, -0.5642542243003845],\n",
-       " [0.646577775478363, -0.5133755207061768, 0.5642542243003845],\n",
-       " [0.646577775478363, 0.5133755207061768, -0.5642542243003845],\n",
-       " [0.646577775478363, 0.5133755207061768, 0.5642542243003845],\n",
-       " [0.6474118828773499, -0.29600459337234497, -0.702309787273407],\n",
-       " [0.6474118828773499, -0.29600459337234497, 0.702309787273407],\n",
-       " [0.6474118828773499, 0.29600459337234497, -0.702309787273407],\n",
-       " [0.6474118828773499, 0.29600459337234497, 0.702309787273407],\n",
-       " [0.6881908774375916, -0.5877853035926819, -0.4253253936767578],\n",
-       " [0.6881908774375916, -0.5877853035926819, 0.4253253936767578],\n",
-       " [0.6881908774375916, 0.5877853035926819, -0.4253253936767578],\n",
-       " [0.6881908774375916, 0.5877853035926819, 0.4253253936767578],\n",
-       " [0.6937804818153381, -0.1606220006942749, -0.7020465135574341],\n",
-       " [0.6937804818153381, -0.1606220006942749, 0.7020465135574341],\n",
-       " [0.6937804818153381, 0.1606220006942749, -0.7020465135574341],\n",
-       " [0.6937804818153381, 0.1606220006942749, 0.7020465135574341],\n",
-       " [0.7020465135574341, -0.6937804818153381, -0.1606220006942749],\n",
-       " [0.7020465135574341, -0.6937804818153381, 0.1606220006942749],\n",
-       " [0.7020465135574341, 0.6937804818153381, -0.1606220006942749],\n",
-       " [0.7020465135574341, 0.6937804818153381, 0.1606220006942749],\n",
-       " [0.702309787273407, -0.6474118828773499, -0.29600459337234497],\n",
-       " [0.702309787273407, -0.6474118828773499, 0.29600459337234497],\n",
-       " [0.702309787273407, 0.6474118828773499, -0.29600459337234497],\n",
-       " [0.702309787273407, 0.6474118828773499, 0.29600459337234497],\n",
-       " [0.7029070258140564, 0.0, -0.7112817168235779],\n",
-       " [0.7029070258140564, 0.0, 0.7112817168235779],\n",
-       " [0.7071068286895752, -0.3717480003833771, -0.601500928401947],\n",
-       " [0.7071068286895752, -0.3717480003833771, 0.601500928401947],\n",
-       " [0.7071068286895752, 0.3717480003833771, -0.601500928401947],\n",
-       " [0.7071068286895752, 0.3717480003833771, 0.601500928401947],\n",
-       " [0.7112817168235779, -0.7029070258140564, 0.0],\n",
-       " [0.7112817168235779, 0.7029070258140564, 0.0],\n",
-       " [0.7579354047775269, -0.45399048924446106, -0.46842989325523376],\n",
-       " [0.7579354047775269, -0.45399048924446106, 0.46842989325523376],\n",
-       " [0.7579354047775269, 0.45399048924446106, -0.46842989325523376],\n",
-       " [0.7579354047775269, 0.45399048924446106, 0.46842989325523376],\n",
-       " [0.7586523294448853, -0.23708629608154297, -0.6068251132965088],\n",
-       " [0.7586523294448853, -0.23708629608154297, 0.6068251132965088],\n",
-       " [0.7586523294448853, 0.23708629608154297, -0.6068251132965088],\n",
-       " [0.7586523294448853, 0.23708629608154297, 0.6068251132965088],\n",
-       " [0.7802044153213501, -0.08114183694124222, -0.6202396154403687],\n",
-       " [0.7802044153213501, -0.08114183694124222, 0.6202396154403687],\n",
-       " [0.7802044153213501, 0.08114183694124222, -0.6202396154403687],\n",
-       " [0.7802044153213501, 0.08114183694124222, 0.6202396154403687],\n",
-       " [0.7834516763687134, -0.5161216259002686, -0.34615299105644226],\n",
-       " [0.7834516763687134, -0.5161216259002686, 0.34615299105644226],\n",
-       " [0.7834516763687134, 0.5161216259002686, -0.34615299105644226],\n",
-       " [0.7834516763687134, 0.5161216259002686, 0.34615299105644226],\n",
-       " [0.7838429808616638, -0.6156420707702637, -0.08108629286289215],\n",
-       " [0.7838429808616638, -0.6156420707702637, 0.08108629286289215],\n",
-       " [0.7838429808616638, 0.6156420707702637, -0.08108629286289215],\n",
-       " [0.7838429808616638, 0.6156420707702637, 0.08108629286289215],\n",
-       " [0.7926493287086487, -0.5712516903877258, -0.21302290260791779],\n",
-       " [0.7926493287086487, -0.5712516903877258, 0.21302290260791779],\n",
-       " [0.7926493287086487, 0.5712516903877258, -0.21302290260791779],\n",
-       " [0.7926493287086487, 0.5712516903877258, 0.21302290260791779],\n",
-       " [0.80901700258255, -0.30901700258255005, -0.5],\n",
-       " [0.80901700258255, -0.30901700258255005, 0.5],\n",
-       " [0.80901700258255, 0.30901700258255005, -0.5],\n",
-       " [0.80901700258255, 0.30901700258255005, 0.5],\n",
-       " [0.8401778936386108, -0.15643450617790222, -0.5192584991455078],\n",
-       " [0.8401778936386108, -0.15643450617790222, 0.5192584991455078],\n",
-       " [0.8401778936386108, 0.15643450617790222, -0.5192584991455078],\n",
-       " [0.8401778936386108, 0.15643450617790222, 0.5192584991455078],\n",
-       " [0.8439115285873413, -0.37503859400749207, -0.3836137056350708],\n",
-       " [0.8439115285873413, -0.37503859400749207, 0.3836137056350708],\n",
-       " [0.8439115285873413, 0.37503859400749207, -0.3836137056350708],\n",
-       " [0.8439115285873413, 0.37503859400749207, 0.3836137056350708],\n",
-       " [0.8506507873535156, -0.525731086730957, 0.0],\n",
-       " [0.8506507873535156, 0.0, -0.525731086730957],\n",
-       " [0.8506507873535156, 0.0, 0.525731086730957],\n",
-       " [0.8506507873535156, 0.525731086730957, 0.0],\n",
-       " [0.862668514251709, -0.43388861417770386, -0.25989189743995667],\n",
-       " [0.862668514251709, -0.43388861417770386, 0.25989189743995667],\n",
-       " [0.862668514251709, 0.43388861417770386, -0.25989189743995667],\n",
-       " [0.862668514251709, 0.43388861417770386, 0.25989189743995667],\n",
-       " [0.8649293184280396, -0.48444169759750366, -0.1312004029750824],\n",
-       " [0.8649293184280396, -0.48444169759750366, 0.1312004029750824],\n",
-       " [0.8649293184280396, 0.48444169759750366, -0.1312004029750824],\n",
-       " [0.8649293184280396, 0.48444169759750366, 0.1312004029750824],\n",
-       " [0.8910065293312073, -0.23867690563201904, -0.3861874043941498],\n",
-       " [0.8910065293312073, -0.23867690563201904, 0.3861874043941498],\n",
-       " [0.8910065293312073, 0.23867690563201904, -0.3861874043941498],\n",
-       " [0.8910065293312073, 0.23867690563201904, 0.3861874043941498],\n",
-       " [0.9129825234413147, -0.0823235809803009, -0.39960700273513794],\n",
-       " [0.9129825234413147, -0.0823235809803009, 0.39960700273513794],\n",
-       " [0.9129825234413147, 0.0823235809803009, -0.39960700273513794],\n",
-       " [0.9129825234413147, 0.0823235809803009, 0.39960700273513794],\n",
-       " [0.9150434136390686, -0.4033553898334503, 0.0],\n",
-       " [0.9150434136390686, 0.4033553898334503, 0.0],\n",
-       " [0.9162440896034241, -0.3012588918209076, -0.2640827000141144],\n",
-       " [0.9162440896034241, -0.3012588918209076, 0.2640827000141144],\n",
-       " [0.9162440896034241, 0.3012588918209076, -0.2640827000141144],\n",
-       " [0.9162440896034241, 0.3012588918209076, 0.2640827000141144],\n",
-       " [0.9243046045303345, -0.35822880268096924, -0.13165539503097534],\n",
-       " [0.9243046045303345, -0.35822880268096924, 0.13165539503097534],\n",
-       " [0.9243046045303345, 0.35822880268096924, -0.13165539503097534],\n",
-       " [0.9243046045303345, 0.35822880268096924, 0.13165539503097534],\n",
-       " [0.9510564804077148, -0.16245989501476288, -0.2628656029701233],\n",
-       " [0.9510564804077148, -0.16245989501476288, 0.2628656029701233],\n",
-       " [0.9510564804077148, 0.16245989501476288, -0.2628656029701233],\n",
-       " [0.9510564804077148, 0.16245989501476288, 0.2628656029701233],\n",
-       " [0.9619383811950684, -0.27326661348342896, 0.0],\n",
-       " [0.9619383811950684, 0.27326661348342896, 0.0],\n",
-       " [0.9638612270355225, 0.0, -0.2664046883583069],\n",
-       " [0.9638612270355225, 0.0, 0.2664046883583069],\n",
-       " [0.9663925766944885, -0.2201170027256012, -0.13279250264167786],\n",
-       " [0.9663925766944885, -0.2201170027256012, 0.13279250264167786],\n",
-       " [0.9663925766944885, 0.2201170027256012, -0.13279250264167786],\n",
-       " [0.9663925766944885, 0.2201170027256012, 0.13279250264167786],\n",
-       " [0.987688422203064, -0.0822424665093422, -0.13307109475135803],\n",
-       " [0.987688422203064, -0.0822424665093422, 0.13307109475135803],\n",
-       " [0.987688422203064, 0.0822424665093422, -0.13307109475135803],\n",
-       " [0.987688422203064, 0.0822424665093422, 0.13307109475135803],\n",
-       " [0.9904388785362244, -0.1379522979259491, 0.0],\n",
-       " [0.9904388785362244, 0.1379522979259491, 0.0],\n",
-       " [1.0, 0.0, 0.0]]"
-      ]
-     },
-     "execution_count": 39,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "vertices"
-   ]
-  },
   {
    "cell_type": "code",
    "execution_count": 41,
@@ -5549,1026 +403,6 @@
     "scanvert=scanvert.tolist()"
    ]
   },
-  {
-   "cell_type": "code",
-   "execution_count": 44,
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "[[-54.4482536315918, 5.75036096572876, -69.07861328125],\n",
-       " [-54.44446563720703, 2.7506065368652344, -69.01692199707031],\n",
-       " [-54.43195343017578, 5.814332485198975, -66.07624053955078],\n",
-       " [-54.29474639892578, 2.8170125484466553, -66.0092544555664],\n",
-       " [-54.2918586730957, 2.6897177696228027, -72.0125961303711],\n",
-       " [-54.27552795410156, 5.880860805511475, -63.06830978393555],\n",
-       " [-54.22058868408203, 5.690842628479004, -72.0713119506836],\n",
-       " [-54.10734176635742, 2.884106397628784, -63.000099182128906],\n",
-       " [-54.09079360961914, 8.820382118225098, -66.12425231933594],\n",
-       " [-54.06641387939453, 5.94835090637207, -60.05828857421875],\n",
-       " [-54.01490020751953, 8.75809383392334, -69.12296295166016],\n",
-       " [-53.9650993347168, 8.88634967803955, -63.11753845214844],\n",
-       " [-53.95328903198242, -0.24025362730026245, -68.93589782714844],\n",
-       " [-53.913002014160156, -0.30319222807884216, -71.93602752685547],\n",
-       " [-53.88567352294922, 2.9518256187438965, -59.98957824707031],\n",
-       " [-53.79991912841797, 2.635021448135376, -74.99481201171875],\n",
-       " [-53.74113464355469, 8.69941520690918, -72.11383819580078],\n",
-       " [-53.73722839355469, -0.17263688147068024, -65.92560577392578],\n",
-       " [-53.731571197509766, 6.018135070800781, -57.04328155517578],\n",
-       " [-53.72065734863281, 5.636291980743408, -75.05321502685547],\n",
-       " [-53.68549728393555, 8.95512580871582, -60.10472106933594],\n",
-       " [-53.52619171142578, 3.022059440612793, -56.97359085083008],\n",
-       " [-53.4506950378418, -0.3584292232990265, -74.91941833496094],\n",
-       " [-53.445491790771484, -0.10363920032978058, -62.91230010986328],\n",
-       " [-53.381935119628906, 9.02433967590332, -57.09095764160156],\n",
-       " [-53.326332092285156, 11.83415699005127, -66.15547180175781],\n",
-       " [-53.306800842285156, 11.898186683654785, -63.152976989746094],\n",
-       " [-53.24464797973633, 6.090695381164551, -54.022239685058594],\n",
-       " [-53.2305908203125, 8.645058631896973, -75.09532165527344],\n",
-       " [-53.21394729614258, 2.5820412635803223, -77.97330474853516],\n",
-       " [-53.19304656982422, 20.25518798828125, 46.9542236328125],\n",
-       " [-53.1836051940918, 11.773088455200195, -69.15154266357422],\n",
-       " [-53.07543182373047, 11.966083526611328, -60.14207077026367],\n",
-       " [-53.07500076293945, 3.0939671993255615, -53.9539680480957],\n",
-       " [-53.05699920654297, 5.584729194641113, -78.02862548828125],\n",
-       " [-53.01825714111328, 29.25798225402832, 46.94746017456055],\n",
-       " [-53.01509475708008, -0.03211100026965141, -59.89350509643555],\n",
-       " [-53.00236129760742, 23.25853157043457, 46.95206832885742],\n",
-       " [-53.001670837402344, -3.2227113246917725, -68.83660888671875],\n",
-       " [-52.9634895324707, 9.095649719238281, -54.0726318359375],\n",
-       " [-52.9300422668457, -3.2850778102874756, -71.83550262451172],\n",
-       " [-52.88916778564453, 11.714787483215332, -72.14159393310547],\n",
-       " [-52.86407470703125, 17.261308670043945, 46.956764221191406],\n",
-       " [-52.819183349609375, 12.034433364868164, -57.13017654418945],\n",
-       " [-52.81550979614258, 26.261804580688477, 46.94990921020508],\n",
-       " [-52.784053802490234, -0.4099372923374176, -77.89471435546875],\n",
-       " [-52.73548889160156, -3.154179811477661, -65.82432556152344],\n",
-       " [-52.717437744140625, 32.26333236694336, 46.94538879394531],\n",
-       " [-52.71242141723633, 6.164081573486328, -50.99940490722656],\n",
-       " [-52.697242736816406, 26.200862884521484, 44.687225341796875],\n",
-       " [-52.6891975402832, 35.26371383666992, 46.943111419677734],\n",
-       " [-52.64896774291992, 0.03824430704116821, -56.87725830078125],\n",
-       " [-52.58113098144531, 3.166653633117676, -50.932655334472656],\n",
-       " [-52.52820587158203, 23.20412254333496, 44.755470275878906],\n",
-       " [-52.51273727416992, -3.3411359786987305, -74.82067108154297],\n",
-       " [-52.50407028198242, 9.167707443237305, -51.05268478393555],\n",
-       " [-52.49769592285156, 12.103974342346191, -54.115699768066406],\n",
-       " [-52.49486541748047, 8.59481143951416, -78.06787109375],\n",
-       " [-52.45930480957031, 14.268814086914062, 46.95936584472656],\n",
-       " [-52.41405487060547, -3.0846400260925293, -62.809852600097656],\n",
-       " [-52.40996551513672, 20.206457138061523, 44.82170486450195],\n",
-       " [-52.399925231933594, 29.206111907958984, 44.637474060058594],\n",
-       " [-52.39602279663086, 2.5332939624786377, -80.94258880615234],\n",
-       " [-52.37312698364258, 17.207305908203125, 44.884708404541016],\n",
-       " [-52.35052490234375, 0.10736441612243652, -53.86369323730469],\n",
-       " [-52.32448196411133, 11.661418914794922, -75.12092590332031],\n",
-       " [-52.236270904541016, 5.5360331535339355, -80.99779510498047],\n",
-       " [-52.175106048583984, 12.173535346984863, -51.10118103027344],\n",
-       " [-52.17043685913086, 6.237646102905273, -47.9761848449707],\n",
-       " [-52.16348648071289, 14.918874740600586, -63.16917419433594],\n",
-       " [-52.14675521850586, 23.147409439086914, 41.76887512207031],\n",
-       " [-52.12532043457031, 9.238292694091797, -48.03593444824219],\n",
-       " [-52.123146057128906, 20.14801788330078, 41.83135223388672],\n",
-       " [-52.088443756103516, 14.856571197509766, -66.16792297363281],\n",
-       " [-52.07206726074219, 26.148597717285156, 41.71029281616211],\n",
-       " [-52.048851013183594, 38.27525329589844, 46.941287994384766],\n",
-       " [-52.04338455200195, 17.149648666381836, 41.896060943603516],\n",
-       " [-52.04193878173828, 32.21247100830078, 44.59012985229492],\n",
-       " [-52.03402328491211, 3.240311861038208, -47.90922927856445],\n",
-       " [-52.01724624633789, 14.985218048095703, -60.161643981933594],\n",
-       " [-51.994667053222656, -0.4592053294181824, -80.86512756347656],\n",
-       " [-51.974082946777344, 14.214764595031738, 44.96207809448242],\n",
-       " [-51.96499252319336, 35.21369552612305, 44.531639099121094],\n",
-       " [-51.95830154418945, 0.17819596827030182, -50.84640884399414],\n",
-       " [-51.95713424682617, -3.0126280784606934, -59.79000473022461],\n",
-       " [-51.94721221923828, 11.278274536132812, 46.96204376220703],\n",
-       " [-51.91352081298828, 14.796089172363281, -69.16271209716797],\n",
-       " [-51.872310638427734, 29.152067184448242, 41.656673431396484],\n",
-       " [-51.840911865234375, -3.392549753189087, -77.79576110839844],\n",
-       " [-51.82136535644531, 15.05246639251709, -57.15214538574219],\n",
-       " [-51.74647903442383, 12.245030403137207, -48.08245086669922],\n",
-       " [-51.743717193603516, 23.091093063354492, 38.78313064575195],\n",
-       " [-51.703460693359375, 9.30966567993164, -45.017478942871094],\n",
-       " [-51.694454193115234, 26.091814041137695, 38.723541259765625],\n",
-       " [-51.69047546386719, 20.092239379882812, 38.84678268432617],\n",
-       " [-51.6883659362793, 14.156304359436035, 41.9716796875],\n",
-       " [-51.688209533691406, 6.310120105743408, -44.95532989501953],\n",
-       " [-51.66841506958008, 15.118931770324707, -54.14435577392578],\n",
-       " [-51.651981353759766, 3.310957670211792, -44.89234924316406],\n",
-       " [-51.6467170715332, 8.283879280090332, 46.96456527709961],\n",
-       " [-51.583580017089844, 11.222066879272461, 45.03910827636719],\n",
-       " [-51.56968688964844, 38.22073745727539, 44.485774993896484],\n",
-       " [-51.562774658203125, -2.9417572021484375, -56.77263641357422],\n",
-       " [-51.552310943603516, 14.739006996154785, -72.15011596679688],\n",
-       " [-51.54350662231445, 11.6119966506958, -78.09168243408203],\n",
-       " [-51.518089294433594, 8.548962593078613, -81.03085327148438],\n",
-       " [-51.51644515991211, -6.195430755615234, -68.7161636352539],\n",
-       " [-51.46161651611328, 41.28582000732422, 46.93942642211914],\n",
-       " [-51.45625305175781, 17.096691131591797, 38.9176139831543],\n",
-       " [-51.44817352294922, 29.096132278442383, 38.67176818847656],\n",
-       " [-51.44582748413086, 0.2512219548225403, -47.82435607910156],\n",
-       " [-51.439910888671875, 15.186775207519531, -51.13356399536133],\n",
-       " [-51.417076110839844, -6.257291316986084, -71.71395111083984],\n",
-       " [-51.387699127197266, 26.03373908996582, 35.733978271484375],\n",
-       " [-51.38467788696289, 2.4880764484405518, -83.90420532226562],\n",
-       " [-51.382728576660156, 12.315342903137207, -45.06629943847656],\n",
-       " [-51.378482818603516, 23.034082412719727, 35.7958869934082],\n",
-       " [-51.36457824707031, -2.87446665763855, -53.7630500793457],\n",
-       " [-51.35883331298828, 32.16126251220703, 41.61549377441406],\n",
-       " [-51.31378936767578, 6.380626678466797, -41.938751220703125],\n",
-       " [-51.288612365722656, -6.127599239349365, -65.70539855957031],\n",
-       " [-51.278228759765625, 11.163965225219727, 42.04949188232422],\n",
-       " [-51.25093460083008, 29.03605842590332, 35.677860260009766],\n",
-       " [-51.226356506347656, 9.38204574584961, -41.996826171875],\n",
-       " [-51.22146224975586, 3.3824877738952637, -41.8735466003418],\n",
-       " [-51.195777893066406, 5.491347789764404, -83.95825958251953],\n",
-       " [-51.19170379638672, 20.037668228149414, 35.86484146118164],\n",
-       " [-51.172725677490234, -2.8072917461395264, -50.75371170043945],\n",
-       " [-51.1334228515625, 15.256041526794434, -48.11968231201172],\n",
-       " [-51.12718963623047, 35.16530990600586, 41.56313705444336],\n",
-       " [-51.1148681640625, 5.293698787689209, 46.96725845336914],\n",
-       " [-51.102081298828125, 0.3211688697338104, -44.808998107910156],\n",
-       " [-51.05415725708008, -6.314342021942139, -74.7012939453125],\n",
-       " [-51.04734420776367, 25.976276397705078, 32.745750427246094],\n",
-       " [-51.041114807128906, 14.104442596435547, 38.99562454223633],\n",
-       " [-51.02953338623047, 22.976778030395508, 32.80800247192383],\n",
-       " [-51.022430419921875, -6.059067726135254, -62.693119049072266],\n",
-       " [-50.998653411865234, 38.16748046875, 41.506690979003906],\n",
-       " [-50.99591064453125, -3.440802574157715, -80.76397705078125],\n",
-       " [-50.988441467285156, -0.5045163035392761, -83.82695007324219],\n",
-       " [-50.94781494140625, 3.89687180519104, -17.848873138427734],\n",
-       " [-50.94337463378906, 8.233926773071289, 45.126041412353516],\n",
-       " [-50.93230056762695, 41.23219299316406, 44.44950866699219],\n",
-       " [-50.9285888671875, 3.9608964920043945, -14.846382141113281],\n",
-       " [-50.92853927612305, 14.686717987060547, -75.12710571289062],\n",
-       " [-50.91741180419922, 3.4517102241516113, -38.85976028442383],\n",
-       " [-50.90683364868164, 0.8977960348129272, -17.78570556640625],\n",
-       " [-50.89327621459961, 17.043291091918945, 35.93821716308594],\n",
-       " [-50.88302993774414, 6.4521613121032715, -38.91994094848633],\n",
-       " [-50.88233184814453, 12.388148307800293, -42.04472351074219],\n",
-       " [-50.86534881591797, 0.9622268676757812, -14.782331466674805],\n",
-       " [-50.83367919921875, 6.898778915405273, -17.9058895111084],\n",
-       " [-50.825164794921875, 0.3898961544036865, -41.796287536621094],\n",
-       " [-50.81884002685547, 32.10744094848633, 38.63518524169922],\n",
-       " [-50.77228546142578, 28.98111915588379, 32.69511795043945],\n",
-       " [-50.76298522949219, 6.963742733001709, -14.901357650756836],\n",
-       " [-50.759979248046875, 15.326531410217285, -45.103145599365234],\n",
-       " [-50.75635528564453, -2.7360196113586426, -47.735469818115234],\n",
-       " [-50.7468376159668, 19.982112884521484, 32.88075256347656],\n",
-       " [-50.73748779296875, 17.944721221923828, -63.17416000366211],\n",
-       " [-50.730655670166016, 9.454766273498535, -38.975440979003906],\n",
-       " [-50.72258758544922, 18.008668899536133, -60.171844482421875],\n",
-       " [-50.717506408691406, 18.072433471679688, -57.16991424560547],\n",
-       " [-50.71640396118164, 11.110544204711914, 39.070045471191406],\n",
-       " [-50.7033805847168, 3.8376591205596924, -20.840906143188477],\n",
-       " [-50.685020446777344, 0.8381701111793518, -20.778635025024414],\n",
-       " [-50.681671142578125, -5.989175319671631, -59.67787551879883],\n",
-       " [-50.64573669433594, 17.88272476196289, -66.17224884033203],\n",
-       " [-50.64569854736328, 4.029732704162598, -11.83343505859375],\n",
-       " [-50.63351058959961, 6.838757514953613, -20.89967918395996],\n",
-       " [-50.62126159667969, 18.13786506652832, -54.16436767578125],\n",
-       " [-50.61564254760742, 8.176233291625977, 42.13731002807617],\n",
-       " [-50.61376953125, -2.0966796875, -17.71253776550293],\n",
-       " [-50.610565185546875, 0.45748624205589294, -38.786048889160156],\n",
-       " [-50.586978912353516, 11.565778732299805, -81.05546569824219],\n",
-       " [-50.584781646728516, -2.0324769020080566, -14.709661483764648],\n",
-       " [-50.56934356689453, 1.0313024520874023, -11.768864631652832],\n",
-       " [-50.52908706665039, 3.522470712661743, -35.84263229370117],\n",
-       " [-50.52496337890625, 2.3045759201049805, 46.969993591308594],\n",
-       " [-50.52493667602539, 9.967910766601562, -14.953458786010742],\n",
-       " [-50.496421813964844, 9.904757499694824, -17.954057693481445],\n",
-       " [-50.49527359008789, 7.032301425933838, -11.889012336730957],\n",
-       " [-50.48637771606445, 8.504117965698242, -83.99166870117188],\n",
-       " [-50.47933578491211, 38.113285064697266, 38.52556228637695],\n",
-       " [-50.47825622558594, 14.051040649414062, 36.01622009277344],\n",
-       " [-50.46791076660156, -2.667081832885742, -44.72230529785156],\n",
-       " [-50.4661750793457, 17.82232666015625, -69.16685485839844],\n",
-       " [-50.4605712890625, 18.204471588134766, -51.15626525878906],\n",
-       " [-50.45708084106445, -2.157494068145752, -20.708051681518555],\n",
-       " [-50.43400192260742, 3.7789008617401123, -23.831951141357422],\n",
-       " [-50.41188049316406, 41.17801284790039, 41.468421936035156],\n",
-       " [-50.41053771972656, 16.988426208496094, 32.95563507080078],\n",
-       " [-50.39553451538086, 6.7794270515441895, -23.8919677734375],\n",
-       " [-50.390296936035156, 0.5251797437667847, -35.77558517456055],\n",
-       " [-50.369667053222656, 25.924970626831055, 29.77090072631836],\n",
-       " [-50.36309051513672, 12.461297988891602, -39.02240753173828],\n",
-       " [-50.36167907714844, 9.84354305267334, -20.950439453125],\n",
-       " [-50.35648727416992, 22.925386428833008, 29.832965850830078],\n",
-       " [-50.355186462402344, 6.525467872619629, -35.89727783203125],\n",
-       " [-50.35359191894531, -5.9195146560668945, -56.66313934326172],\n",
-       " [-50.352272033691406, -6.365207195281982, -77.67517852783203],\n",
-       " [-50.343414306640625, 5.245051383972168, 45.21137619018555],\n",
-       " [-50.333866119384766, 44.30624008178711, 46.93796920776367],\n",
-       " [-50.32722473144531, 0.7810258269309998, -23.76617431640625],\n",
-       " [-50.3252067565918, -2.600803852081299, -41.71491622924805],\n",
-       " [-50.29622268676758, -1.9635370969772339, -11.696490287780762],\n",
-       " [-50.28028106689453, 3.5906848907470703, -32.83103561401367],\n",
-       " [-50.275360107421875, 4.100164890289307, -8.817020416259766],\n",
-       " [-50.267555236816406, 35.11732482910156, 38.59550476074219],\n",
-       " [-50.261714935302734, 32.05393600463867, 35.655548095703125],\n",
-       " [-50.246131896972656, 10.03667163848877, -11.940673828125],\n",
-       " [-50.23401641845703, 9.782197952270508, -23.94710350036621],\n",
-       " [-50.22969055175781, 18.27235984802246, -48.145381927490234],\n",
-       " [-50.223724365234375, 15.399991035461426, -42.08014678955078],\n",
-       " [-50.203182220458984, -5.789422035217285, -50.653717041015625],\n",
-       " [-50.1942253112793, 12.910096168518066, -18.00361442565918],\n",
-       " [-50.192596435546875, 28.928024291992188, 29.716379165649414],\n",
-       " [-50.1707649230957, -5.852504253387451, -53.65415954589844],\n",
-       " [-50.1610107421875, 2.4467337131500244, -86.8573989868164],\n",
-       " [-50.14767837524414, 12.974618911743164, -15.000040054321289],\n",
-       " [-50.1375617980957, 7.102503299713135, -8.87309741973877],\n",
-       " [-50.135719299316406, 1.1028896570205688, -8.74993896484375],\n",
-       " [-50.133018493652344, -5.0877299308776855, -17.631929397583008],\n",
-       " [-50.123268127441406, 12.84771728515625, -21.002527236938477],\n",
-       " [-50.12228012084961, 0.5937446355819702, -32.76322937011719],\n",
-       " [-50.1162223815918, 14.63786792755127, -78.09661865234375],\n",
-       " [-50.10881423950195, 17.765174865722656, -72.15441131591797],\n",
-       " [-50.10610580444336, -5.023565292358398, -14.629135131835938],\n",
-       " [-50.097373962402344, -2.5329723358154297, -38.70415496826172],\n",
-       " [-50.07882308959961, 8.122356414794922, 39.15687561035156],\n",
-       " [-50.07865905761719, 6.721535682678223, -26.881128311157227],\n",
-       " [-50.077308654785156, 3.7217366695404053, -26.81953239440918],\n",
-       " [-50.06043243408203, 9.721692085266113, -26.94194793701172],\n",
-       " [-50.06019973754883, -2.2139248847961426, -23.694040298461914],\n",
-       " [-50.05906295776367, 6.594545841217041, -32.88380813598633],\n",
-       " [-50.049896240234375, 38.05744934082031, 35.54086685180664],\n",
-       " [-50.01824188232422, 3.6591410636901855, -29.81891632080078],\n",
-       " [-49.9987907409668, 19.932090759277344, 29.908695220947266],\n",
-       " [-49.99304962158203, 41.12198257446289, 38.483306884765625],\n",
-       " [-49.99250411987305, 9.53191089630127, -35.94443893432617],\n",
-       " [-49.984127044677734, 0.7236133217811584, -26.75429344177246],\n",
-       " [-49.9825325012207, -1.8941388130187988, -8.682321548461914],\n",
-       " [-49.97675323486328, -5.721616268157959, -47.643009185791016],\n",
-       " [-49.976715087890625, 10.105262756347656, -8.928261756896973],\n",
-       " [-49.97418212890625, 5.449966907501221, -86.91153717041016],\n",
-       " [-49.970726013183594, 12.786827087402344, -23.998205184936523],\n",
-       " [-49.970184326171875, 0.6601940393447876, -29.755468368530273],\n",
-       " [-49.96403121948242, -5.594036102294922, -41.6390495300293],\n",
-       " [-49.95815658569336, -4.957191467285156, -11.621539115905762],\n",
-       " [-49.95527267456055, 44.24984359741211, 44.42671585083008],\n",
-       " [-49.950992584228516, 6.660191535949707, -29.877792358398438],\n",
-       " [-49.9422607421875, 11.06099796295166, 36.09901809692383],\n",
-       " [-49.9421272277832, -3.485245704650879, -83.72391510009766],\n",
-       " [-49.940940856933594, 9.660199165344238, -29.938936233520508],\n",
-       " [-49.93687438964844, -5.147824287414551, -20.625877380371094],\n",
-       " [-49.93003463745117, 13.042264938354492, -11.989680290222168],\n",
-       " [-49.89738845825195, 5.189517021179199, 42.22734069824219],\n",
-       " [-49.89240264892578, 18.342187881469727, -45.13027572631836],\n",
-       " [-49.88563919067383, 12.661032676696777, -29.9982852935791],\n",
-       " [-49.872196197509766, 35.06086730957031, 35.60945510864258],\n",
-       " [-49.86848449707031, 12.725019454956055, -26.995878219604492],\n",
-       " [-49.85898971557617, -5.655793190002441, -44.6366081237793],\n",
-       " [-49.85851287841797, 15.852371215820312, -21.053569793701172],\n",
-       " [-49.85634994506836, 12.534218788146973, -36.000579833984375],\n",
-       " [-49.855098724365234, 15.470391273498535, -39.06380081176758],\n",
-       " [-49.84841537475586, -0.6829679012298584, 46.97279739379883],\n",
-       " [-49.83818817138672, 31.99799156188965, 32.67061996459961],\n",
-       " [-49.81820297241211, -2.4642038345336914, -35.69135284423828],\n",
-       " [-49.799537658691406, 4.172522068023682, -5.796421527862549],\n",
-       " [-49.787967681884766, 25.871912002563477, 26.7922420501709],\n",
-       " [-49.770809173583984, -0.5459692478179932, -86.78038787841797],\n",
-       " [-49.765804290771484, 15.53569507598877, -36.058528900146484],\n",
-       " [-49.75440216064453, 15.917946815490723, -18.047714233398438],\n",
-       " [-49.74906539916992, -5.526439666748047, -38.6287956237793],\n",
-       " [-49.74192428588867, 15.66347885131836, -30.054128646850586],\n",
-       " [-49.73289489746094, 7.173562049865723, -5.855321407318115],\n",
-       " [-49.726253509521484, 31.936357498168945, 29.67333221435547],\n",
-       " [-49.72096633911133, 15.600188255310059, -33.05502700805664],\n",
-       " [-49.717899322509766, 2.2566421031951904, 45.2977294921875],\n",
-       " [-49.71395492553711, 15.791337013244629, -24.049564361572266],\n",
-       " [-49.70827102661133, 9.600770950317383, -32.93143844604492],\n",
-       " [-49.69456100463867, 12.600845336914062, -32.992435455322266],\n",
-       " [-49.682891845703125, 14.00188159942627, 33.04603576660156],\n",
-       " [-49.675025939941406, -2.2705698013305664, -26.680490493774414],\n",
-       " [-49.65807342529297, 38.00092315673828, 32.5546760559082],\n",
-       " [-49.64404296875, -4.8877854347229, -8.607354164123535],\n",
-       " [-49.6418571472168, 22.874753952026367, 26.859580993652344],\n",
-       " [-49.62981414794922, -5.205894470214844, -23.615428924560547],\n",
-       " [-49.60303497314453, -2.3329296112060547, -29.679365158081055],\n",
-       " [-49.60231018066406, 15.984395980834961, -15.039953231811523],\n",
-       " [-49.600101470947266, 44.192649841308594, 41.43907165527344],\n",
-       " [-49.597145080566406, 1.176391839981079, -5.726851463317871],\n",
-       " [-49.574134826660156, -9.159808158874512, -68.57759094238281],\n",
-       " [-49.55683135986328, 13.112749099731445, -8.973151206970215],\n",
-       " [-49.54859924316406, -2.3956100940704346, -32.678932189941406],\n",
-       " [-49.544918060302734, 28.876171112060547, 26.740339279174805],\n",
-       " [-49.53721618652344, 11.521262168884277, -84.01556396484375],\n",
-       " [-49.52238845825195, 41.066898345947266, 35.500244140625],\n",
-       " [-49.455299377441406, 18.413837432861328, -42.11121368408203],\n",
-       " [-49.4541015625, 35.00482177734375, 32.62430953979492],\n",
-       " [-49.45112228393555, -9.093890190124512, -65.57098388671875],\n",
-       " [-49.44520950317383, 16.050935745239258, -12.03199577331543],\n",
-       " [-49.43735122680664, 10.178779602050781, -5.905142307281494],\n",
-       " [-49.41083908081055, 16.942996978759766, 29.993555068969727],\n",
-       " [-49.39561080932617, -1.8197540044784546, -5.657316207885742],\n",
-       " [-49.387046813964844, 17.714672088623047, -75.12751007080078],\n",
-       " [-49.3852424621582, 21.03289794921875, -60.18034362792969],\n",
-       " [-49.377140045166016, 15.733809471130371, -27.037933349609375],\n",
-       " [-49.36061477661133, -9.219586372375488, -71.57084655761719],\n",
-       " [-49.34949493408203, 21.097225189208984, -57.17720031738281],\n",
-       " [-49.342185974121094, 18.606922149658203, -33.10154724121094],\n",
-       " [-49.3270263671875, 18.54352569580078, -36.1026725769043],\n",
-       " [-49.32461929321289, -8.009127616882324, -14.536598205566406],\n",
-       " [-49.31388473510742, 31.880210876464844, 26.687959671020508],\n",
-       " [-49.299766540527344, -6.40967321395874, -80.63516235351562],\n",
-       " [-49.295684814453125, 5.136823654174805, 39.24947738647461],\n",
-       " [-49.29541015625, 8.072978973388672, 36.18621826171875],\n",
-       " [-49.29054260253906, 4.245484828948975, -2.7745068073272705],\n",
-       " [-49.28422927856445, 20.971067428588867, -63.178062438964844],\n",
-       " [-49.280826568603516, 18.480695724487305, -39.102569580078125],\n",
-       " [-49.272865295410156, -9.026963233947754, -62.56218719482422],\n",
-       " [-49.2620735168457, -8.071660041809082, -17.535844802856445],\n",
-       " [-49.24686050415039, 18.672338485717773, -30.096036911010742],\n",
-       " [-49.24309539794922, 2.2016334533691406, 42.31483459472656],\n",
-       " [-49.240516662597656, 8.463179588317871, -86.94398498535156],\n",
-       " [-49.23950958251953, 21.226577758789062, -51.16938018798828],\n",
-       " [-49.239471435546875, 21.162904739379883, -54.17110824584961],\n",
-       " [-49.231422424316406, -7.943753242492676, -11.531173706054688],\n",
-       " [-49.2133903503418, 13.182690620422363, -5.957802772521973],\n",
-       " [-49.20594787597656, 18.864105224609375, -21.089231491088867],\n",
-       " [-49.20505905151367, 7.24686861038208, -2.8326594829559326],\n",
-       " [-49.18195343017578, 14.591243743896484, -81.06128692626953],\n",
-       " [-49.167598724365234, 21.29156494140625, -48.16480255126953],\n",
-       " [-49.16559982299805, 18.801166534423828, -24.089359283447266],\n",
-       " [-49.153038024902344, 44.13713455200195, 38.455078125],\n",
-       " [-49.11769104003906, -5.451243877410889, -35.602027893066406],\n",
-       " [-49.109169006347656, 34.947444915771484, 29.636262893676758],\n",
-       " [-49.104488372802734, -8.960216522216797, -59.55378341674805],\n",
-       " [-49.102943420410156, -8.132429122924805, -20.531261444091797],\n",
-       " [-49.10160446166992, -8.514447212219238, -38.54157257080078],\n",
-       " [-49.09846878051758, 28.82064437866211, 23.756317138671875],\n",
-       " [-49.097721099853516, 20.910797119140625, -66.17239379882812],\n",
-       " [-49.09274673461914, 10.248741149902344, -2.8897478580474854],\n",
-       " [-49.08802795410156, 25.821012496948242, 23.818275451660156],\n",
-       " [-49.082576751708984, -3.6687707901000977, 46.97566223144531],\n",
-       " [-49.0818977355957, 18.930042266845703, -18.082584381103516],\n",
-       " [-49.07748031616211, -8.577681541442871, -41.54234313964844],\n",
-       " [-49.0755500793457, 11.013140678405762, 33.13166427612305],\n",
-       " [-49.0739631652832, 16.12138557434082, -9.015543937683105],\n",
-       " [-49.072113037109375, 1.2496471405029297, -2.704301357269287],\n",
-       " [-49.04738235473633, -5.258939266204834, -26.59405517578125],\n",
-       " [-49.03434753417969, 41.01213073730469, 32.51787185668945],\n",
-       " [-49.02421188354492, 18.740074157714844, -27.085479736328125],\n",
-       " [-48.97123336791992, -8.894110679626465, -56.54677200317383],\n",
-       " [-48.9630012512207, -0.7294051051139832, 45.38920974731445],\n",
-       " [-48.95473861694336, -5.384596347808838, -32.59383773803711],\n",
-       " [-48.9531135559082, 19.88749885559082, 26.94843864440918],\n",
-       " [-48.943931579589844, 37.95028305053711, 29.581274032592773],\n",
-       " [-48.91470718383789, -9.27512264251709, -74.55489349365234],\n",
-       " [-48.90949630737305, 18.996862411499023, -15.074019432067871],\n",
-       " [-48.89095687866211, -4.810368537902832, -5.575758934020996],\n",
-       " [-48.890682220458984, 21.360292434692383, -45.15209197998047],\n",
-       " [-48.88584518432617, -8.637858390808105, -44.53647232055664],\n",
-       " [-48.88288116455078, -8.70147705078125, -47.538082122802734],\n",
-       " [-48.88225173950195, -7.873706817626953, -8.51559829711914],\n",
-       " [-48.88145065307617, 20.851070404052734, -69.1655502319336],\n",
-       " [-48.88106918334961, 16.188579559326172, -6.006165981292725],\n",
-       " [-48.87948226928711, -8.76508903503418, -50.539676666259766],\n",
-       " [-48.87671661376953, 13.252508163452148, -2.9427225589752197],\n",
-       " [-48.876461029052734, 47.33266067504883, 46.9367561340332],\n",
-       " [-48.8225212097168, -5.318509578704834, -29.58686637878418],\n",
-       " [-48.817588806152344, -1.7455317974090576, -2.6326639652252197],\n",
-       " [-48.814910888671875, -8.190847396850586, -23.521564483642578],\n",
-       " [-48.807491302490234, 31.82577896118164, 23.706315994262695],\n",
-       " [-48.80645751953125, -8.827430725097656, -53.538509368896484],\n",
-       " [-48.74794387817383, 19.06348419189453, -12.065884590148926],\n",
-       " [-48.72776794433594, 13.95563793182373, 30.082189559936523],\n",
-       " [-48.72544479370117, 2.4092578887939453, -89.80220031738281],\n",
-       " [-48.70681381225586, 21.61834144592285, -33.13788986206055],\n",
-       " [-48.70396041870117, 44.08165740966797, 35.471160888671875],\n",
-       " [-48.7008171081543, 22.8282527923584, 23.895174026489258],\n",
-       " [-48.65095520019531, -3.5253565311431885, -86.67443084716797],\n",
-       " [-48.648075103759766, 5.41049337387085, -89.86067199707031],\n",
-       " [-48.61458969116211, 4.321494102478027, 0.25402918457984924],\n",
-       " [-48.60890579223633, 21.556455612182617, -36.13573455810547],\n",
-       " [-48.580711364746094, 21.42962074279785, -42.13806915283203],\n",
-       " [-48.57807922363281, 40.956787109375, 29.53424072265625],\n",
-       " [-48.52925491333008, 2.150986671447754, 39.34141540527344],\n",
-       " [-48.51701354980469, 47.27591323852539, 44.42221450805664],\n",
-       " [-48.51091384887695, 20.794158935546875, -72.15257263183594],\n",
-       " [-48.49985122680664, 17.66718864440918, -78.09404754638672],\n",
-       " [-48.49247741699219, 13.32319450378418, 0.07424391061067581],\n",
-       " [-48.490142822265625, 7.323588848114014, 0.19742192327976227],\n",
-       " [-48.47737121582031, 19.132097244262695, -9.053424835205078],\n",
-       " [-48.448055267333984, 1.324709415435791, 0.3221767246723175],\n",
-       " [-48.446651458740234, 16.260181427001953, -2.987208843231201],\n",
-       " [-48.43745803833008, 21.49591064453125, -39.13066101074219],\n",
-       " [-48.43336868286133, -0.7834135890007019, 42.40848922729492],\n",
-       " [-48.42666244506836, 11.477856636047363, -86.9732437133789],\n",
-       " [-48.42173385620117, 34.89631652832031, 26.661800384521484],\n",
-       " [-48.419498443603516, -3.7193105220794678, 45.47230911254883],\n",
-       " [-48.40354537963867, -4.737799644470215, -2.5547001361846924],\n",
-       " [-48.38090515136719, 28.770065307617188, 20.783048629760742],\n",
-       " [-48.37534713745117, -8.437520027160645, -35.51103973388672],\n",
-       " [-48.37349319458008, 21.688098907470703, -30.122941970825195],\n",
-       " [-48.30165481567383, 5.091290473937988, 36.28717041015625],\n",
-       " [-48.29961395263672, 16.899600982666016, 27.035898208618164],\n",
-       " [-48.29594421386719, 19.199079513549805, -6.044502258300781],\n",
-       " [-48.286746978759766, 16.326772689819336, 0.02086040750145912],\n",
-       " [-48.281959533691406, 44.02568435668945, 32.48617172241211],\n",
-       " [-48.27225875854492, -0.5822955965995789, -89.7226791381836],\n",
-       " [-48.25872039794922, 31.772117614746094, 20.72635269165039],\n",
-       " [-48.244163513183594, -7.798388481140137, -5.4885640144348145],\n",
-       " [-48.23406219482422, -8.243921279907227, -26.50025749206543],\n",
-       " [-48.225120544433594, 14.54503059387207, -84.02507019042969],\n",
-       " [-48.22355270385742, 47.21759796142578, 41.432125091552734],\n",
-       " [-48.222206115722656, -6.652310848236084, 46.978599548339844],\n",
-       " [-48.216243743896484, 10.328411102294922, 0.14674216508865356],\n",
-       " [-48.20241165161133, 21.818567276000977, -24.112701416015625],\n",
-       " [-48.202354431152344, 8.029252052307129, 33.227840423583984],\n",
-       " [-48.200008392333984, -10.988428115844727, -14.430453300476074],\n",
-       " [-48.19474792480469, 21.755033493041992, -27.114126205444336],\n",
-       " [-48.188140869140625, -11.051884651184082, -17.43170928955078],\n",
-       " [-48.173301696777344, 13.392692565917969, 3.088629961013794],\n",
-       " [-48.17128372192383, -6.452753067016602, -83.59213256835938],\n",
-       " [-48.141536712646484, 21.88335418701172, -21.108558654785156],\n",
-       " [-48.13870620727539, -10.923635482788086, -11.426294326782227],\n",
-       " [-48.135746002197266, -9.324581146240234, -77.52572631835938],\n",
-       " [-48.114288330078125, 8.420058250427246, -89.90104675292969],\n",
-       " [-48.1129035949707, 25.775131225585938, 20.855220794677734],\n",
-       " [-48.111083984375, -11.496195793151855, -38.44074630737305],\n",
-       " [-48.099586486816406, -8.368814468383789, -32.49837875366211],\n",
-       " [-48.0911979675293, 40.90199661254883, 26.551822662353516],\n",
-       " [-48.04193878173828, -1.6677031517028809, 0.39982616901397705],\n",
-       " [-48.024749755859375, -8.3037748336792, -29.493684768676758],\n",
-       " [-48.003719329833984, 19.26808738708496, -3.0311849117279053],\n",
-       " [-47.998504638671875, 47.15803146362305, 38.43932342529297],\n",
-       " [-47.98594284057617, -0.8389221429824829, 39.42450714111328],\n",
-       " [-47.98518371582031, 10.969365119934082, 30.17318344116211],\n",
-       " [-47.96705627441406, -11.11152458190918, -20.42466926574707],\n",
-       " [-47.96683120727539, 19.84182357788086, 23.98582649230957],\n",
-       " [-47.964744567871094, 21.950252532958984, -18.099821090698242],\n",
-       " [-47.94728088378906, 37.9047966003418, 26.61907386779785],\n",
-       " [-47.944488525390625, 34.84135437011719, 23.678998947143555],\n",
-       " [-47.92165756225586, 16.397109985351562, 3.0370676517486572],\n",
-       " [-47.90841293334961, 10.39770221710205, 3.1606788635253906],\n",
-       " [-47.898170471191406, -11.555983543395996, -41.43403244018555],\n",
-       " [-47.878929138183594, 22.015493392944336, -15.09468936920166],\n",
-       " [-47.86516189575195, 19.33428955078125, -0.02396206185221672],\n",
-       " [-47.86333465576172, 4.39887809753418, 3.2855517864227295],\n",
-       " [-47.847496032714844, -3.772545576095581, 42.49326705932617],\n",
-       " [-47.84617233276367, 24.31550407409668, -48.17393493652344],\n",
-       " [-47.84306716918945, 43.97002410888672, 29.501850128173828],\n",
-       " [-47.800960540771484, 7.399840354919434, 3.226482629776001],\n",
-       " [-47.78465270996094, -10.853500366210938, -8.410524368286133],\n",
-       " [-47.784271240234375, 22.080894470214844, -12.08920669555664],\n",
-       " [-47.779850006103516, 24.253040313720703, -51.173030853271484],\n",
-       " [-47.773353576660156, -11.171663284301758, -23.41871452331543],\n",
-       " [-47.751041412353516, 20.744352340698242, -75.1241683959961],\n",
-       " [-47.73556900024414, 22.782194137573242, 20.93172836303711],\n",
-       " [-47.708370208740234, -11.616193771362305, -44.4282341003418],\n",
-       " [-47.683467864990234, 34.782440185546875, 20.687623977661133],\n",
-       " [-47.661685943603516, 22.146806716918945, -9.08261775970459],\n",
-       " [-47.657066345214844, 28.719600677490234, 17.810028076171875],\n",
-       " [-47.654296875, 1.402868628501892, 3.3553853034973145],\n",
-       " [-47.645225524902344, 47.10080337524414, 35.45161056518555],\n",
-       " [-47.625511169433594, -6.704644680023193, 45.56534194946289],\n",
-       " [-47.6218147277832, 24.192251205444336, -54.168495178222656],\n",
-       " [-47.61736297607422, 24.383352279663086, -45.16313552856445],\n",
-       " [-47.61101150512695, -11.67809009552002, -47.42609786987305],\n",
-       " [-47.60507583618164, -11.423287391662598, -35.41895294189453],\n",
-       " [-47.599788665771484, 17.61993980407715, -81.06008911132812],\n",
-       " [-47.569278717041016, 19.403362274169922, 2.9895002841949463],\n",
-       " [-47.55265426635742, -4.658597946166992, 0.48077425360679626],\n",
-       " [-47.544952392578125, 13.913549423217773, 27.12737274169922],\n",
-       " [-47.53622055053711, 31.72163200378418, 17.753278732299805],\n",
-       " [-47.53140640258789, 24.130226135253906, -57.16663360595703],\n",
-       " [-47.5255012512207, -11.230813980102539, -26.410612106323242],\n",
-       " [-47.52022171020508, -7.721503734588623, -2.4581246376037598],\n",
-       " [-47.5168571472168, 24.639881134033203, -33.15223693847656],\n",
-       " [-47.503631591796875, 13.468587875366211, 6.116917133331299],\n",
-       " [-47.48628234863281, -9.638148307800293, 46.9814453125],\n",
-       " [-47.48203659057617, 24.067453384399414, -60.166404724121094],\n",
-       " [-47.47247314453125, 22.341279983520508, -0.06993085145950317],\n",
-       " [-47.459171295166016, 10.469574928283691, 6.18022346496582],\n",
-       " [-47.45553207397461, 25.72345542907715, 17.87956428527832],\n",
-       " [-47.44562530517578, 22.21442222595215, -6.072320938110352],\n",
-       " [-47.42827606201172, 24.0047607421875, -63.16600036621094],\n",
-       " [-47.42626190185547, 24.577861785888672, -36.15037155151367],\n",
-       " [-47.41507339477539, 11.432641983032227, -89.93485260009766],\n",
-       " [-47.41469955444336, -3.8283212184906006, 39.508705139160156],\n",
-       " [-47.40383529663086, 22.278858184814453, -3.0689361095428467],\n",
-       " [-47.39856719970703, -11.292171478271484, -29.407304763793945],\n",
-       " [-47.38905334472656, 43.914634704589844, 26.51812744140625],\n",
-       " [-47.38113784790039, 16.85268783569336, 24.070598602294922],\n",
-       " [-47.37363815307617, 2.1084020137786865, 36.385520935058594],\n",
-       " [-47.37184524536133, 22.40679168701172, 2.9357879161834717],\n",
-       " [-47.369930267333984, -11.355321884155273, -32.40789794921875],\n",
-       " [-47.367435455322266, -10.808500289916992, -74.46148681640625],\n",
-       " [-47.34415817260742, -1.5912953615188599, 3.429227828979492],\n",
-       " [-47.31468200683594, -11.736356735229492, -50.416072845458984],\n",
-       " [-47.305301666259766, 24.707416534423828, -30.142120361328125],\n",
-       " [-47.30034255981445, 16.47212028503418, 6.063436985015869],\n",
-       " [-47.29957580566406, 5.04590368270874, 33.3251838684082],\n",
-       " [-47.297264099121094, -11.990734100341797, -62.42229461669922],\n",
-       " [-47.292945861816406, 24.45294761657715, -42.14854049682617],\n",
-       " [-47.25700378417969, 47.044212341308594, 32.465274810791016],\n",
-       " [-47.249019622802734, 14.499171257019043, -86.98808288574219],\n",
-       " [-47.24364471435547, -11.926081657409668, -59.41843795776367],\n",
-       " [-47.23500061035156, 23.94461441040039, -66.16006469726562],\n",
-       " [-47.217281341552734, -11.861927032470703, -56.41566467285156],\n",
-       " [-47.20292282104492, 24.51826286315918, -39.14324188232422],\n",
-       " [-47.187591552734375, -3.5623250007629395, -89.61811828613281],\n",
-       " [-47.17841339111328, 34.72798156738281, 17.7059268951416],\n",
-       " [-47.17015075683594, 22.728839874267578, 17.952425003051758],\n",
-       " [-47.16069793701172, 37.8554801940918, 23.648540496826172],\n",
-       " [-47.14138412475586, -10.778087615966797, -5.383285045623779],\n",
-       " [-47.1407356262207, -11.796856880187988, -53.41090393066406],\n",
-       " [-47.12895965576172, 25.665740966796875, 14.890789031982422],\n",
-       " [-47.12724304199219, 22.47492790222168, 5.947216510772705],\n",
-       " [-47.12540054321289, 24.77437400817871, -27.133256912231445],\n",
-       " [-47.120147705078125, -12.051175117492676, -65.41699981689453],\n",
-       " [-47.113304138183594, 5.374828338623047, -92.80152893066406],\n",
-       " [-47.091552734375, 7.985849380493164, 30.27016830444336],\n",
-       " [-47.08588409423828, -6.75847053527832, 42.585018157958984],\n",
-       " [-47.08414840698242, 2.3755366802215576, -92.73883056640625],\n",
-       " [-47.081321716308594, 19.475940704345703, 6.010581016540527],\n",
-       " [-47.07044219970703, 24.83905029296875, -24.129350662231445],\n",
-       " [-47.048431396484375, 8.375835418701172, -92.86050415039062],\n",
-       " [-47.02766799926758, 22.66776466369629, 14.956348419189453],\n",
-       " [-47.01536560058594, 19.795513153076172, 21.021835327148438],\n",
-       " [-47.01222610473633, 40.858009338378906, 23.59288787841797],\n",
-       " [-47.00452423095703, 25.604339599609375, 11.89399528503418],\n",
-       " [-46.987770080566406, 22.541147232055664, 8.954476356506348],\n",
-       " [-46.987735748291016, 24.904232025146484, -21.12434196472168],\n",
-       " [-46.97391128540039, 7.478607177734375, 6.261011600494385],\n",
-       " [-46.973480224609375, 22.60508155822754, 11.956770896911621],\n",
-       " [-46.96885681152344, -14.475173950195312, -38.33390426635742],\n",
-       " [-46.96391677856445, 23.885887145996094, -69.15103912353516],\n",
-       " [-46.94355010986328, 25.4144287109375, 2.8912312984466553],\n",
-       " [-46.9351806640625, 28.66910171508789, 14.836931228637695],\n",
-       " [-46.92676544189453, 13.5427885055542, 9.141523361206055],\n",
-       " [-46.926761627197266, -6.493715286254883, -86.54450225830078],\n",
-       " [-46.91707992553711, -9.366015434265137, -80.47911834716797],\n",
-       " [-46.91475296020508, -9.691497802734375, 45.65507507324219],\n",
-       " [-46.89839553833008, -12.11080265045166, -68.40992736816406],\n",
-       " [-46.896087646484375, -14.028129577636719, -17.318923950195312],\n",
-       " [-46.89289474487305, -13.964397430419922, -14.317070007324219],\n",
-       " [-46.888206481933594, 43.86009979248047, 23.53626251220703],\n",
-       " [-46.87312698364258, -0.8822879791259766, 36.466915130615234],\n",
-       " [-46.859703063964844, -13.900118827819824, -11.31402587890625],\n",
-       " [-46.840843200683594, 25.479978561401367, 5.897032737731934],\n",
-       " [-46.83966064453125, 25.352651596069336, -0.10637610405683517],\n",
-       " [-46.83341598510742, 20.697423934936523, -78.08950805664062],\n",
-       " [-46.82646560668945, 46.98839569091797, 29.480623245239258],\n",
-       " [-46.81760787963867, 1.481811285018921, 6.390295505523682],\n",
-       " [-46.817378997802734, 50.37004470825195, 46.93598937988281],\n",
-       " [-46.810420989990234, 4.481766223907471, 6.329038143157959],\n",
-       " [-46.8004150390625, 25.09867286682129, -12.111730575561523],\n",
-       " [-46.79802322387695, 17.570899963378906, -84.03001403808594],\n",
-       " [-46.78710174560547, 25.544633865356445, 8.900891304016113],\n",
-       " [-46.78636932373047, 24.971582412719727, -18.114627838134766],\n",
-       " [-46.785919189453125, 16.545181274414062, 9.085566520690918],\n",
-       " [-46.7772102355957, 19.545166015625, 9.024369239807129],\n",
-       " [-46.74468231201172, -4.580179214477539, 3.5145459175109863],\n",
-       " [-46.74317932128906, -14.08901309967041, -20.314586639404297],\n",
-       " [-46.692108154296875, 37.800357818603516, 20.6653995513916],\n",
-       " [-46.686279296875, -7.642611026763916, 0.5766772627830505],\n",
-       " [-46.68169403076172, 10.929479598999023, 27.2231502532959],\n",
-       " [-46.67335510253906, 31.673704147338867, 14.785772323608398],\n",
-       " [-46.6647834777832, -14.533299446105957, -41.323570251464844],\n",
-       " [-46.660980224609375, 25.03754425048828, -15.107928276062012],\n",
-       " [-46.64327621459961, -13.83249568939209, -8.303714752197266],\n",
-       " [-46.64297866821289, 19.61128807067871, 12.031420707702637],\n",
-       " [-46.639312744140625, 25.292634963989258, -3.1001577377319336],\n",
-       " [-46.628257751464844, -14.150589942932129, -23.311756134033203],\n",
-       " [-46.62361145019531, 13.866689682006836, 24.162185668945312],\n",
-       " [-46.61369705200195, -6.8135271072387695, 39.602012634277344],\n",
-       " [-46.59955596923828, -14.40476131439209, -35.317527770996094],\n",
-       " [-46.59230041503906, 10.549068450927734, 9.216330528259277],\n",
-       " [-46.5858154296875, 25.166263580322266, -9.101491928100586],\n",
-       " [-46.575927734375, 11.384283065795898, -92.90330505371094],\n",
-       " [-46.5749397277832, -14.27696418762207, -29.313098907470703],\n",
-       " [-46.57406997680664, -14.213274955749512, -26.311336517333984],\n",
-       " [-46.55678939819336, 50.31150817871094, 44.43841552734375],\n",
-       " [-46.545936584472656, 23.82984161376953, -72.13619232177734],\n",
-       " [-46.54024887084961, 19.740510940551758, 18.038949966430664],\n",
-       " [-46.53896713256836, -3.8760135173797607, 36.541709899902344],\n",
-       " [-46.53616714477539, 28.612709045410156, 11.851028442382812],\n",
-       " [-46.51978302001953, 19.67721176147461, 15.038034439086914],\n",
-       " [-46.51676940917969, 25.231197357177734, -6.097024917602539],\n",
-       " [-46.51571273803711, 2.060384750366211, 33.41781997680664],\n",
-       " [-46.48284149169922, 16.805408477783203, 21.1044979095459],\n",
-       " [-46.47413635253906, -12.166733741760254, -71.39482879638672],\n",
-       " [-46.46878433227539, -12.618788719177246, 46.984500885009766],\n",
-       " [-46.467227935791016, -1.5116182565689087, 6.465734481811523],\n",
-       " [-46.45753860473633, -0.612852156162262, -92.65243530273438],\n",
-       " [-46.445796966552734, 34.677677154541016, 14.733255386352539],\n",
-       " [-46.44247817993164, 50.24992370605469, 41.441219329833984],\n",
-       " [-46.43922805786133, -14.33816146850586, -32.309444427490234],\n",
-       " [-46.43891143798828, -9.746487617492676, 42.672218322753906],\n",
-       " [-46.428550720214844, 46.931983947753906, 26.494678497314453],\n",
-       " [-46.416534423828125, -10.701186180114746, -2.352809190750122],\n",
-       " [-46.40283966064453, 16.615846633911133, 12.102487564086914],\n",
-       " [-46.37423324584961, 28.551990509033203, 8.85572338104248],\n",
-       " [-46.36847686767578, 50.187599182128906, 38.44242858886719],\n",
-       " [-46.3567008972168, 14.451780319213867, -89.95442199707031],\n",
-       " [-46.30937576293945, 27.343372344970703, -48.174530029296875],\n",
-       " [-46.290401458740234, -14.590140342712402, -44.31045150756836],\n",
-       " [-46.26896667480469, 27.280437469482422, -51.17465591430664],\n",
-       " [-46.26315689086914, 37.744510650634766, 17.680683135986328],\n",
-       " [-46.24709701538086, 13.618865966796875, 12.170207023620605],\n",
-       " [-46.21860885620117, 16.682884216308594, 15.11152172088623],\n",
-       " [-46.214176177978516, 7.556145191192627, 9.29287052154541],\n",
-       " [-46.16181182861328, 28.4921932220459, 5.862420082092285],\n",
-       " [-46.15556335449219, 50.127811431884766, 35.44914627075195],\n",
-       " [-46.11798858642578, 28.429319381713867, 2.8624308109283447],\n",
-       " [-46.0990104675293, 16.74873924255371, 18.117992401123047],\n",
-       " [-46.092811584472656, 31.620622634887695, 11.807069778442383],\n",
-       " [-46.08816909790039, 5.004337310791016, 30.371503829956055],\n",
-       " [-46.086849212646484, 27.411108016967773, -45.163978576660156],\n",
-       " [-46.056819915771484, -14.649551391601562, -47.302913665771484],\n",
-       " [-46.05205154418945, 43.811683654785156, 20.567697525024414],\n",
-       " [-46.051231384277344, -13.758016586303711, -5.278506278991699],\n",
-       " [-46.00392532348633, -7.566484451293945, 3.6054675579071045],\n",
-       " [-45.99794006347656, -4.502877712249756, 6.545889377593994],\n",
-       " [-45.99618148803711, 46.87620162963867, 23.510099411010742],\n",
-       " [-45.980323791503906, 27.222030639648438, -54.16493606567383],\n",
-       " [-45.95829772949219, 1.5611668825149536, 9.426104545593262],\n",
-       " [-45.9445915222168, 13.815407752990723, 21.187387466430664],\n",
-       " [-45.94416046142578, 28.368818283081055, -0.13240297138690948],\n",
-       " [-45.940425872802734, 20.650047302246094, -81.05581665039062],\n",
-       " [-45.93079376220703, 5.332734107971191, -95.75636291503906],\n",
-       " [-45.924163818359375, -0.9286438226699829, 33.50282287597656],\n",
-       " [-45.92155075073242, 23.777563095092773, -75.11315155029297],\n",
-       " [-45.91796112060547, 17.523284912109375, -86.99684143066406],\n",
-       " [-45.901309967041016, 50.06877899169922, 32.45750427246094],\n",
-       " [-45.88877487182617, 27.669416427612305, -33.149208068847656],\n",
-       " [-45.88734436035156, 40.81486892700195, 20.635772705078125],\n",
-       " [-45.884483337402344, 27.733169555664062, -30.147314071655273],\n",
-       " [-45.88113784790039, -6.863832473754883, 36.62934112548828],\n",
-       " [-45.8806037902832, 13.689228057861328, 15.186469078063965],\n",
-       " [-45.86878204345703, -9.410557746887207, -83.43927001953125],\n",
-       " [-45.855987548828125, 4.562857627868652, 9.368618965148926],\n",
-       " [-45.84598159790039, 10.626360893249512, 12.247657775878906],\n",
-       " [-45.844703674316406, 8.334129333496094, -95.81448364257812],\n",
-       " [-45.831642150878906, 37.6887092590332, 14.69606876373291],\n",
-       " [-45.830257415771484, -9.799054145812988, 39.69462966918945],\n",
-       " [-45.82586669921875, 27.79791259765625, -27.143260955810547],\n",
-       " [-45.81830596923828, 27.60702896118164, -36.14814376831055],\n",
-       " [-45.813499450683594, -12.671224594116211, 45.76029586791992],\n",
-       " [-45.75407791137695, 27.480854034423828, -42.1490478515625],\n",
-       " [-45.75396728515625, 34.62663269042969, 11.758965492248535],\n",
-       " [-45.74249267578125, 27.863107681274414, -24.138227462768555],\n",
-       " [-45.7197265625, 27.545154571533203, -39.14596176147461],\n",
-       " [-45.715003967285156, -14.706987380981445, -50.29108810424805],\n",
-       " [-45.70962142944336, 2.336946964263916, -95.68604278564453],\n",
-       " [-45.68259048461914, 13.756515502929688, 18.1960506439209],\n",
-       " [-45.67342758178711, -17.387683868408203, -35.21925735473633],\n",
-       " [-45.66432189941406, -1.433292031288147, 9.499305725097656],\n",
-       " [-45.650760650634766, 28.31049919128418, -3.1224942207336426],\n",
-       " [-45.63452911376953, 31.5653133392334, 8.823516845703125],\n",
-       " [-45.632301330566406, 10.884956359863281, 24.263042449951172],\n",
-       " [-45.60791015625, 50.010459899902344, 29.467409133911133],\n",
-       " [-45.59033203125, 27.9295597076416, -21.130462646484375],\n",
-       " [-45.587650299072266, -10.62238597869873, 0.6817920207977295],\n",
-       " [-45.58432388305664, -17.322385787963867, -32.213993072509766],\n",
-       " [-45.5811653137207, 28.18442153930664, -9.123189926147461],\n",
-       " [-45.5774040222168, 27.16571044921875, -57.15068435668945],\n",
-       " [-45.57539749145508, -17.258548736572266, -29.2119140625],\n",
-       " [-45.54631423950195, -17.449037551879883, -38.2159423828125],\n",
-       " [-45.52784729003906, -6.531859874725342, -89.4907455444336],\n",
-       " [-45.51907730102539, 14.403392791748047, -92.92292785644531],\n",
-       " [-45.51082229614258, -16.87532615661621, -11.198986053466797],\n",
-       " [-45.51063537597656, 28.12203598022461, -12.122119903564453],\n",
-       " [-45.502567291259766, 11.34019660949707, -95.86246490478516],\n",
-       " [-45.49821472167969, 28.249608993530273, -6.1181721687316895],\n",
-       " [-45.491939544677734, -16.938655853271484, -14.19996452331543],\n",
-       " [-45.489234924316406, -17.065954208374023, -20.20331382751465],\n",
-       " [-45.46821975708008, -17.12924575805664, -23.204208374023438],\n",
-       " [-45.46034240722656, 10.697072982788086, 15.264679908752441],\n",
-       " [-45.458396911621094, 27.104206085205078, -60.14768981933594],\n",
-       " [-45.45256805419922, -17.192630767822266, -26.205312728881836],\n",
-       " [-45.449581146240234, -17.001556396484375, -17.20001220703125],\n",
-       " [-45.4203987121582, 46.82303237915039, 20.531206130981445],\n",
-       " [-45.41524887084961, -16.809907913208008, -8.19346809387207],\n",
-       " [-45.40887451171875, 2.0169098377227783, 30.45998764038086],\n",
-       " [-45.402305603027344, 7.634634971618652, 12.326796531677246],\n",
-       " [-45.39196014404297, 7.953192234039307, 27.335844039916992],\n",
-       " [-45.388065338134766, -14.764695167541504, -53.27984619140625],\n",
-       " [-45.386959075927734, -3.5931384563446045, -92.54843139648438],\n",
-       " [-45.37277603149414, 31.50641441345215, 5.8321709632873535],\n",
-       " [-45.35213851928711, 27.04247283935547, -63.145206451416016],\n",
-       " [-45.342315673828125, -3.91784930229187, 33.587440490722656],\n",
-       " [-45.33433151245117, 27.997905731201172, -18.118581771850586],\n",
-       " [-45.256256103515625, 28.063003540039062, -15.11375904083252],\n",
-       " [-45.25423812866211, -13.67979907989502, -2.2451696395874023],\n",
-       " [-45.249969482421875, -12.724615097045898, 42.780914306640625],\n",
-       " [-45.249847412109375, -14.825846672058105, -56.276092529296875],\n",
-       " [-45.22819900512695, 40.763221740722656, 17.660188674926758],\n",
-       " [-45.19132614135742, -7.487981796264648, 6.639423370361328],\n",
-       " [-45.18994140625, 20.600069046020508, -84.02777862548828],\n",
-       " [-45.16794967651367, -15.594197273254395, 46.987762451171875],\n",
-       " [-45.16436004638672, -4.423992156982422, 9.580677032470703],\n",
-       " [-45.15224838256836, 49.955101013183594, 26.483755111694336],\n",
-       " [-45.14364242553711, 31.446924209594727, 2.8395307064056396],\n",
-       " [-45.14083480834961, -17.505311965942383, -41.20158767700195],\n",
-       " [-45.136253356933594, 17.473876953125, -89.96755981445312],\n",
-       " [-45.12964630126953, 10.766782760620117, 18.279523849487305],\n",
-       " [-45.08566665649414, -12.268743515014648, -77.34322357177734],\n",
-       " [-45.082244873046875, 10.831320762634277, 21.283130645751953],\n",
-       " [-45.061676025390625, 23.72957992553711, -78.08078002929688],\n",
-       " [-45.05101013183594, 43.76628112792969, 17.605670928955078],\n",
-       " [-45.048675537109375, 26.984336853027344, -66.13489532470703],\n",
-       " [-45.04203796386719, -0.6506941318511963, -95.5980224609375],\n",
-       " [-45.04175567626953, -14.885723114013672, -59.269569396972656],\n",
-       " [-45.00086212158203, 34.57670211791992, 8.78710651397705],\n",
-       " [-44.99532699584961, 1.6424142122268677, 12.466023445129395],\n",
-       " [-44.994117736816406, 4.6422600746154785, 12.404528617858887],\n",
-       " [-44.96354675292969, -9.846911430358887, 36.72727584838867],\n",
-       " [-44.96328353881836, -10.547317504882812, 3.708282232284546],\n",
-       " [-44.94857406616211, -16.73771858215332, -5.173232078552246],\n",
-       " [-44.91896438598633, -9.45689868927002, -86.40332794189453],\n",
-       " [-44.8815803527832, 37.64237594604492, 11.73202133178711],\n",
-       " [-44.858856201171875, 7.708226203918457, 15.350078582763672],\n",
-       " [-44.81889724731445, 31.389175415039062, -0.14931756258010864],\n",
-       " [-44.81489181518555, -0.9720742106437683, 30.545089721679688],\n",
-       " [-44.81098556518555, -1.3540456295013428, 12.53487777709961],\n",
-       " [-44.7984504699707, -6.907748222351074, 33.670555114746094],\n",
-       " [-44.7747917175293, 46.77114486694336, 17.555084228515625],\n",
-       " [-44.72298812866211, -14.943578720092773, -62.2586555480957],\n",
-       " [-44.7017936706543, 26.926992416381836, -69.12286376953125],\n",
-       " [-44.69121170043945, 5.291682243347168, -98.70892333984375],\n",
-       " [-44.66608810424805, -17.560321807861328, -44.18449020385742],\n",
-       " [-44.65231704711914, 49.900550842285156, 23.501853942871094],\n",
-       " [-44.64851379394531, -12.777312278747559, 39.80303955078125],\n",
-       " [-44.6286735534668, 30.37386703491211, -48.16941452026367],\n",
-       " [-44.598751068115234, 30.310741424560547, -51.16995620727539],\n",
-       " [-44.583717346191406, 8.29346752166748, -98.76620483398438],\n",
-       " [-44.558982849121094, -20.303495407104492, -32.111785888671875],\n",
-       " [-44.55194091796875, 7.777500152587891, 18.36397933959961],\n",
-       " [-44.538822174072266, 2.2946393489837646, -98.6413345336914],\n",
-       " [-44.532066345214844, 14.357731819152832, -95.88551330566406],\n",
-       " [-44.51409149169922, 20.548728942871094, -87.00270080566406],\n",
-       " [-44.482627868652344, 7.906113147735596, 24.370182037353516],\n",
-       " [-44.461143493652344, -15.646368980407715, 45.87546920776367],\n",
-       " [-44.45523452758789, -13.601544380187988, 0.7882465720176697],\n",
-       " [-44.450313568115234, -7.41078519821167, 9.670538902282715],\n",
-       " [-44.43803787231445, 30.441020965576172, -45.160125732421875],\n",
-       " [-44.43745422363281, 34.523311614990234, 5.807723522186279],\n",
-       " [-44.432342529296875, 7.843356609344482, 21.37044906616211],\n",
-       " [-44.42168426513672, 4.971075057983398, 27.435871124267578],\n",
-       " [-44.419368743896484, -20.364622116088867, -35.10797882080078],\n",
-       " [-44.41755676269531, 4.716455459594727, 15.429122924804688],\n",
-       " [-44.41466522216797, 40.714393615722656, 14.69072437286377],\n",
-       " [-44.41463088989258, -20.2371883392334, -29.104333877563477],\n",
-       " [-44.39486312866211, 53.4140510559082, 46.93549728393555],\n",
-       " [-44.392642974853516, -10.47322940826416, 6.73264217376709],\n",
-       " [-44.384578704833984, 30.760364532470703, -30.149370193481445],\n",
-       " [-44.383243560791016, -15.001052856445312, -65.24691009521484],\n",
-       " [-44.36433792114258, 31.333797454833984, -3.133017063140869],\n",
-       " [-44.35944366455078, -3.9635865688323975, 30.62469482421875],\n",
-       " [-44.355098724365234, 17.42445945739746, -92.93830871582031],\n",
-       " [-44.34920883178711, -17.61821174621582, -47.173648834228516],\n",
-       " [-44.34760665893555, 30.8247127532959, -27.146175384521484],\n",
-       " [-44.338958740234375, -12.318790435791016, -80.3153305053711],\n",
-       " [-44.294071197509766, 1.7188851833343506, 15.495563507080078],\n",
-       " [-44.28692626953125, 26.87088966369629, -72.10813903808594],\n",
-       " [-44.28656768798828, 30.252761840820312, -54.159305572509766],\n",
-       " [-44.274139404296875, -19.852581024169922, -11.088396072387695],\n",
-       " [-44.2728271484375, 30.69873046875, -33.146663665771484],\n",
-       " [-44.25273513793945, -4.343681812286377, 12.618559837341309],\n",
-       " [-44.22223663330078, 30.6359806060791, -36.146385192871094],\n",
-       " [-44.21959686279297, 30.890724182128906, -24.13936996459961],\n",
-       " [-44.20027542114258, -20.16960334777832, -26.094104766845703],\n",
-       " [-44.19989013671875, -20.105920791625977, -23.092363357543945],\n",
-       " [-44.19969177246094, 11.300299644470215, -98.81251525878906],\n",
-       " [-44.161373138427734, 43.718841552734375, 14.639227867126465],\n",
-       " [-44.14581298828125, 30.510028839111328, -42.146812438964844],\n",
-       " [-44.14360809326172, -19.91387367248535, -14.084946632385254],\n",
-       " [-44.13584518432617, -20.041080474853516, -20.08809471130371],\n",
-       " [-44.13508605957031, -15.060198783874512, -68.2387924194336],\n",
-       " [-44.10257339477539, 53.22877502441406, 38.47075271606445],\n",
-       " [-44.101890563964844, 30.57450294494629, -39.14333724975586],\n",
-       " [-44.09831619262695, 23.683486938476562, -81.04430389404297],\n",
-       " [-44.089237213134766, 4.786120891571045, 18.443870544433594],\n",
-       " [-44.07773971557617, -3.632920265197754, -95.49823760986328],\n",
-       " [-44.077091217041016, 31.275365829467773, -6.123352527618408],\n",
-       " [-44.07395553588867, 53.10194778442383, 32.46843338012695],\n",
-       " [-44.065921783447266, 49.84757995605469, 20.52338218688965],\n",
-       " [-44.06131362915039, 53.35687255859375, 44.47584533691406],\n",
-       " [-44.05392837524414, -19.975910186767578, -17.083118438720703],\n",
-       " [-44.052127838134766, -16.657684326171875, -2.135951042175293],\n",
-       " [-44.0411262512207, -19.78465461730957, -8.07742691040039],\n",
-       " [-44.036983489990234, 53.16630172729492, 35.47162628173828],\n",
-       " [-44.032108306884766, 31.212514877319336, -9.123296737670898],\n",
-       " [-44.02023696899414, 53.293949127197266, 41.475746154785156],\n",
-       " [-43.96470642089844, 53.0402717590332, 29.471036911010742],\n",
-       " [-43.95646286010742, 30.959199905395508, -21.12720489501953],\n",
-       " [-43.95143508911133, -1.2746857404708862, 15.570693969726562],\n",
-       " [-43.92998504638672, -20.41936492919922, -38.090293884277344],\n",
-       " [-43.92539978027344, 46.72297286987305, 14.587043762207031],\n",
-       " [-43.919898986816406, -0.6938896775245667, -98.55524444580078],\n",
-       " [-43.91118240356445, -6.566030502319336, -92.42835998535156],\n",
-       " [-43.90172576904297, -13.527769088745117, 3.8119266033172607],\n",
-       " [-43.89533996582031, -6.9549407958984375, 30.70464324951172],\n",
-       " [-43.88428497314453, 1.9810587167739868, 27.518726348876953],\n",
-       " [-43.8829345703125, -9.890864372253418, 33.76840591430664],\n",
-       " [-43.85425567626953, 4.917757034301758, 24.456645965576172],\n",
-       " [-43.843101501464844, 31.15228843688965, -12.117527961730957],\n",
-       " [-43.83897399902344, 20.49737548828125, -89.97765350341797],\n",
-       " [-43.83836364746094, -17.672563552856445, -50.155113220214844],\n",
-       " [-43.83700180053711, -15.698652267456055, 42.898494720458984],\n",
-       " [-43.822059631347656, 26.81570053100586, -75.0914306640625],\n",
-       " [-43.82164764404297, 4.854677677154541, 21.45621109008789],\n",
-       " [-43.79434585571289, 1.791678547859192, 18.517108917236328],\n",
-       " [-43.783653259277344, 30.198266983032227, -57.14108657836914],\n",
-       " [-43.75187301635742, -10.397862434387207, 9.759782791137695],\n",
-       " [-43.72663879394531, -9.49881362915039, -89.35777282714844],\n",
-       " [-43.72213363647461, -4.015629768371582, 27.648242950439453],\n",
-       " [-43.70899963378906, -15.116096496582031, -71.22361755371094],\n",
-       " [-43.69994354248047, -1.0154011249542236, 27.58757972717285],\n",
-       " [-43.68309783935547, 37.60057067871094, 8.777826309204102],\n",
-       " [-43.67195129394531, -19.714242935180664, -5.061058044433594],\n",
-       " [-43.67154312133789, 34.473609924316406, 2.836371898651123],\n",
-       " [-43.650089263916016, 31.028465270996094, -18.113327026367188],\n",
-       " [-43.64046096801758, -12.822589874267578, 36.84129333496094],\n",
-       " [-43.622764587402344, 52.98283767700195, 26.48287010192871],\n",
-       " [-43.62101364135742, 17.374181747436523, -95.91092681884766],\n",
-       " [-43.562252044677734, -12.36828899383545, -83.2862548828125],\n",
-       " [-43.55998992919922, 1.8596292734146118, 21.52813148498535],\n",
-       " [-43.54515075683594, -7.330592632293701, 12.708166122436523],\n",
-       " [-43.5165901184082, 30.139467239379883, -60.13222122192383],\n",
-       " [-43.51499938964844, -1.203047275543213, 18.589731216430664],\n",
-       " [-43.49116897583008, -4.266109943389893, 15.650491714477539],\n",
-       " [-43.45858383178711, 5.250503063201904, -101.6617660522461],\n",
-       " [-43.45493698120117, -18.56199836730957, 46.991336822509766],\n",
-       " [-43.428775787353516, -20.473892211914062, -41.072147369384766],\n",
-       " [-43.42313003540039, -17.728660583496094, -53.14037322998047],\n",
-       " [-43.42230224609375, 14.314310073852539, -98.84322357177734],\n",
-       " [-43.4151496887207, 1.9259463548660278, 24.53560447692871],\n",
-       " [-43.399478912353516, 23.632566452026367, -84.018310546875],\n",
-       " [-43.3947639465332, 49.7961540222168, 17.54827308654785],\n",
-       " [-43.38859939575195, 31.09691047668457, -15.101229667663574],\n",
-       " [-43.35722732543945, 2.252528667449951, -101.59619903564453],\n",
-       " [-43.327606201171875, -13.453617095947266, 6.836423873901367],\n",
-       " [-43.31703567504883, 40.67074966430664, 11.732528686523438],\n",
-       " [-43.31462097167969, 8.25295352935791, -101.71759796142578],\n",
-       " [-43.30879211425781, -4.071760654449463, 24.662906646728516],\n",
-       " [-43.270076751708984, 20.444082260131836, -92.95681762695312],\n",
-       " [-43.268699645996094, -7.007178783416748, 27.727767944335938],\n",
-       " [-43.265892028808594, -1.1348274946212769, 21.60133934020996],\n",
-       " [-43.24245071411133, -1.0707260370254517, 24.60399627685547],\n",
-       " [-43.198883056640625, -15.17046070098877, -74.20511627197266],\n",
-       " [-43.198246002197266, -16.578428268432617, 0.8996418714523315],\n",
-       " [-43.19501876831055, 30.081661224365234, -63.12119674682617],\n",
-       " [-43.189735412597656, -23.278331756591797, -31.995939254760742],\n",
-       " [-43.1756591796875, 26.763822555541992, -78.06752014160156],\n",
-       " [-43.121543884277344, -23.21341323852539, -28.991506576538086],\n",
-       " [-43.121498107910156, 46.67396926879883, 11.617198944091797],\n",
-       " [-43.10930252075195, -17.78660774230957, -56.12965393066406],\n",
-       " [-43.10253143310547, 52.928653717041016, 23.50177574157715],\n",
-       " [-43.09504318237305, -4.195207118988037, 18.66792869567871],\n",
-       " [-43.08689880371094, -10.322053909301758, 12.787883758544922],\n",
-       " [-43.063743591308594, 34.42102813720703, -0.141250342130661],\n",
-       " [-43.00447463989258, -4.129880905151367, 21.673250198364258],\n",
-       " [-42.994171142578125, 43.67646789550781, 11.683791160583496],\n",
-       " [-42.970550537109375, -20.529203414916992, -44.05569839477539],\n",
-       " [-42.956790924072266, -19.63751983642578, -2.0309667587280273],\n",
-       " [-42.945228576660156, 11.259519577026367, -101.76449584960938],\n",
-       " [-42.93492889404297, -15.745864868164062, 39.93254470825195],\n",
-       " [-42.926692962646484, -3.675588369369507, -98.45431518554688],\n",
-       " [-42.92011260986328, -23.337085723876953, -34.986976623535156],\n",
-       " [-42.917816162109375, -22.827653884887695, -10.973061561584473],\n",
-       " [-42.905174255371094, -7.255239963531494, 15.735274314880371],\n",
-       " [-42.87327194213867, 33.40572738647461, -48.161338806152344],\n",
-       " [-42.861724853515625, 33.46961212158203, -45.15915298461914],\n",
-       " [-42.852989196777344, -9.935742378234863, 30.807525634765625],\n",
-       " [-42.8519287109375, 34.36122131347656, -3.134577512741089],\n",
-       " [-42.850894927978516, 33.788177490234375, -30.15008544921875],\n",
-       " [-42.846187591552734, 30.024354934692383, -66.10909271240234],\n",
-       " [-42.8388557434082, -0.7378352880477905, -101.51409912109375],\n",
-       " [-42.81804656982422, 33.72510528564453, -33.150508880615234],\n",
-       " [-42.81708526611328, -13.380627632141113, 9.858399391174316],\n",
-       " [-42.8145637512207, -23.14413833618164, -25.977603912353516],\n",
-       " [-42.799320220947266, -7.062286853790283, 24.74465560913086],\n",
-       " [-42.79263687133789, 33.66189193725586, -36.15122985839844],\n",
-       " [-42.7669677734375, 33.85338592529297, -27.145029067993164],\n",
-       " [-42.76656723022461, -17.844024658203125, -59.11779022216797],\n",
-       " [-42.7547721862793, 49.74415588378906, 14.571928024291992],\n",
-       " [-42.7481575012207, -22.760883331298828, -7.96460485458374],\n",
-       " [-42.73530578613281, -12.416872024536133, -86.25518798828125],\n",
-       " [-42.720970153808594, -18.61443519592285, 46.00602722167969],\n",
-       " [-42.70521926879883, 33.599815368652344, -39.14949035644531],\n",
-       " [-42.68722915649414, 23.581890106201172, -86.99179077148438],\n",
-       " [-42.679630279541016, 33.34558868408203, -51.1553840637207],\n",
-       " [-42.679019927978516, 33.536617279052734, -42.15018081665039],\n",
-       " [-42.67142868041992, -23.077852249145508, -22.970199584960938],\n",
-       " [-42.670310974121094, -23.014158248901367, -19.968427658081055],\n",
-       " [-42.66267395019531, -15.224349021911621, -77.18557739257812],\n",
-       " [-42.65495300292969, -6.606779098510742, -95.38026428222656],\n",
-       " [-42.64033889770508, 17.32840347290039, -98.8737564086914],\n",
-       " [-42.63233184814453, -20.586706161499023, -47.04401397705078],\n",
-       " [-42.62730026245117, -16.504335403442383, 3.924013614654541],\n",
-       " [-42.59016799926758, -22.94902229309082, -16.96352195739746],\n",
-       " [-42.56326675415039, 52.874820709228516, 20.52143669128418],\n",
-       " [-42.55327224731445, 37.557518005371094, 5.8209075927734375],\n",
-       " [-42.5520133972168, -7.121447563171387, 21.752737045288086],\n",
-       " [-42.546424865722656, -7.185019016265869, 18.751232147216797],\n",
-       " [-42.54056930541992, 20.393722534179688, -95.92961120605469],\n",
-       " [-42.5330924987793, 29.966394424438477, -69.09839630126953],\n",
-       " [-42.531490325927734, -22.88427734375, -13.959466934204102],\n",
-       " [-42.4937744140625, 26.71259307861328, -81.04220581054688],\n",
-       " [-42.42851638793945, 5.205626964569092, -104.62263488769531],\n",
-       " [-42.41497039794922, -10.24611759185791, 15.816259384155273],\n",
-       " [-42.40699768066406, 33.92362594604492, -24.129026412963867],\n",
-       " [-42.391448974609375, 34.30595016479492, -6.118042469024658],\n",
-       " [-42.383384704589844, 2.2066268920898438, -104.5593032836914],\n",
-       " [-42.37144470214844, 14.269813537597656, -101.80327606201172],\n",
-       " [-42.35296630859375, -9.537418365478516, -92.30502319335938],\n",
-       " [-42.35292053222656, -17.900150299072266, -62.103111267089844],\n",
-       " [-42.33973693847656, 23.524559020996094, -89.97974395751953],\n",
-       " [-42.30084228515625, 56.45207214355469, 46.934757232666016],\n",
-       " [-42.294944763183594, 33.28893280029297, -54.1418571472168],\n",
-       " [-42.27644348144531, -13.307086944580078, 12.881568908691406],\n",
-       " [-42.240509033203125, -12.86071491241455, 33.89508819580078],\n",
-       " [-42.22355270385742, -22.687637329101562, -4.942071437835693],\n",
-       " [-42.21744918823242, -9.987817764282227, 27.831005096435547],\n",
-       " [-42.20304489135742, -23.387672424316406, -37.960262298583984],\n",
-       " [-42.1717414855957, 46.627628326416016, 8.653139114379883],\n",
-       " [-42.15200424194336, 29.90967559814453, -72.08501434326172],\n",
-       " [-42.144290924072266, -20.64147186279297, -50.02638626098633],\n",
-       " [-42.12189483642578, -18.66717529296875, 43.02806091308594],\n",
-       " [-42.11298370361328, 56.39225387573242, 44.491573333740234],\n",
-       " [-42.09220504760742, -16.430896759033203, 6.946962833404541],\n",
-       " [-42.08391189575195, -17.95891571044922, -65.09416961669922],\n",
-       " [-42.05861282348633, 56.1385498046875, 32.48681640625],\n",
-       " [-42.04265594482422, 56.26619338989258, 38.490909576416016],\n",
-       " [-42.030479431152344, 56.20273971557617, 35.48965835571289],\n",
-       " [-42.02132034301758, 8.212882041931152, -104.66802978515625],\n",
-       " [-42.00920104980469, -15.276097297668457, -80.16139221191406],\n",
-       " [-42.00019454956055, 56.33063888549805, 41.494319915771484],\n",
-       " [-41.978187561035156, 33.99512481689453, -21.11029052734375],\n",
-       " [-41.96430969238281, -19.55573272705078, 1.0101228952407837],\n",
-       " [-41.945091247558594, 56.07694625854492, 29.489593505859375],\n",
-       " [-41.94445037841797, 26.658945083618164, -84.02214813232422],\n",
-       " [-41.92988204956055, -10.173591613769531, 18.83722686767578],\n",
-       " [-41.91427993774414, -0.7846361994743347, -104.47916412353516],\n",
-       " [-41.88241958618164, -3.7202048301696777, -101.41462707519531],\n",
-       " [-41.87870407104492, 37.50615310668945, 2.845933675765991],\n",
-       " [-41.87013244628906, 40.63348388671875, 8.788186073303223],\n",
-       " [-41.85202407836914, 34.18844985961914, -12.100104331970215],\n",
-       " [-41.84910583496094, -10.044769287109375, 24.84388542175293],\n",
-       " [-41.83339309692383, 52.824466705322266, 17.548656463623047],\n",
-       " [-41.82366943359375, 49.69747543334961, 11.607128143310547],\n",
-       " [-41.78642272949219, -18.017160415649414, -68.08409881591797],\n",
-       " [-41.75844955444336, -10.106789588928223, 21.84575080871582],\n",
-       " [-41.75702667236328, 33.23507308959961, -57.122249603271484],\n",
-       " [-41.743160247802734, 34.25410842895508, -9.094058990478516],\n",
-       " [-41.740291595458984, 23.471824645996094, -92.95769500732422],\n",
-       " [-41.717315673828125, -12.461968421936035, -89.21653747558594],\n",
-       " [-41.70010757446289, -22.614410400390625, -1.9195836782455444],\n",
-       " [-41.69891357421875, -6.653006076812744, -98.34407806396484],\n",
-       " [-41.692447662353516, -13.232756614685059, 15.906457901000977],\n",
-       " [-41.65861892700195, 20.34614372253418, -98.89636993408203],\n",
-       " [-41.655059814453125, 29.855070114135742, -75.06703186035156],\n",
-       " [-41.65119552612305, 11.219459533691406, -104.71489715576172],\n",
-       " [-41.64613723754883, -15.786018371582031, 36.981929779052734],\n",
-       " [-41.634490966796875, -16.358869552612305, 9.96684455871582],\n",
-       " [-41.634361267089844, 17.28308868408203, -101.83558654785156],\n",
-       " [-41.625885009765625, -20.69568634033203, -53.00755310058594],\n",
-       " [-41.603458404541016, 56.019508361816406, 26.501415252685547],\n",
-       " [-41.5974235534668, 34.06574630737305, -18.093461990356445],\n",
-       " [-41.590797424316406, -23.440174102783203, -40.93770980834961],\n",
-       " [-41.534732818603516, 5.15826416015625, -107.58892059326172],\n",
-       " [-41.518157958984375, -21.52566909790039, 46.99507522583008],\n",
-       " [-41.45838165283203, 2.1598334312438965, -107.52435302734375],\n",
-       " [-41.45398712158203, 34.13203811645508, -15.086045265197754],\n",
-       " [-41.42915344238281, 43.641353607177734, 8.744132995605469],\n",
-       " [-41.30807113647461, 33.179595947265625, -60.10617446899414],\n",
-       " [-41.30126953125, -26.243694305419922, -31.859498977661133],\n",
-       " [-41.29716110229492, -26.17994499206543, -28.857608795166016],\n",
-       " [-41.26283645629883, -18.071277618408203, -71.0650634765625],\n",
-       " [-41.2608642578125, -16.28837776184082, 12.983389854431152],\n",
-       " [-41.25897979736328, -12.906476020812988, 30.932289123535156],\n",
-       " [-41.2448616027832, 37.45404815673828, -0.13065597414970398],\n",
-       " [-41.20098114013672, 26.608837127685547, -86.994384765625],\n",
-       " [-41.197078704833984, -26.114444732666016, -25.851911544799805],\n",
-       " [-41.19499206542969, 55.96329116821289, 23.515886306762695],\n",
-       " [-41.19289779663086, 14.227646827697754, -104.75826263427734],\n",
-       " [-41.18988037109375, -25.732271194458008, -7.8412604331970215],\n",
-       " [-41.17799377441406, 37.391597747802734, -3.1297314167022705],\n",
-       " [-41.176273345947266, -15.32457160949707, -83.13008117675781],\n",
-       " [-41.170166015625, -20.75104331970215, -55.991207122802734],\n",
-       " [-41.1663703918457, -9.579438209533691, -95.25968933105469],\n",
-       " [-41.12423324584961, 46.58306884765625, 5.692955493927002],\n",
-       " [-41.08937072753906, 52.77437210083008, 14.576435089111328],\n",
-       " [-41.08104705810547, 29.80187225341797, -78.0459976196289],\n",
-       " [-41.06954574584961, 8.166577339172363, -107.63201904296875],\n",
-       " [-41.06658935546875, 36.82056427001953, -30.14086151123047],\n",
-       " ...]"
-      ]
-     },
-     "execution_count": 44,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "scanvert"
-   ]
-  },
   {
    "cell_type": "code",
    "execution_count": 50,
diff --git a/readthedocs-environment.yml b/readthedocs-environment.yml
index ab14664fc06b63d99109c208a02059b87d6cc536..7ff035fea73bf819022344c3abf9d9976ce40cb9 100644
--- a/readthedocs-environment.yml
+++ b/readthedocs-environment.yml
@@ -19,6 +19,7 @@ dependencies:
   - jupyter_client=5.2.3=py_1
   - jupyter_core=4.4.0=py_0
   - jupyter_contrib_nbextensions
+  - jupyter_sphinx
   - msgpack-python=0.5.6
   - nb_anacondacloud=1.4.0=py35_0
   - nb_conda=2.2.1=py35_0