chiark / gitweb /
scaffold-clamp: wip straphook
[reprap-play.git] / quacks-ingredients-counts.scad
index 1eeb70ce4f088a6ca42f654c89ce7ef3ea394286..c2a8d084f9e9d770ad9b8feeaf81db8ef3565934 100644 (file)
@@ -1,8 +1,12 @@
 //  autogenerated - do not edit
 //   update script is quacks-ingredients-updates-levels
 //   source is quacks-ingredients-counts
-module 1xFour(){ ////toplevel
-// 1xFour      total= 1  rowsz=1  nrows=1
+module Base_1xFour(){ ////toplevel
+// Base  1xFour      total= 1  rowsz=1  nrows=1
+  union(){
+    Frame($phase, token_pitch * [ 1 + 1.00, 1 + 0.50 ]);
+    $nspots = 0;
+  };
   union(){
     Frame($phase, token_pitch * [ 1 + 1.00, 1 + 0.50 ]);
     $nspots = 1;
@@ -21,8 +25,12 @@ module 1xFour(){ ////toplevel
     translate(token_pitch * [   0.0,   0.0 ]) Token_L();
   };
 }
-module 1xOne(){ ////toplevel
-// 1xOne       total= 1  rowsz=1  nrows=1
+module Base_1xOne(){ ////toplevel
+// Base  1xOne       total= 1  rowsz=1  nrows=1
+  union(){
+    Frame($phase, token_pitch * [ 1 + 1.00, 1 + 0.50 ]);
+    $nspots = 0;
+  };
   union(){
     Frame($phase, token_pitch * [ 1 + 1.00, 1 + 0.50 ]);
     $nspots = 1;
@@ -41,8 +49,12 @@ module 1xOne(){ ////toplevel
     $nspots = 4;
   };
 }
-module 1xThree(){ ////toplevel
-// 1xThree     total= 1  rowsz=1  nrows=1
+module Base_1xThree(){ ////toplevel
+// Base  1xThree     total= 1  rowsz=1  nrows=1
+  union(){
+    Frame($phase, token_pitch * [ 1 + 1.00, 1 + 0.50 ]);
+    $nspots = 0;
+  };
   union(){
     Frame($phase, token_pitch * [ 1 + 1.00, 1 + 0.50 ]);
     $nspots = 1;
@@ -61,8 +73,12 @@ module 1xThree(){ ////toplevel
     $nspots = 4;
   };
 }
-module 1xTwo(){ ////toplevel
-// 1xTwo       total= 1  rowsz=1  nrows=1
+module Base_1xTwo(){ ////toplevel
+// Base  1xTwo       total= 1  rowsz=1  nrows=1
+  union(){
+    Frame($phase, token_pitch * [ 1 + 1.00, 1 + 0.50 ]);
+    $nspots = 0;
+  };
   union(){
     Frame($phase, token_pitch * [ 1 + 1.00, 1 + 0.50 ]);
     $nspots = 1;
@@ -81,8 +97,36 @@ module 1xTwo(){ ////toplevel
     $nspots = 4;
   };
 }
-module 2xFour(){ ////toplevel
-// 2xFour      total= 2  rowsz=2  nrows=1
+module Base_1xZero(){ ////toplevel
+// Base  1xZero      total= 1  rowsz=1  nrows=1
+  union(){
+    Frame($phase, token_pitch * [ 1 + 1.00, 1 + 0.50 ]);
+    $nspots = 0;
+    translate(token_pitch * [   0.0,   0.0 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 1 + 1.00, 1 + 0.50 ]);
+    $nspots = 1;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 1 + 1.00, 1 + 0.50 ]);
+    $nspots = 2;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 1 + 1.00, 1 + 0.50 ]);
+    $nspots = 3;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 1 + 1.00, 1 + 0.50 ]);
+    $nspots = 4;
+  };
+}
+module Base_2xFour(){ ////toplevel
+// Base  2xFour      total= 2  rowsz=2  nrows=1
+  union(){
+    Frame($phase, token_pitch * [ 2 + 1.00, 1 + 0.50 ]);
+    $nspots = 0;
+  };
   union(){
     Frame($phase, token_pitch * [ 2 + 1.00, 1 + 0.50 ]);
     $nspots = 1;
@@ -102,8 +146,12 @@ module 2xFour(){ ////toplevel
     translate(token_pitch * [   0.5,   0.0 ]) Token_L();
   };
 }
-module 2xOne(){ ////toplevel
-// 2xOne       total= 2  rowsz=2  nrows=1
+module Base_2xOne(){ ////toplevel
+// Base  2xOne       total= 2  rowsz=2  nrows=1
+  union(){
+    Frame($phase, token_pitch * [ 2 + 1.00, 1 + 0.50 ]);
+    $nspots = 0;
+  };
   union(){
     Frame($phase, token_pitch * [ 2 + 1.00, 1 + 0.50 ]);
     $nspots = 1;
@@ -123,8 +171,12 @@ module 2xOne(){ ////toplevel
     $nspots = 4;
   };
 }
-module 2xThree(){ ////toplevel
-// 2xThree     total= 2  rowsz=2  nrows=1
+module Base_2xThree(){ ////toplevel
+// Base  2xThree     total= 2  rowsz=2  nrows=1
+  union(){
+    Frame($phase, token_pitch * [ 2 + 1.00, 1 + 0.50 ]);
+    $nspots = 0;
+  };
   union(){
     Frame($phase, token_pitch * [ 2 + 1.00, 1 + 0.50 ]);
     $nspots = 1;
@@ -144,8 +196,12 @@ module 2xThree(){ ////toplevel
     $nspots = 4;
   };
 }
-module 2xTwo(){ ////toplevel
-// 2xTwo       total= 2  rowsz=2  nrows=1
+module Base_2xTwo(){ ////toplevel
+// Base  2xTwo       total= 2  rowsz=2  nrows=1
+  union(){
+    Frame($phase, token_pitch * [ 2 + 1.00, 1 + 0.50 ]);
+    $nspots = 0;
+  };
   union(){
     Frame($phase, token_pitch * [ 2 + 1.00, 1 + 0.50 ]);
     $nspots = 1;
@@ -165,8 +221,37 @@ module 2xTwo(){ ////toplevel
     $nspots = 4;
   };
 }
-module 3xFour(){ ////toplevel
-// 3xFour      total= 3  rowsz=2  nrows=2
+module Base_2xZero(){ ////toplevel
+// Base  2xZero      total= 2  rowsz=2  nrows=1
+  union(){
+    Frame($phase, token_pitch * [ 2 + 1.00, 1 + 0.50 ]);
+    $nspots = 0;
+    translate(token_pitch * [  -0.5,   0.0 ]) Token_L();
+    translate(token_pitch * [   0.5,   0.0 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 2 + 1.00, 1 + 0.50 ]);
+    $nspots = 1;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 2 + 1.00, 1 + 0.50 ]);
+    $nspots = 2;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 2 + 1.00, 1 + 0.50 ]);
+    $nspots = 3;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 2 + 1.00, 1 + 0.50 ]);
+    $nspots = 4;
+  };
+}
+module Base_3xFour(){ ////toplevel
+// Base  3xFour      total= 3  rowsz=2  nrows=2
+  union(){
+    Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+    $nspots = 0;
+  };
   union(){
     Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
     $nspots = 1;
@@ -187,8 +272,12 @@ module 3xFour(){ ////toplevel
     translate(token_pitch * [   0.5,  -0.5 ]) Token_L();
   };
 }
-module 3xOne(){ ////toplevel
-// 3xOne       total= 3  rowsz=2  nrows=2
+module Base_3xOne(){ ////toplevel
+// Base  3xOne       total= 3  rowsz=2  nrows=2
+  union(){
+    Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+    $nspots = 0;
+  };
   union(){
     Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
     $nspots = 1;
@@ -209,8 +298,12 @@ module 3xOne(){ ////toplevel
     $nspots = 4;
   };
 }
-module 3xThree(){ ////toplevel
-// 3xThree     total= 3  rowsz=2  nrows=2
+module Base_3xThree(){ ////toplevel
+// Base  3xThree     total= 3  rowsz=2  nrows=2
+  union(){
+    Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+    $nspots = 0;
+  };
   union(){
     Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
     $nspots = 1;
@@ -231,8 +324,12 @@ module 3xThree(){ ////toplevel
     $nspots = 4;
   };
 }
-module 3xTwo(){ ////toplevel
-// 3xTwo       total= 3  rowsz=2  nrows=2
+module Base_3xTwo(){ ////toplevel
+// Base  3xTwo       total= 3  rowsz=2  nrows=2
+  union(){
+    Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+    $nspots = 0;
+  };
   union(){
     Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
     $nspots = 1;
@@ -253,8 +350,38 @@ module 3xTwo(){ ////toplevel
     $nspots = 4;
   };
 }
-module Black(){ ////toplevel
-// Black       total=18  rowsz=5  nrows=4
+module Base_3xZero(){ ////toplevel
+// Base  3xZero      total= 3  rowsz=2  nrows=2
+  union(){
+    Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+    $nspots = 0;
+    translate(token_pitch * [  -0.5,  -0.5 ]) Token_L();
+    translate(token_pitch * [  -0.5,   0.5 ]) Token_L();
+    translate(token_pitch * [   0.5,  -0.5 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+    $nspots = 1;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+    $nspots = 2;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+    $nspots = 3;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+    $nspots = 4;
+  };
+}
+module Base_Black(){ ////toplevel
+// Base  Black       total=18  rowsz=5  nrows=4
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 4 + 0.50 ]);
+    $nspots = 0;
+  };
   union(){
     Frame($phase, token_pitch * [ 5 + 1.00, 4 + 0.50 ]);
     $nspots = 1;
@@ -290,8 +417,12 @@ module Black(){ ////toplevel
     $nspots = 4;
   };
 }
-module Blue(){ ////toplevel
-// Blue        total=34  rowsz=6  nrows=6
+module Base_Blue(){ ////toplevel
+// Base  Blue        total=34  rowsz=6  nrows=6
+  union(){
+    Frame($phase, token_pitch * [ 6 + 1.00, 6 + 0.50 ]);
+    $nspots = 0;
+  };
   union(){
     Frame($phase, token_pitch * [ 6 + 1.00, 6 + 0.50 ]);
     $nspots = 1;
@@ -343,8 +474,12 @@ module Blue(){ ////toplevel
     translate(token_pitch * [   2.5,   0.5 ]) Token_L();
   };
 }
-module Green(){ ////toplevel
-// Green       total=38  rowsz=7  nrows=6
+module Base_Green(){ ////toplevel
+// Base  Green       total=38  rowsz=7  nrows=6
+  union(){
+    Frame($phase, token_pitch * [ 7 + 1.00, 6 + 0.50 ]);
+    $nspots = 0;
+  };
   union(){
     Frame($phase, token_pitch * [ 7 + 1.00, 6 + 0.50 ]);
     $nspots = 1;
@@ -400,8 +535,12 @@ module Green(){ ////toplevel
     translate(token_pitch * [   3.0,  -1.5 ]) Token_L();
   };
 }
-module Orange(){ ////toplevel
-// Orange      total=20  rowsz=5  nrows=4
+module Base_Orange(){ ////toplevel
+// Base  Orange      total=20  rowsz=5  nrows=4
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 4 + 0.50 ]);
+    $nspots = 0;
+  };
   union(){
     Frame($phase, token_pitch * [ 5 + 1.00, 4 + 0.50 ]);
     $nspots = 1;
@@ -439,8 +578,12 @@ module Orange(){ ////toplevel
     $nspots = 4;
   };
 }
-module Purple(){ ////toplevel
-// Purple      total=15  rowsz=4  nrows=4
+module Base_Purple(){ ////toplevel
+// Base  Purple      total=15  rowsz=4  nrows=4
+  union(){
+    Frame($phase, token_pitch * [ 4 + 1.00, 4 + 0.50 ]);
+    $nspots = 0;
+  };
   union(){
     Frame($phase, token_pitch * [ 4 + 1.00, 4 + 0.50 ]);
     $nspots = 1;
@@ -473,8 +616,12 @@ module Purple(){ ////toplevel
     $nspots = 4;
   };
 }
-module Red(){ ////toplevel
-// Red         total=30  rowsz=6  nrows=5
+module Base_Red(){ ////toplevel
+// Base  Red         total=30  rowsz=6  nrows=5
+  union(){
+    Frame($phase, token_pitch * [ 6 + 1.00, 5 + 0.50 ]);
+    $nspots = 0;
+  };
   union(){
     Frame($phase, token_pitch * [ 6 + 1.00, 5 + 0.50 ]);
     $nspots = 1;
@@ -522,8 +669,12 @@ module Red(){ ////toplevel
     translate(token_pitch * [   2.5,   2.0 ]) Token_L();
   };
 }
-module White(){ ////toplevel
-// White       total=32  rowsz=6  nrows=6
+module Base_White(){ ////toplevel
+// Base  White       total=35  rowsz=6  nrows=6
+  union(){
+    Frame($phase, token_pitch * [ 6 + 1.00, 6 + 0.50 ]);
+    $nspots = 0;
+  };
   union(){
     Frame($phase, token_pitch * [ 6 + 1.00, 6 + 0.50 ]);
     $nspots = 1;
@@ -547,11 +698,11 @@ module White(){ ////toplevel
     translate(token_pitch * [  -0.5,   2.5 ]) Token_L();
     translate(token_pitch * [   0.5,  -2.5 ]) Token_L();
     translate(token_pitch * [   0.5,  -1.5 ]) Token_L();
+    translate(token_pitch * [   0.5,  -0.5 ]) Token_L();
   };
   union(){
     Frame($phase, token_pitch * [ 6 + 1.00, 6 + 0.50 ]);
     $nspots = 2;
-    translate(token_pitch * [   0.5,  -0.5 ]) Token_L();
     translate(token_pitch * [   0.5,   0.5 ]) Token_L();
     translate(token_pitch * [   0.5,   1.5 ]) Token_L();
     translate(token_pitch * [   0.5,   2.5 ]) Token_L();
@@ -559,22 +710,55 @@ module White(){ ////toplevel
     translate(token_pitch * [   1.5,  -1.5 ]) Token_L();
     translate(token_pitch * [   1.5,  -0.5 ]) Token_L();
     translate(token_pitch * [   1.5,   0.5 ]) Token_L();
+    translate(token_pitch * [   1.5,   1.5 ]) Token_L();
+    translate(token_pitch * [   1.5,   2.5 ]) Token_L();
   };
   union(){
     Frame($phase, token_pitch * [ 6 + 1.00, 6 + 0.50 ]);
     $nspots = 3;
-    translate(token_pitch * [   1.5,   1.5 ]) Token_L();
-    translate(token_pitch * [   1.5,   2.5 ]) Token_L();
     translate(token_pitch * [   2.5,  -2.5 ]) Token_L();
     translate(token_pitch * [   2.5,  -1.5 ]) Token_L();
+    translate(token_pitch * [   2.5,  -0.5 ]) Token_L();
+    translate(token_pitch * [   2.5,   0.5 ]) Token_L();
+    translate(token_pitch * [   2.5,   1.5 ]) Token_L();
   };
   union(){
     Frame($phase, token_pitch * [ 6 + 1.00, 6 + 0.50 ]);
     $nspots = 4;
   };
 }
-module Yellow(){ ////toplevel
-// Yellow      total=29  rowsz=6  nrows=5
+module Base_WhiteSpare(){ ////toplevel
+// Base  WhiteSpare  total= 3  rowsz=2  nrows=2
+  union(){
+    Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+    $nspots = 0;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+    $nspots = 1;
+    translate(token_pitch * [  -0.5,  -0.5 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+    $nspots = 2;
+    translate(token_pitch * [  -0.5,   0.5 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+    $nspots = 3;
+    translate(token_pitch * [   0.5,  -0.5 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+    $nspots = 4;
+  };
+}
+module Base_Yellow(){ ////toplevel
+// Base  Yellow      total=29  rowsz=6  nrows=5
+  union(){
+    Frame($phase, token_pitch * [ 6 + 1.00, 5 + 0.50 ]);
+    $nspots = 0;
+  };
   union(){
     Frame($phase, token_pitch * [ 6 + 1.00, 5 + 0.50 ]);
     $nspots = 1;
@@ -621,5 +805,1022 @@ module Yellow(){ ////toplevel
     translate(token_pitch * [   2.5,   1.0 ]) Token_L();
   };
 }
-// total_count=240   total_real_count=216
-// max_rowsz=7       max_nrows=6
+// Base  total_count=252   total_real_count=219
+// Base  max_rowsz=7       max_nrows=6
+module All_Black(){ ////toplevel
+// All  Black       total=26  rowsz=6  nrows=5
+  union(){
+    Frame($phase, token_pitch * [ 6 + 1.00, 5 + 0.50 ]);
+    $nspots = 0;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 6 + 1.00, 5 + 0.50 ]);
+    $nspots = 1;
+    translate(token_pitch * [  -2.5,  -2.0 ]) Token_L();
+    translate(token_pitch * [  -2.5,  -1.0 ]) Token_L();
+    translate(token_pitch * [  -2.5,   0.0 ]) Token_L();
+    translate(token_pitch * [  -2.5,   1.0 ]) Token_L();
+    translate(token_pitch * [  -2.5,   2.0 ]) Token_L();
+    translate(token_pitch * [  -1.5,  -2.0 ]) Token_L();
+    translate(token_pitch * [  -1.5,  -1.0 ]) Token_L();
+    translate(token_pitch * [  -1.5,   0.0 ]) Token_L();
+    translate(token_pitch * [  -1.5,   1.0 ]) Token_L();
+    translate(token_pitch * [  -1.5,   2.0 ]) Token_L();
+    translate(token_pitch * [  -0.5,  -2.0 ]) Token_L();
+    translate(token_pitch * [  -0.5,  -1.0 ]) Token_L();
+    translate(token_pitch * [  -0.5,   0.0 ]) Token_L();
+    translate(token_pitch * [  -0.5,   1.0 ]) Token_L();
+    translate(token_pitch * [  -0.5,   2.0 ]) Token_L();
+    translate(token_pitch * [   0.5,  -2.0 ]) Token_L();
+    translate(token_pitch * [   0.5,  -1.0 ]) Token_L();
+    translate(token_pitch * [   0.5,   0.0 ]) Token_L();
+    translate(token_pitch * [   0.5,   1.0 ]) Token_L();
+    translate(token_pitch * [   0.5,   2.0 ]) Token_L();
+    translate(token_pitch * [   1.5,  -2.0 ]) Token_L();
+    translate(token_pitch * [   1.5,  -1.0 ]) Token_L();
+    translate(token_pitch * [   1.5,   0.0 ]) Token_L();
+    translate(token_pitch * [   1.5,   1.0 ]) Token_L();
+    translate(token_pitch * [   1.5,   2.0 ]) Token_L();
+    translate(token_pitch * [   2.5,  -2.0 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 6 + 1.00, 5 + 0.50 ]);
+    $nspots = 2;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 6 + 1.00, 5 + 0.50 ]);
+    $nspots = 3;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 6 + 1.00, 5 + 0.50 ]);
+    $nspots = 4;
+  };
+}
+module All_Blue(){ ////toplevel
+// All  Blue        total=52  rowsz=8  nrows=7
+  union(){
+    Frame($phase, token_pitch * [ 8 + 1.00, 7 + 0.50 ]);
+    $nspots = 0;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 8 + 1.00, 7 + 0.50 ]);
+    $nspots = 1;
+    translate(token_pitch * [  -3.5,  -3.0 ]) Token_L();
+    translate(token_pitch * [  -3.5,  -2.0 ]) Token_L();
+    translate(token_pitch * [  -3.5,  -1.0 ]) Token_L();
+    translate(token_pitch * [  -3.5,   0.0 ]) Token_L();
+    translate(token_pitch * [  -3.5,   1.0 ]) Token_L();
+    translate(token_pitch * [  -3.5,   2.0 ]) Token_L();
+    translate(token_pitch * [  -3.5,   3.0 ]) Token_L();
+    translate(token_pitch * [  -2.5,  -3.0 ]) Token_L();
+    translate(token_pitch * [  -2.5,  -2.0 ]) Token_L();
+    translate(token_pitch * [  -2.5,  -1.0 ]) Token_L();
+    translate(token_pitch * [  -2.5,   0.0 ]) Token_L();
+    translate(token_pitch * [  -2.5,   1.0 ]) Token_L();
+    translate(token_pitch * [  -2.5,   2.0 ]) Token_L();
+    translate(token_pitch * [  -2.5,   3.0 ]) Token_L();
+    translate(token_pitch * [  -1.5,  -3.0 ]) Token_L();
+    translate(token_pitch * [  -1.5,  -2.0 ]) Token_L();
+    translate(token_pitch * [  -1.5,  -1.0 ]) Token_L();
+    translate(token_pitch * [  -1.5,   0.0 ]) Token_L();
+    translate(token_pitch * [  -1.5,   1.0 ]) Token_L();
+    translate(token_pitch * [  -1.5,   2.0 ]) Token_L();
+    translate(token_pitch * [  -1.5,   3.0 ]) Token_L();
+    translate(token_pitch * [  -0.5,  -3.0 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 8 + 1.00, 7 + 0.50 ]);
+    $nspots = 2;
+    translate(token_pitch * [  -0.5,  -2.0 ]) Token_L();
+    translate(token_pitch * [  -0.5,  -1.0 ]) Token_L();
+    translate(token_pitch * [  -0.5,   0.0 ]) Token_L();
+    translate(token_pitch * [  -0.5,   1.0 ]) Token_L();
+    translate(token_pitch * [  -0.5,   2.0 ]) Token_L();
+    translate(token_pitch * [  -0.5,   3.0 ]) Token_L();
+    translate(token_pitch * [   0.5,  -3.0 ]) Token_L();
+    translate(token_pitch * [   0.5,  -2.0 ]) Token_L();
+    translate(token_pitch * [   0.5,  -1.0 ]) Token_L();
+    translate(token_pitch * [   0.5,   0.0 ]) Token_L();
+    translate(token_pitch * [   0.5,   1.0 ]) Token_L();
+    translate(token_pitch * [   0.5,   2.0 ]) Token_L();
+    translate(token_pitch * [   0.5,   3.0 ]) Token_L();
+    translate(token_pitch * [   1.5,  -3.0 ]) Token_L();
+    translate(token_pitch * [   1.5,  -2.0 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 8 + 1.00, 7 + 0.50 ]);
+    $nspots = 3;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 8 + 1.00, 7 + 0.50 ]);
+    $nspots = 4;
+    translate(token_pitch * [   1.5,  -1.0 ]) Token_L();
+    translate(token_pitch * [   1.5,   0.0 ]) Token_L();
+    translate(token_pitch * [   1.5,   1.0 ]) Token_L();
+    translate(token_pitch * [   1.5,   2.0 ]) Token_L();
+    translate(token_pitch * [   1.5,   3.0 ]) Token_L();
+    translate(token_pitch * [   2.5,  -3.0 ]) Token_L();
+    translate(token_pitch * [   2.5,  -2.0 ]) Token_L();
+    translate(token_pitch * [   2.5,  -1.0 ]) Token_L();
+    translate(token_pitch * [   2.5,   0.0 ]) Token_L();
+    translate(token_pitch * [   2.5,   1.0 ]) Token_L();
+    translate(token_pitch * [   2.5,   2.0 ]) Token_L();
+    translate(token_pitch * [   2.5,   3.0 ]) Token_L();
+    translate(token_pitch * [   3.5,  -3.0 ]) Token_L();
+    translate(token_pitch * [   3.5,  -2.0 ]) Token_L();
+    translate(token_pitch * [   3.5,  -1.0 ]) Token_L();
+  };
+}
+module All_Green(){ ////toplevel
+// All  Green       total=58  rowsz=8  nrows=8
+  union(){
+    Frame($phase, token_pitch * [ 8 + 1.00, 8 + 0.50 ]);
+    $nspots = 0;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 8 + 1.00, 8 + 0.50 ]);
+    $nspots = 1;
+    translate(token_pitch * [  -3.5,  -3.5 ]) Token_L();
+    translate(token_pitch * [  -3.5,  -2.5 ]) Token_L();
+    translate(token_pitch * [  -3.5,  -1.5 ]) Token_L();
+    translate(token_pitch * [  -3.5,  -0.5 ]) Token_L();
+    translate(token_pitch * [  -3.5,   0.5 ]) Token_L();
+    translate(token_pitch * [  -3.5,   1.5 ]) Token_L();
+    translate(token_pitch * [  -3.5,   2.5 ]) Token_L();
+    translate(token_pitch * [  -3.5,   3.5 ]) Token_L();
+    translate(token_pitch * [  -2.5,  -3.5 ]) Token_L();
+    translate(token_pitch * [  -2.5,  -2.5 ]) Token_L();
+    translate(token_pitch * [  -2.5,  -1.5 ]) Token_L();
+    translate(token_pitch * [  -2.5,  -0.5 ]) Token_L();
+    translate(token_pitch * [  -2.5,   0.5 ]) Token_L();
+    translate(token_pitch * [  -2.5,   1.5 ]) Token_L();
+    translate(token_pitch * [  -2.5,   2.5 ]) Token_L();
+    translate(token_pitch * [  -2.5,   3.5 ]) Token_L();
+    translate(token_pitch * [  -1.5,  -3.5 ]) Token_L();
+    translate(token_pitch * [  -1.5,  -2.5 ]) Token_L();
+    translate(token_pitch * [  -1.5,  -1.5 ]) Token_L();
+    translate(token_pitch * [  -1.5,  -0.5 ]) Token_L();
+    translate(token_pitch * [  -1.5,   0.5 ]) Token_L();
+    translate(token_pitch * [  -1.5,   1.5 ]) Token_L();
+    translate(token_pitch * [  -1.5,   2.5 ]) Token_L();
+    translate(token_pitch * [  -1.5,   3.5 ]) Token_L();
+    translate(token_pitch * [  -0.5,  -3.5 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 8 + 1.00, 8 + 0.50 ]);
+    $nspots = 2;
+    translate(token_pitch * [  -0.5,  -2.5 ]) Token_L();
+    translate(token_pitch * [  -0.5,  -1.5 ]) Token_L();
+    translate(token_pitch * [  -0.5,  -0.5 ]) Token_L();
+    translate(token_pitch * [  -0.5,   0.5 ]) Token_L();
+    translate(token_pitch * [  -0.5,   1.5 ]) Token_L();
+    translate(token_pitch * [  -0.5,   2.5 ]) Token_L();
+    translate(token_pitch * [  -0.5,   3.5 ]) Token_L();
+    translate(token_pitch * [   0.5,  -3.5 ]) Token_L();
+    translate(token_pitch * [   0.5,  -2.5 ]) Token_L();
+    translate(token_pitch * [   0.5,  -1.5 ]) Token_L();
+    translate(token_pitch * [   0.5,  -0.5 ]) Token_L();
+    translate(token_pitch * [   0.5,   0.5 ]) Token_L();
+    translate(token_pitch * [   0.5,   1.5 ]) Token_L();
+    translate(token_pitch * [   0.5,   2.5 ]) Token_L();
+    translate(token_pitch * [   0.5,   3.5 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 8 + 1.00, 8 + 0.50 ]);
+    $nspots = 3;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 8 + 1.00, 8 + 0.50 ]);
+    $nspots = 4;
+    translate(token_pitch * [   1.5,  -3.5 ]) Token_L();
+    translate(token_pitch * [   1.5,  -2.5 ]) Token_L();
+    translate(token_pitch * [   1.5,  -1.5 ]) Token_L();
+    translate(token_pitch * [   1.5,  -0.5 ]) Token_L();
+    translate(token_pitch * [   1.5,   0.5 ]) Token_L();
+    translate(token_pitch * [   1.5,   1.5 ]) Token_L();
+    translate(token_pitch * [   1.5,   2.5 ]) Token_L();
+    translate(token_pitch * [   1.5,   3.5 ]) Token_L();
+    translate(token_pitch * [   2.5,  -3.5 ]) Token_L();
+    translate(token_pitch * [   2.5,  -2.5 ]) Token_L();
+    translate(token_pitch * [   2.5,  -1.5 ]) Token_L();
+    translate(token_pitch * [   2.5,  -0.5 ]) Token_L();
+    translate(token_pitch * [   2.5,   0.5 ]) Token_L();
+    translate(token_pitch * [   2.5,   1.5 ]) Token_L();
+    translate(token_pitch * [   2.5,   2.5 ]) Token_L();
+    translate(token_pitch * [   2.5,   3.5 ]) Token_L();
+    translate(token_pitch * [   3.5,  -3.5 ]) Token_L();
+    translate(token_pitch * [   3.5,  -2.5 ]) Token_L();
+  };
+}
+module All_Loco(){ ////toplevel
+// All  Loco        total=25  rowsz=5  nrows=5
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 5 + 0.50 ]);
+    $nspots = 0;
+    translate(token_pitch * [  -2.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,   0.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,   1.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,   2.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,   0.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,   1.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,   2.0 ]) Token_L();
+    translate(token_pitch * [   0.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [   0.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [   0.0,   0.0 ]) Token_L();
+    translate(token_pitch * [   0.0,   1.0 ]) Token_L();
+    translate(token_pitch * [   0.0,   2.0 ]) Token_L();
+    translate(token_pitch * [   1.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [   1.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [   1.0,   0.0 ]) Token_L();
+    translate(token_pitch * [   1.0,   1.0 ]) Token_L();
+    translate(token_pitch * [   1.0,   2.0 ]) Token_L();
+    translate(token_pitch * [   2.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [   2.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [   2.0,   0.0 ]) Token_L();
+    translate(token_pitch * [   2.0,   1.0 ]) Token_L();
+    translate(token_pitch * [   2.0,   2.0 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 5 + 0.50 ]);
+    $nspots = 1;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 5 + 0.50 ]);
+    $nspots = 2;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 5 + 0.50 ]);
+    $nspots = 3;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 5 + 0.50 ]);
+    $nspots = 4;
+  };
+}
+module All_Orange(){ ////toplevel
+// All  Orange      total=32  rowsz=6  nrows=6
+  union(){
+    Frame($phase, token_pitch * [ 6 + 1.00, 6 + 0.50 ]);
+    $nspots = 0;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 6 + 1.00, 6 + 0.50 ]);
+    $nspots = 1;
+    translate(token_pitch * [  -2.5,  -2.5 ]) Token_L();
+    translate(token_pitch * [  -2.5,  -1.5 ]) Token_L();
+    translate(token_pitch * [  -2.5,  -0.5 ]) Token_L();
+    translate(token_pitch * [  -2.5,   0.5 ]) Token_L();
+    translate(token_pitch * [  -2.5,   1.5 ]) Token_L();
+    translate(token_pitch * [  -2.5,   2.5 ]) Token_L();
+    translate(token_pitch * [  -1.5,  -2.5 ]) Token_L();
+    translate(token_pitch * [  -1.5,  -1.5 ]) Token_L();
+    translate(token_pitch * [  -1.5,  -0.5 ]) Token_L();
+    translate(token_pitch * [  -1.5,   0.5 ]) Token_L();
+    translate(token_pitch * [  -1.5,   1.5 ]) Token_L();
+    translate(token_pitch * [  -1.5,   2.5 ]) Token_L();
+    translate(token_pitch * [  -0.5,  -2.5 ]) Token_L();
+    translate(token_pitch * [  -0.5,  -1.5 ]) Token_L();
+    translate(token_pitch * [  -0.5,  -0.5 ]) Token_L();
+    translate(token_pitch * [  -0.5,   0.5 ]) Token_L();
+    translate(token_pitch * [  -0.5,   1.5 ]) Token_L();
+    translate(token_pitch * [  -0.5,   2.5 ]) Token_L();
+    translate(token_pitch * [   0.5,  -2.5 ]) Token_L();
+    translate(token_pitch * [   0.5,  -1.5 ]) Token_L();
+    translate(token_pitch * [   0.5,  -0.5 ]) Token_L();
+    translate(token_pitch * [   0.5,   0.5 ]) Token_L();
+    translate(token_pitch * [   0.5,   1.5 ]) Token_L();
+    translate(token_pitch * [   0.5,   2.5 ]) Token_L();
+    translate(token_pitch * [   1.5,  -2.5 ]) Token_L();
+    translate(token_pitch * [   1.5,  -1.5 ]) Token_L();
+    translate(token_pitch * [   1.5,  -0.5 ]) Token_L();
+    translate(token_pitch * [   1.5,   0.5 ]) Token_L();
+    translate(token_pitch * [   1.5,   1.5 ]) Token_L();
+    translate(token_pitch * [   1.5,   2.5 ]) Token_L();
+    translate(token_pitch * [   2.5,  -2.5 ]) Token_L();
+    translate(token_pitch * [   2.5,  -1.5 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 6 + 1.00, 6 + 0.50 ]);
+    $nspots = 2;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 6 + 1.00, 6 + 0.50 ]);
+    $nspots = 3;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 6 + 1.00, 6 + 0.50 ]);
+    $nspots = 4;
+  };
+}
+module All_Orange6(){ ////toplevel
+// All  Orange6     total=20  rowsz=5  nrows=4
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 4 + 0.50 ]);
+    $nspots = 0;
+    translate(token_pitch * [  -2.0,  -1.5 ]) Token_L();
+    translate(token_pitch * [  -2.0,  -0.5 ]) Token_L();
+    translate(token_pitch * [  -2.0,   0.5 ]) Token_L();
+    translate(token_pitch * [  -2.0,   1.5 ]) Token_L();
+    translate(token_pitch * [  -1.0,  -1.5 ]) Token_L();
+    translate(token_pitch * [  -1.0,  -0.5 ]) Token_L();
+    translate(token_pitch * [  -1.0,   0.5 ]) Token_L();
+    translate(token_pitch * [  -1.0,   1.5 ]) Token_L();
+    translate(token_pitch * [   0.0,  -1.5 ]) Token_L();
+    translate(token_pitch * [   0.0,  -0.5 ]) Token_L();
+    translate(token_pitch * [   0.0,   0.5 ]) Token_L();
+    translate(token_pitch * [   0.0,   1.5 ]) Token_L();
+    translate(token_pitch * [   1.0,  -1.5 ]) Token_L();
+    translate(token_pitch * [   1.0,  -0.5 ]) Token_L();
+    translate(token_pitch * [   1.0,   0.5 ]) Token_L();
+    translate(token_pitch * [   1.0,   1.5 ]) Token_L();
+    translate(token_pitch * [   2.0,  -1.5 ]) Token_L();
+    translate(token_pitch * [   2.0,  -0.5 ]) Token_L();
+    translate(token_pitch * [   2.0,   0.5 ]) Token_L();
+    translate(token_pitch * [   2.0,   1.5 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 4 + 0.50 ]);
+    $nspots = 1;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 4 + 0.50 ]);
+    $nspots = 2;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 4 + 0.50 ]);
+    $nspots = 3;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 4 + 0.50 ]);
+    $nspots = 4;
+  };
+}
+module All_Purple(){ ////toplevel
+// All  Purple      total=23  rowsz=5  nrows=5
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 5 + 0.50 ]);
+    $nspots = 0;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 5 + 0.50 ]);
+    $nspots = 1;
+    translate(token_pitch * [  -2.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,   0.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,   1.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,   2.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,   0.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,   1.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,   2.0 ]) Token_L();
+    translate(token_pitch * [   0.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [   0.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [   0.0,   0.0 ]) Token_L();
+    translate(token_pitch * [   0.0,   1.0 ]) Token_L();
+    translate(token_pitch * [   0.0,   2.0 ]) Token_L();
+    translate(token_pitch * [   1.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [   1.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [   1.0,   0.0 ]) Token_L();
+    translate(token_pitch * [   1.0,   1.0 ]) Token_L();
+    translate(token_pitch * [   1.0,   2.0 ]) Token_L();
+    translate(token_pitch * [   2.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [   2.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [   2.0,   0.0 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 5 + 0.50 ]);
+    $nspots = 2;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 5 + 0.50 ]);
+    $nspots = 3;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 5 + 0.50 ]);
+    $nspots = 4;
+  };
+}
+module All_Red(){ ////toplevel
+// All  Red         total=46  rowsz=7  nrows=7
+  union(){
+    Frame($phase, token_pitch * [ 7 + 1.00, 7 + 0.50 ]);
+    $nspots = 0;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 7 + 1.00, 7 + 0.50 ]);
+    $nspots = 1;
+    translate(token_pitch * [  -3.0,  -3.0 ]) Token_L();
+    translate(token_pitch * [  -3.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [  -3.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [  -3.0,   0.0 ]) Token_L();
+    translate(token_pitch * [  -3.0,   1.0 ]) Token_L();
+    translate(token_pitch * [  -3.0,   2.0 ]) Token_L();
+    translate(token_pitch * [  -3.0,   3.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,  -3.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,   0.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,   1.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,   2.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,   3.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,  -3.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,   0.0 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 7 + 1.00, 7 + 0.50 ]);
+    $nspots = 2;
+    translate(token_pitch * [  -1.0,   1.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,   2.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,   3.0 ]) Token_L();
+    translate(token_pitch * [   0.0,  -3.0 ]) Token_L();
+    translate(token_pitch * [   0.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [   0.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [   0.0,   0.0 ]) Token_L();
+    translate(token_pitch * [   0.0,   1.0 ]) Token_L();
+    translate(token_pitch * [   0.0,   2.0 ]) Token_L();
+    translate(token_pitch * [   0.0,   3.0 ]) Token_L();
+    translate(token_pitch * [   1.0,  -3.0 ]) Token_L();
+    translate(token_pitch * [   1.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [   1.0,  -1.0 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 7 + 1.00, 7 + 0.50 ]);
+    $nspots = 3;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 7 + 1.00, 7 + 0.50 ]);
+    $nspots = 4;
+    translate(token_pitch * [   1.0,   0.0 ]) Token_L();
+    translate(token_pitch * [   1.0,   1.0 ]) Token_L();
+    translate(token_pitch * [   1.0,   2.0 ]) Token_L();
+    translate(token_pitch * [   1.0,   3.0 ]) Token_L();
+    translate(token_pitch * [   2.0,  -3.0 ]) Token_L();
+    translate(token_pitch * [   2.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [   2.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [   2.0,   0.0 ]) Token_L();
+    translate(token_pitch * [   2.0,   1.0 ]) Token_L();
+    translate(token_pitch * [   2.0,   2.0 ]) Token_L();
+    translate(token_pitch * [   2.0,   3.0 ]) Token_L();
+    translate(token_pitch * [   3.0,  -3.0 ]) Token_L();
+    translate(token_pitch * [   3.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [   3.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [   3.0,   0.0 ]) Token_L();
+  };
+}
+module All_White(){ ////toplevel
+// All  White       total=46  rowsz=7  nrows=7
+  union(){
+    Frame($phase, token_pitch * [ 7 + 1.00, 7 + 0.50 ]);
+    $nspots = 0;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 7 + 1.00, 7 + 0.50 ]);
+    $nspots = 1;
+    translate(token_pitch * [  -3.0,  -3.0 ]) Token_L();
+    translate(token_pitch * [  -3.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [  -3.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [  -3.0,   0.0 ]) Token_L();
+    translate(token_pitch * [  -3.0,   1.0 ]) Token_L();
+    translate(token_pitch * [  -3.0,   2.0 ]) Token_L();
+    translate(token_pitch * [  -3.0,   3.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,  -3.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,   0.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,   1.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,   2.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,   3.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,  -3.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,   0.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,   1.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,   2.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,   3.0 ]) Token_L();
+    translate(token_pitch * [   0.0,  -3.0 ]) Token_L();
+    translate(token_pitch * [   0.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [   0.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [   0.0,   0.0 ]) Token_L();
+    translate(token_pitch * [   0.0,   1.0 ]) Token_L();
+    translate(token_pitch * [   0.0,   2.0 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 7 + 1.00, 7 + 0.50 ]);
+    $nspots = 2;
+    translate(token_pitch * [   0.0,   3.0 ]) Token_L();
+    translate(token_pitch * [   1.0,  -3.0 ]) Token_L();
+    translate(token_pitch * [   1.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [   1.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [   1.0,   0.0 ]) Token_L();
+    translate(token_pitch * [   1.0,   1.0 ]) Token_L();
+    translate(token_pitch * [   1.0,   2.0 ]) Token_L();
+    translate(token_pitch * [   1.0,   3.0 ]) Token_L();
+    translate(token_pitch * [   2.0,  -3.0 ]) Token_L();
+    translate(token_pitch * [   2.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [   2.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [   2.0,   0.0 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 7 + 1.00, 7 + 0.50 ]);
+    $nspots = 3;
+    translate(token_pitch * [   2.0,   1.0 ]) Token_L();
+    translate(token_pitch * [   2.0,   2.0 ]) Token_L();
+    translate(token_pitch * [   2.0,   3.0 ]) Token_L();
+    translate(token_pitch * [   3.0,  -3.0 ]) Token_L();
+    translate(token_pitch * [   3.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [   3.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [   3.0,   0.0 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 7 + 1.00, 7 + 0.50 ]);
+    $nspots = 4;
+  };
+}
+module All_WhiteSpare(){ ////toplevel
+// All  WhiteSpare  total= 3  rowsz=2  nrows=2
+  union(){
+    Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+    $nspots = 0;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+    $nspots = 1;
+    translate(token_pitch * [  -0.5,  -0.5 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+    $nspots = 2;
+    translate(token_pitch * [  -0.5,   0.5 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+    $nspots = 3;
+    translate(token_pitch * [   0.5,  -0.5 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+    $nspots = 4;
+  };
+}
+module All_Yellow(){ ////toplevel
+// All  Yellow      total=45  rowsz=7  nrows=7
+  union(){
+    Frame($phase, token_pitch * [ 7 + 1.00, 7 + 0.50 ]);
+    $nspots = 0;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 7 + 1.00, 7 + 0.50 ]);
+    $nspots = 1;
+    translate(token_pitch * [  -3.0,  -3.0 ]) Token_L();
+    translate(token_pitch * [  -3.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [  -3.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [  -3.0,   0.0 ]) Token_L();
+    translate(token_pitch * [  -3.0,   1.0 ]) Token_L();
+    translate(token_pitch * [  -3.0,   2.0 ]) Token_L();
+    translate(token_pitch * [  -3.0,   3.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,  -3.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,   0.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,   1.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,   2.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,   3.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,  -3.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,   0.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,   1.0 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 7 + 1.00, 7 + 0.50 ]);
+    $nspots = 2;
+    translate(token_pitch * [  -1.0,   2.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,   3.0 ]) Token_L();
+    translate(token_pitch * [   0.0,  -3.0 ]) Token_L();
+    translate(token_pitch * [   0.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [   0.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [   0.0,   0.0 ]) Token_L();
+    translate(token_pitch * [   0.0,   1.0 ]) Token_L();
+    translate(token_pitch * [   0.0,   2.0 ]) Token_L();
+    translate(token_pitch * [   0.0,   3.0 ]) Token_L();
+    translate(token_pitch * [   1.0,  -3.0 ]) Token_L();
+    translate(token_pitch * [   1.0,  -2.0 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 7 + 1.00, 7 + 0.50 ]);
+    $nspots = 3;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 7 + 1.00, 7 + 0.50 ]);
+    $nspots = 4;
+    translate(token_pitch * [   1.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [   1.0,   0.0 ]) Token_L();
+    translate(token_pitch * [   1.0,   1.0 ]) Token_L();
+    translate(token_pitch * [   1.0,   2.0 ]) Token_L();
+    translate(token_pitch * [   1.0,   3.0 ]) Token_L();
+    translate(token_pitch * [   2.0,  -3.0 ]) Token_L();
+    translate(token_pitch * [   2.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [   2.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [   2.0,   0.0 ]) Token_L();
+    translate(token_pitch * [   2.0,   1.0 ]) Token_L();
+    translate(token_pitch * [   2.0,   2.0 ]) Token_L();
+    translate(token_pitch * [   2.0,   3.0 ]) Token_L();
+    translate(token_pitch * [   3.0,  -3.0 ]) Token_L();
+    translate(token_pitch * [   3.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [   3.0,  -1.0 ]) Token_L();
+  };
+}
+// All  total_count=376   total_real_count=353
+// All  max_rowsz=8       max_nrows=8
+module Witches_Black(){ ////toplevel
+// Witches  Black       total= 8  rowsz=3  nrows=3
+  union(){
+    Frame($phase, token_pitch * [ 3 + 1.00, 3 + 0.50 ]);
+    $nspots = 0;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 3 + 1.00, 3 + 0.50 ]);
+    $nspots = 1;
+    translate(token_pitch * [  -1.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,   0.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,   1.0 ]) Token_L();
+    translate(token_pitch * [   0.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [   0.0,   0.0 ]) Token_L();
+    translate(token_pitch * [   0.0,   1.0 ]) Token_L();
+    translate(token_pitch * [   1.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [   1.0,   0.0 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 3 + 1.00, 3 + 0.50 ]);
+    $nspots = 2;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 3 + 1.00, 3 + 0.50 ]);
+    $nspots = 3;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 3 + 1.00, 3 + 0.50 ]);
+    $nspots = 4;
+  };
+}
+module Witches_Blue(){ ////toplevel
+// Witches  Blue        total=18  rowsz=5  nrows=4
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 4 + 0.50 ]);
+    $nspots = 0;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 4 + 0.50 ]);
+    $nspots = 1;
+    translate(token_pitch * [  -2.0,  -1.5 ]) Token_L();
+    translate(token_pitch * [  -2.0,  -0.5 ]) Token_L();
+    translate(token_pitch * [  -2.0,   0.5 ]) Token_L();
+    translate(token_pitch * [  -2.0,   1.5 ]) Token_L();
+    translate(token_pitch * [  -1.0,  -1.5 ]) Token_L();
+    translate(token_pitch * [  -1.0,  -0.5 ]) Token_L();
+    translate(token_pitch * [  -1.0,   0.5 ]) Token_L();
+    translate(token_pitch * [  -1.0,   1.5 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 4 + 0.50 ]);
+    $nspots = 2;
+    translate(token_pitch * [   0.0,  -1.5 ]) Token_L();
+    translate(token_pitch * [   0.0,  -0.5 ]) Token_L();
+    translate(token_pitch * [   0.0,   0.5 ]) Token_L();
+    translate(token_pitch * [   0.0,   1.5 ]) Token_L();
+    translate(token_pitch * [   1.0,  -1.5 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 4 + 0.50 ]);
+    $nspots = 3;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 4 + 0.50 ]);
+    $nspots = 4;
+    translate(token_pitch * [   1.0,  -0.5 ]) Token_L();
+    translate(token_pitch * [   1.0,   0.5 ]) Token_L();
+    translate(token_pitch * [   1.0,   1.5 ]) Token_L();
+    translate(token_pitch * [   2.0,  -1.5 ]) Token_L();
+    translate(token_pitch * [   2.0,  -0.5 ]) Token_L();
+  };
+}
+module Witches_Green(){ ////toplevel
+// Witches  Green       total=20  rowsz=5  nrows=4
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 4 + 0.50 ]);
+    $nspots = 0;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 4 + 0.50 ]);
+    $nspots = 1;
+    translate(token_pitch * [  -2.0,  -1.5 ]) Token_L();
+    translate(token_pitch * [  -2.0,  -0.5 ]) Token_L();
+    translate(token_pitch * [  -2.0,   0.5 ]) Token_L();
+    translate(token_pitch * [  -2.0,   1.5 ]) Token_L();
+    translate(token_pitch * [  -1.0,  -1.5 ]) Token_L();
+    translate(token_pitch * [  -1.0,  -0.5 ]) Token_L();
+    translate(token_pitch * [  -1.0,   0.5 ]) Token_L();
+    translate(token_pitch * [  -1.0,   1.5 ]) Token_L();
+    translate(token_pitch * [   0.0,  -1.5 ]) Token_L();
+    translate(token_pitch * [   0.0,  -0.5 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 4 + 0.50 ]);
+    $nspots = 2;
+    translate(token_pitch * [   0.0,   0.5 ]) Token_L();
+    translate(token_pitch * [   0.0,   1.5 ]) Token_L();
+    translate(token_pitch * [   1.0,  -1.5 ]) Token_L();
+    translate(token_pitch * [   1.0,  -0.5 ]) Token_L();
+    translate(token_pitch * [   1.0,   0.5 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 4 + 0.50 ]);
+    $nspots = 3;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 4 + 0.50 ]);
+    $nspots = 4;
+    translate(token_pitch * [   1.0,   1.5 ]) Token_L();
+    translate(token_pitch * [   2.0,  -1.5 ]) Token_L();
+    translate(token_pitch * [   2.0,  -0.5 ]) Token_L();
+    translate(token_pitch * [   2.0,   0.5 ]) Token_L();
+    translate(token_pitch * [   2.0,   1.5 ]) Token_L();
+  };
+}
+module Witches_Loco(){ ////toplevel
+// Witches  Loco        total=25  rowsz=5  nrows=5
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 5 + 0.50 ]);
+    $nspots = 0;
+    translate(token_pitch * [  -2.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,   0.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,   1.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,   2.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,   0.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,   1.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,   2.0 ]) Token_L();
+    translate(token_pitch * [   0.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [   0.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [   0.0,   0.0 ]) Token_L();
+    translate(token_pitch * [   0.0,   1.0 ]) Token_L();
+    translate(token_pitch * [   0.0,   2.0 ]) Token_L();
+    translate(token_pitch * [   1.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [   1.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [   1.0,   0.0 ]) Token_L();
+    translate(token_pitch * [   1.0,   1.0 ]) Token_L();
+    translate(token_pitch * [   1.0,   2.0 ]) Token_L();
+    translate(token_pitch * [   2.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [   2.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [   2.0,   0.0 ]) Token_L();
+    translate(token_pitch * [   2.0,   1.0 ]) Token_L();
+    translate(token_pitch * [   2.0,   2.0 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 5 + 0.50 ]);
+    $nspots = 1;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 5 + 0.50 ]);
+    $nspots = 2;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 5 + 0.50 ]);
+    $nspots = 3;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 5 + 0.50 ]);
+    $nspots = 4;
+  };
+}
+module Witches_Orange(){ ////toplevel
+// Witches  Orange      total=12  rowsz=4  nrows=3
+  union(){
+    Frame($phase, token_pitch * [ 4 + 1.00, 3 + 0.50 ]);
+    $nspots = 0;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 4 + 1.00, 3 + 0.50 ]);
+    $nspots = 1;
+    translate(token_pitch * [  -1.5,  -1.0 ]) Token_L();
+    translate(token_pitch * [  -1.5,   0.0 ]) Token_L();
+    translate(token_pitch * [  -1.5,   1.0 ]) Token_L();
+    translate(token_pitch * [  -0.5,  -1.0 ]) Token_L();
+    translate(token_pitch * [  -0.5,   0.0 ]) Token_L();
+    translate(token_pitch * [  -0.5,   1.0 ]) Token_L();
+    translate(token_pitch * [   0.5,  -1.0 ]) Token_L();
+    translate(token_pitch * [   0.5,   0.0 ]) Token_L();
+    translate(token_pitch * [   0.5,   1.0 ]) Token_L();
+    translate(token_pitch * [   1.5,  -1.0 ]) Token_L();
+    translate(token_pitch * [   1.5,   0.0 ]) Token_L();
+    translate(token_pitch * [   1.5,   1.0 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 4 + 1.00, 3 + 0.50 ]);
+    $nspots = 2;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 4 + 1.00, 3 + 0.50 ]);
+    $nspots = 3;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 4 + 1.00, 3 + 0.50 ]);
+    $nspots = 4;
+  };
+}
+module Witches_Orange6(){ ////toplevel
+// Witches  Orange6     total=20  rowsz=5  nrows=4
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 4 + 0.50 ]);
+    $nspots = 0;
+    translate(token_pitch * [  -2.0,  -1.5 ]) Token_L();
+    translate(token_pitch * [  -2.0,  -0.5 ]) Token_L();
+    translate(token_pitch * [  -2.0,   0.5 ]) Token_L();
+    translate(token_pitch * [  -2.0,   1.5 ]) Token_L();
+    translate(token_pitch * [  -1.0,  -1.5 ]) Token_L();
+    translate(token_pitch * [  -1.0,  -0.5 ]) Token_L();
+    translate(token_pitch * [  -1.0,   0.5 ]) Token_L();
+    translate(token_pitch * [  -1.0,   1.5 ]) Token_L();
+    translate(token_pitch * [   0.0,  -1.5 ]) Token_L();
+    translate(token_pitch * [   0.0,  -0.5 ]) Token_L();
+    translate(token_pitch * [   0.0,   0.5 ]) Token_L();
+    translate(token_pitch * [   0.0,   1.5 ]) Token_L();
+    translate(token_pitch * [   1.0,  -1.5 ]) Token_L();
+    translate(token_pitch * [   1.0,  -0.5 ]) Token_L();
+    translate(token_pitch * [   1.0,   0.5 ]) Token_L();
+    translate(token_pitch * [   1.0,   1.5 ]) Token_L();
+    translate(token_pitch * [   2.0,  -1.5 ]) Token_L();
+    translate(token_pitch * [   2.0,  -0.5 ]) Token_L();
+    translate(token_pitch * [   2.0,   0.5 ]) Token_L();
+    translate(token_pitch * [   2.0,   1.5 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 4 + 0.50 ]);
+    $nspots = 1;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 4 + 0.50 ]);
+    $nspots = 2;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 4 + 0.50 ]);
+    $nspots = 3;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 4 + 0.50 ]);
+    $nspots = 4;
+  };
+}
+module Witches_Purple(){ ////toplevel
+// Witches  Purple      total= 8  rowsz=3  nrows=3
+  union(){
+    Frame($phase, token_pitch * [ 3 + 1.00, 3 + 0.50 ]);
+    $nspots = 0;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 3 + 1.00, 3 + 0.50 ]);
+    $nspots = 1;
+    translate(token_pitch * [  -1.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,   0.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,   1.0 ]) Token_L();
+    translate(token_pitch * [   0.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [   0.0,   0.0 ]) Token_L();
+    translate(token_pitch * [   0.0,   1.0 ]) Token_L();
+    translate(token_pitch * [   1.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [   1.0,   0.0 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 3 + 1.00, 3 + 0.50 ]);
+    $nspots = 2;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 3 + 1.00, 3 + 0.50 ]);
+    $nspots = 3;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 3 + 1.00, 3 + 0.50 ]);
+    $nspots = 4;
+  };
+}
+module Witches_Red(){ ////toplevel
+// Witches  Red         total=16  rowsz=4  nrows=4
+  union(){
+    Frame($phase, token_pitch * [ 4 + 1.00, 4 + 0.50 ]);
+    $nspots = 0;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 4 + 1.00, 4 + 0.50 ]);
+    $nspots = 1;
+    translate(token_pitch * [  -1.5,  -1.5 ]) Token_L();
+    translate(token_pitch * [  -1.5,  -0.5 ]) Token_L();
+    translate(token_pitch * [  -1.5,   0.5 ]) Token_L();
+    translate(token_pitch * [  -1.5,   1.5 ]) Token_L();
+    translate(token_pitch * [  -0.5,  -1.5 ]) Token_L();
+    translate(token_pitch * [  -0.5,  -0.5 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 4 + 1.00, 4 + 0.50 ]);
+    $nspots = 2;
+    translate(token_pitch * [  -0.5,   0.5 ]) Token_L();
+    translate(token_pitch * [  -0.5,   1.5 ]) Token_L();
+    translate(token_pitch * [   0.5,  -1.5 ]) Token_L();
+    translate(token_pitch * [   0.5,  -0.5 ]) Token_L();
+    translate(token_pitch * [   0.5,   0.5 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 4 + 1.00, 4 + 0.50 ]);
+    $nspots = 3;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 4 + 1.00, 4 + 0.50 ]);
+    $nspots = 4;
+    translate(token_pitch * [   0.5,   1.5 ]) Token_L();
+    translate(token_pitch * [   1.5,  -1.5 ]) Token_L();
+    translate(token_pitch * [   1.5,  -0.5 ]) Token_L();
+    translate(token_pitch * [   1.5,   0.5 ]) Token_L();
+    translate(token_pitch * [   1.5,   1.5 ]) Token_L();
+  };
+}
+module Witches_White(){ ////toplevel
+// Witches  White       total=11  rowsz=4  nrows=3
+  union(){
+    Frame($phase, token_pitch * [ 4 + 1.00, 3 + 0.50 ]);
+    $nspots = 0;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 4 + 1.00, 3 + 0.50 ]);
+    $nspots = 1;
+    translate(token_pitch * [  -1.5,  -1.0 ]) Token_L();
+    translate(token_pitch * [  -1.5,   0.0 ]) Token_L();
+    translate(token_pitch * [  -1.5,   1.0 ]) Token_L();
+    translate(token_pitch * [  -0.5,  -1.0 ]) Token_L();
+    translate(token_pitch * [  -0.5,   0.0 ]) Token_L();
+    translate(token_pitch * [  -0.5,   1.0 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 4 + 1.00, 3 + 0.50 ]);
+    $nspots = 2;
+    translate(token_pitch * [   0.5,  -1.0 ]) Token_L();
+    translate(token_pitch * [   0.5,   0.0 ]) Token_L();
+    translate(token_pitch * [   0.5,   1.0 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 4 + 1.00, 3 + 0.50 ]);
+    $nspots = 3;
+    translate(token_pitch * [   1.5,  -1.0 ]) Token_L();
+    translate(token_pitch * [   1.5,   0.0 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 4 + 1.00, 3 + 0.50 ]);
+    $nspots = 4;
+  };
+}
+module Witches_Yellow(){ ////toplevel
+// Witches  Yellow      total=16  rowsz=4  nrows=4
+  union(){
+    Frame($phase, token_pitch * [ 4 + 1.00, 4 + 0.50 ]);
+    $nspots = 0;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 4 + 1.00, 4 + 0.50 ]);
+    $nspots = 1;
+    translate(token_pitch * [  -1.5,  -1.5 ]) Token_L();
+    translate(token_pitch * [  -1.5,  -0.5 ]) Token_L();
+    translate(token_pitch * [  -1.5,   0.5 ]) Token_L();
+    translate(token_pitch * [  -1.5,   1.5 ]) Token_L();
+    translate(token_pitch * [  -0.5,  -1.5 ]) Token_L();
+    translate(token_pitch * [  -0.5,  -0.5 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 4 + 1.00, 4 + 0.50 ]);
+    $nspots = 2;
+    translate(token_pitch * [  -0.5,   0.5 ]) Token_L();
+    translate(token_pitch * [  -0.5,   1.5 ]) Token_L();
+    translate(token_pitch * [   0.5,  -1.5 ]) Token_L();
+    translate(token_pitch * [   0.5,  -0.5 ]) Token_L();
+    translate(token_pitch * [   0.5,   0.5 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 4 + 1.00, 4 + 0.50 ]);
+    $nspots = 3;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 4 + 1.00, 4 + 0.50 ]);
+    $nspots = 4;
+    translate(token_pitch * [   0.5,   1.5 ]) Token_L();
+    translate(token_pitch * [   1.5,  -1.5 ]) Token_L();
+    translate(token_pitch * [   1.5,  -0.5 ]) Token_L();
+    translate(token_pitch * [   1.5,   0.5 ]) Token_L();
+    translate(token_pitch * [   1.5,   1.5 ]) Token_L();
+  };
+}
+// Witches  total_count=154   total_real_count=134
+// Witches  max_rowsz=5       max_nrows=5