text: Dagaz.Controller.persistense = "none";
  
  ZRF = {
      JUMP:          0,
      IF:            1,
      FORK:          2,
      FUNCTION:      3,
      IN_ZONE:       4,
      FLAG:          5,
      SET_FLAG:      6,
      POS_FLAG:      7,
      SET_POS_FLAG:  8,
      ATTR:          9,
      SET_ATTR:      10,
      PROMOTE:       11,
      MODE:          12,
      ON_BOARD_DIR:  13,
      ON_BOARD_POS:  14,
      PARAM:         15,
      LITERAL:       16,
      VERIFY:        20
  };
  
  Dagaz.Model.BuildDesign = function(design) {
      design.checkVersion("z2j", "2");
      design.checkVersion("smart-moves", "false");
      design.checkVersion("show-hints", "false");
      design.checkVersion("show-blink", "false");
      design.checkVersion("animate-captures", "false");
  
      design.addDirection("se"); // 0
      design.addDirection("s");  // 1
      design.addDirection("sw"); // 2
      design.addDirection("e");  // 3
      design.addDirection("w");  // 4
      design.addDirection("ne"); // 5
      design.addDirection("nw"); // 6
      design.addDirection("n");  // 7
  
      design.addPlayer("Red", [6, 7, 5, 4, 3, 2, 0, 1]);
      design.addPlayer("Black", [6, 7, 5, 4, 3, 2, 0, 1]);
  
      design.addPosition("a10", [10, 9, 0, 1, 0, 0, 0, 0]);
      design.addPosition("b10", [10, 9, 8, 1, -1, 0, 0, 0]);
      design.addPosition("c10", [10, 9, 8, 1, -1, 0, 0, 0]);
      design.addPosition("d10", [10, 9, 8, 1, -1, 0, 0, 0]);
      design.addPosition("e10", [10, 9, 8, 1, -1, 0, 0, 0]);
      design.addPosition("f10", [10, 9, 8, 1, -1, 0, 0, 0]);
      design.addPosition("g10", [10, 9, 8, 1, -1, 0, 0, 0]);
      design.addPosition("h10", [10, 9, 8, 1, -1, 0, 0, 0]);
      design.addPosition("i10", [0, 9, 8, 0, -1, 0, 0, 0]);
      design.addPosition("a9", [10, 9, 0, 1, 0, -8, 0, -9]);
      design.addPosition("b9", [10, 9, 8, 1, -1, -8, -10, -9]);
      design.addPosition("c9", [10, 9, 8, 1, -1, -8, -10, -9]);
      design.addPosition("d9", [10, 9, 8, 1, -1, -8, -10, -9]);
      design.addPosition("e9", [10, 9, 8, 1, -1, -8, -10, -9]);
      design.addPosition("f9", [10, 9, 8, 1, -1, -8, -10, -9]);
      design.addPosition("g9", [10, 9, 8, 1, -1, -8, -10, -9]);
      design.addPosition("h9", [10, 9, 8, 1, -1, -8, -10, -9]);
      design.addPosition("i9", [0, 9, 8, 0, -1, 0, -10, -9]);
      design.addPosition("a8", [10, 9, 0, 1, 0, -8, 0, -9]);
      design.addPosition("b8", [10, 9, 8, 1, -1, -8, -10, -9]);
      design.addPosition("c8", [10, 9, 8, 1, -1, -8, -10, -9]);
      design.addPosition("d8", [10, 9, 8, 1, -1, -8, -10, -9]);
      design.addPosition("e8", [10, 9, 8, 1, -1, -8, -10, -9]);
      design.addPosition("f8", [10, 9, 8, 1, -1, -8, -10, -9]);
      design.addPosition("g8", [10, 9, 8, 1, -1, -8, -10, -9]);
      design.addPosition("h8", [10, 9, 8, 1, -1, -8, -10, -9]);
      design.addPosition("i8", [0, 9, 8, 0, -1, 0, -10, -9]);
      design.addPosition("a7", [10, 9, 0, 1, 0, -8, 0, -9]);
      design.addPosition("b7", [10, 9, 8, 1, -1, -8, -10, -9]);
      design.addPosition("c7", [10, 9, 8, 1, -1, -8, -10, -9]);
      design.addPosition("d7", [10, 9, 8, 1, -1, -8, -10, -9]);
      design.addPosition("e7", [10, 9, 8, 1, -1, -8, -10, -9]);
      design.addPosition("f7", [10, 9, 8, 1, -1, -8, -10, -9]);
      design.addPosition("g7", [10, 9, 8, 1, -1, -8, -10, -9]);
      design.addPosition("h7", [10, 9, 8, 1, -1, -8, -10, -9]);
      design.addPosition("i7", [0, 9, 8, 0, -1, 0, -10, -9]);
      design.addPosition("a6", [10, 9, 0, 1, 0, -8, 0, -9]);
      design.addPosition("b6", [10, 9, 8, 1, -1, -8, -10, -9]);
      design.addPosition("c6", [10, 9, 8, 1, -1, -8, -10, -9]);
      design.addPosition("d6", [10, 9, 8, 1, -1, -8, -10, -9]);
      design.addPosition("e6", [10, 9, 8, 1, -1, -8, -10, -9]);
      design.addPosition("f6", [10, 9, 8, 1, -1, -8, -10, -9]);
      design.addPosition("g6", [10, 9, 8, 1, -1, -8, -10, -9]);
      design.addPosition("h6", [10, 9, 8, 1, -1, -8, -10, -9]);
      design.addPosition("i6", [0, 9, 8, 0, -1, 0, -10, -9]);
      design.addPosition("a5", [10, 9, 0, 1, 0, -8, 0, -9]);
      design.addPosition("b5", [10, 9, 8, 1, -1, -8, -10, -9]);
      design.addPosition("c5", [10, 9, 8, 1, -1, -8, -10, -9]);
      design.addPosition("d5", [10, 9, 8, 1, -1, -8, -10, -9]);
      design.addPosition("e5", [10, 9, 8, 1, -1, -8, -10, -9]);
      design.addPosition("f5", [10, 9, 8, 1, -1, -8, -10, -9]);
      design.addPosition("g5", [10, 9, 8, 1, -1, -8, -10, -9]);
      design.addPosition("h5", [10, 9, 8, 1, -1, -8, -10, -9]);
      design.addPosition("i5", [0, 9, 8, 0, -1, 0, -10, -9]);
      design.addPosition("a4", [10, 9, 0, 1, 0, -8, 0, -9]);
      design.addPosition("b4", [10, 9, 8, 1, -1, -8, -10, -9]);
      design.addPosition("c4", [10, 9, 8, 1, -1, -8, -10, -9]);
      design.addPosition("d4", [10, 9, 8, 1, -1, -8, -10, -9]);
      design.addPosition("e4", [10, 9, 8, 1, -1, -8, -10, -9]);
      design.addPosition("f4", [10, 9, 8, 1, -1, -8, -10, -9]);
      design.addPosition("g4", [10, 9, 8, 1, -1, -8, -10, -9]);
      design.addPosition("h4", [10, 9, 8, 1, -1, -8, -10, -9]);
      design.addPosition("i4", [0, 9, 8, 0, -1, 0, -10, -9]);
      design.addPosition("a3", [10, 9, 0, 1, 0, -8, 0, -9]);
      design.addPosition("b3", [10, 9, 8, 1, -1, -8, -10, -9]);
      design.addPosition("c3", [10, 9, 8, 1, -1, -8, -10, -9]);
      design.addPosition("d3", [10, 9, 8, 1, -1, -8, -10, -9]);
      design.addPosition("e3", [10, 9, 8, 1, -1, -8, -10, -9]);
      design.addPosition("f3", [10, 9, 8, 1, -1, -8, -10, -9]);
      design.addPosition("g3", [10, 9, 8, 1, -1, -8, -10, -9]);
      design.addPosition("h3", [10, 9, 8, 1, -1, -8, -10, -9]);
      design.addPosition("i3", [0, 9, 8, 0, -1, 0, -10, -9]);
      design.addPosition("a2", [10, 9, 0, 1, 0, -8, 0, -9]);
      design.addPosition("b2", [10, 9, 8, 1, -1, -8, -10, -9]);
      design.addPosition("c2", [10, 9, 8, 1, -1, -8, -10, -9]);
      design.addPosition("d2", [10, 9, 8, 1, -1, -8, -10, -9]);
      design.addPosition("e2", [10, 9, 8, 1, -1, -8, -10, -9]);
      design.addPosition("f2", [10, 9, 8, 1, -1, -8, -10, -9]);
      design.addPosition("g2", [10, 9, 8, 1, -1, -8, -10, -9]);
      design.addPosition("h2", [10, 9, 8, 1, -1, -8, -10, -9]);
      design.addPosition("i2", [0, 9, 8, 0, -1, 0, -10, -9]);
      design.addPosition("a1", [0, 0, 0, 1, 0, -8, 0, -9]);
      design.addPosition("b1", [0, 0, 0, 1, -1, -8, -10, -9]);
      design.addPosition("c1", [0, 0, 0, 1, -1, -8, -10, -9]);
      design.addPosition("d1", [0, 0, 0, 1, -1, -8, -10, -9]);
      design.addPosition("e1", [0, 0, 0, 1, -1, -8, -10, -9]);
      design.addPosition("f1", [0, 0, 0, 1, -1, -8, -10, -9]);
      design.addPosition("g1", [0, 0, 0, 1, -1, -8, -10, -9]);
      design.addPosition("h1", [0, 0, 0, 1, -1, -8, -10, -9]);
      design.addPosition("i1", [0, 0, 0, 0, -1, 0, -10, -9]);
  
      design.addZone("fortress", 1, [84, 85, 86, 75, 76, 77, 66, 67, 68]);
      design.addZone("fortress", 2, [3, 4, 5, 12, 13, 14, 21, 22, 23]);
      design.addZone("home", 1, [81, 82, 83, 84, 85, 86, 87, 88, 89, 72, 73, 74, 75, 76, 77, 78, 79, 80, 63, 64, 65, 66, 67, 68, 69, 70, 71, 54, 55, 56, 57, 58, 59, 60, 61, 62, 45, 46, 47, 48, 49, 50, 51, 52, 53]);
      design.addZone("home", 2, [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44]);
      design.addZone("enemy", 1, [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44]);
      design.addZone("enemy", 2, [81, 82, 83, 84, 85, 86, 87, 88, 89, 72, 73, 74, 75, 76, 77, 78, 79, 80, 63, 64, 65, 66, 67, 68, 69, 70, 71, 54, 55, 56, 57, 58, 59, 60, 61, 62, 45, 46, 47, 48, 49, 50, 51, 52, 53]);
  
      design.addCommand(0, ZRF.FUNCTION,	24);	// from
      design.addCommand(0, ZRF.PARAM,	0);	// $1
      design.addCommand(0, ZRF.FUNCTION,	22);	// navigate
      design.addCommand(0, ZRF.FUNCTION,	1);	// empty?
      design.addCommand(0, ZRF.FUNCTION,	0);	// not
      design.addCommand(0, ZRF.IF,	7);
      design.addCommand(0, ZRF.FORK,	3);
      design.addCommand(0, ZRF.FUNCTION,	25);	// to
      design.addCommand(0, ZRF.FUNCTION,	28);	// end
      design.addCommand(0, ZRF.PARAM,	1);	// $2
      design.addCommand(0, ZRF.FUNCTION,	22);	// navigate
      design.addCommand(0, ZRF.JUMP,	-8);
      design.addCommand(0, ZRF.FUNCTION,	3);	// friend?
      design.addCommand(0, ZRF.FUNCTION,	0);	// not
      design.addCommand(0, ZRF.FUNCTION,	20);	// verify
      design.addCommand(0, ZRF.FUNCTION,	25);	// to
      design.addCommand(0, ZRF.FUNCTION,	28);	// end
  
      design.addCommand(1, ZRF.FUNCTION,	24);	// from
      design.addCommand(1, ZRF.PARAM,	0);	// $1
      design.addCommand(1, ZRF.FUNCTION,	22);	// navigate
      design.addCommand(1, ZRF.FUNCTION,	1);	// empty?
      design.addCommand(1, ZRF.FUNCTION,	20);	// verify
      design.addCommand(1, ZRF.PARAM,	1);	// $2
      design.addCommand(1, ZRF.FUNCTION,	22);	// navigate
      design.addCommand(1, ZRF.FUNCTION,	3);	// friend?
      design.addCommand(1, ZRF.FUNCTION,	0);	// not
      design.addCommand(1, ZRF.FUNCTION,	20);	// verify
      design.addCommand(1, ZRF.FUNCTION,	25);	// to
      design.addCommand(1, ZRF.FUNCTION,	28);	// end
  
      design.addCommand(2, ZRF.FUNCTION,	24);	// from
      design.addCommand(2, ZRF.PARAM,	0);	// $1
      design.addCommand(2, ZRF.FUNCTION,	22);	// navigate
      design.addCommand(2, ZRF.FUNCTION,	1);	// empty?
      design.addCommand(2, ZRF.FUNCTION,	0);	// not
      design.addCommand(2, ZRF.IF,	4);
      design.addCommand(2, ZRF.PARAM,	1);	// $2
      design.addCommand(2, ZRF.FUNCTION,	22);	// navigate
      design.addCommand(2, ZRF.JUMP,	-5);
      design.addCommand(2, ZRF.FUNCTION,	1);	// empty?
      design.addCommand(2, ZRF.FUNCTION,	0);	// not
      design.addCommand(2, ZRF.FUNCTION,	20);	// verify
      design.addCommand(2, ZRF.PARAM,	2);	// $3
      design.addCommand(2, ZRF.FUNCTION,	22);	// navigate
      design.addCommand(2, ZRF.FUNCTION,	1);	// empty?
      design.addCommand(2, ZRF.FUNCTION,	0);	// not
      design.addCommand(2, ZRF.IF,	4);
      design.addCommand(2, ZRF.PARAM,	3);	// $4
      design.addCommand(2, ZRF.FUNCTION,	22);	// navigate
      design.addCommand(2, ZRF.JUMP,	-5);
      design.addCommand(2, ZRF.FUNCTION,	3);	// friend?
      design.addCommand(2, ZRF.FUNCTION,	0);	// not
      design.addCommand(2, ZRF.FUNCTION,	20);	// verify
      design.addCommand(2, ZRF.FUNCTION,	25);	// to
      design.addCommand(2, ZRF.FUNCTION,	28);	// end
  
      design.addCommand(3, ZRF.FUNCTION,	24);	// from
      design.addCommand(3, ZRF.PARAM,	0);	// $1
      design.addCommand(3, ZRF.FUNCTION,	22);	// navigate
      design.addCommand(3, ZRF.FUNCTION,	3);	// friend?
      design.addCommand(3, ZRF.FUNCTION,	0);	// not
      design.addCommand(3, ZRF.FUNCTION,	20);	// verify
      design.addCommand(3, ZRF.FUNCTION,	25);	// to
      design.addCommand(3, ZRF.FUNCTION,	28);	// end
  
      design.addCommand(4, ZRF.FUNCTION,	24);	// from
      design.addCommand(4, ZRF.PARAM,	0);	// $1
      design.addCommand(4, ZRF.FUNCTION,	22);	// navigate
      design.addCommand(4, ZRF.FUNCTION,	3);	// friend?
      design.addCommand(4, ZRF.FUNCTION,	0);	// not
      design.addCommand(4, ZRF.FUNCTION,	20);	// verify
      design.addCommand(4, ZRF.IN_ZONE,	2);	// enemy
      design.addCommand(4, ZRF.FUNCTION,	20);	// verify
      design.addCommand(4, ZRF.FUNCTION,	25);	// to
      design.addCommand(4, ZRF.FUNCTION,	28);	// end
  
      design.addCommand(5, ZRF.FUNCTION,	24);	// from
      design.addCommand(5, ZRF.PARAM,	0);	// $1
      design.addCommand(5, ZRF.FUNCTION,	22);	// navigate
      design.addCommand(5, ZRF.FUNCTION,	1);	// empty?
      design.addCommand(5, ZRF.FUNCTION,	20);	// verify
      design.addCommand(5, ZRF.PARAM,	1);	// $2
      design.addCommand(5, ZRF.FUNCTION,	22);	// navigate
      design.addCommand(5, ZRF.FUNCTION,	3);	// friend?
      design.addCommand(5, ZRF.FUNCTION,	0);	// not
      design.addCommand(5, ZRF.FUNCTION,	20);	// verify
      design.addCommand(5, ZRF.IN_ZONE,	1);	// home
      design.addCommand(5, ZRF.FUNCTION,	20);	// verify
      design.addCommand(5, ZRF.FUNCTION,	25);	// to
      design.addCommand(5, ZRF.FUNCTION,	28);	// end
  
      design.addCommand(6, ZRF.FUNCTION,	24);	// from
      design.addCommand(6, ZRF.PARAM,	0);	// $1
      design.addCommand(6, ZRF.FUNCTION,	22);	// navigate
      design.addCommand(6, ZRF.FUNCTION,	1);	// empty?
      design.addCommand(6, ZRF.FUNCTION,	0);	// not
      design.addCommand(6, ZRF.IF,	7);
      design.addCommand(6, ZRF.FORK,	3);
      design.addCommand(6, ZRF.FUNCTION,	25);	// to
      design.addCommand(6, ZRF.FUNCTION,	28);	// end
      design.addCommand(6, ZRF.PARAM,	1);	// $2
      design.addCommand(6, ZRF.FUNCTION,	22);	// navigate
      design.addCommand(6, ZRF.JUMP,	-8);
      design.addCommand(6, ZRF.FUNCTION,	1);	// empty?
      design.addCommand(6, ZRF.FUNCTION,	0);	// not
      design.addCommand(6, ZRF.FUNCTION,	20);	// verify
      design.addCommand(6, ZRF.PARAM,	2);	// $3
      design.addCommand(6, ZRF.FUNCTION,	22);	// navigate
      design.addCommand(6, ZRF.FUNCTION,	1);	// empty?
      design.addCommand(6, ZRF.FUNCTION,	0);	// not
      design.addCommand(6, ZRF.IF,	4);
      design.addCommand(6, ZRF.PARAM,	3);	// $4
      design.addCommand(6, ZRF.FUNCTION,	22);	// navigate
      design.addCommand(6, ZRF.JUMP,	-5);
      design.addCommand(6, ZRF.FUNCTION,	3);	// friend?
      design.addCommand(6, ZRF.FUNCTION,	0);	// not
      design.addCommand(6, ZRF.FUNCTION,	20);	// verify
      design.addCommand(6, ZRF.FUNCTION,	25);	// to
      design.addCommand(6, ZRF.FUNCTION,	28);	// end
  
      design.addCommand(7, ZRF.FUNCTION,	24);	// from
      design.addCommand(7, ZRF.PARAM,	0);	// $1
      design.addCommand(7, ZRF.FUNCTION,	22);	// navigate
      design.addCommand(7, ZRF.FUNCTION,	3);	// friend?
      design.addCommand(7, ZRF.FUNCTION,	0);	// not
      design.addCommand(7, ZRF.FUNCTION,	20);	// verify
      design.addCommand(7, ZRF.IN_ZONE,	0);	// fortress
      design.addCommand(7, ZRF.FUNCTION,	20);	// verify
      design.addCommand(7, ZRF.FUNCTION,	25);	// to
      design.addCommand(7, ZRF.FUNCTION,	28);	// end
  
      design.addPiece("Manchu", 0, 20);
      design.addMove(0, 0, [7, 7], 0);
      design.addMove(0, 0, [1, 1], 0);
      design.addMove(0, 0, [4, 4], 0);
      design.addMove(0, 0, [3, 3], 0);
      design.addMove(0, 1, [7, 6], 0);
      design.addMove(0, 1, [7, 5], 0);
      design.addMove(0, 1, [1, 2], 0);
      design.addMove(0, 1, [1, 0], 0);
      design.addMove(0, 1, [4, 6], 0);
      design.addMove(0, 1, [3, 5], 0);
      design.addMove(0, 1, [4, 2], 0);
      design.addMove(0, 1, [3, 0], 0);
      design.addMove(0, 2, [7, 7, 7, 7], 0);
      design.addMove(0, 2, [1, 1, 1, 1], 0);
      design.addMove(0, 2, [4, 4, 4, 4], 0);
      design.addMove(0, 2, [3, 3, 3, 3], 0);
  
      design.addPiece("Soldier", 1);
      design.addMove(1, 3, [7], 0);
      design.addMove(1, 4, [4], 0);
      design.addMove(1, 4, [3], 0);
  
      design.addPiece("Horse", 2);
      design.addMove(2, 1, [7, 6], 0);
      design.addMove(2, 1, [7, 5], 0);
      design.addMove(2, 1, [1, 2], 0);
      design.addMove(2, 1, [1, 0], 0);
      design.addMove(2, 1, [4, 6], 0);
      design.addMove(2, 1, [3, 5], 0);
      design.addMove(2, 1, [4, 2], 0);
      design.addMove(2, 1, [3, 0], 0);
  
      design.addPiece("Elephant", 3);
      design.addMove(3, 5, [6, 6], 0);
      design.addMove(3, 5, [2, 2], 0);
      design.addMove(3, 5, [5, 5], 0);
      design.addMove(3, 5, [0, 0], 0);
  
      design.addPiece("Chariot", 4);
      design.addMove(4, 0, [7, 7], 0);
      design.addMove(4, 0, [1, 1], 0);
      design.addMove(4, 0, [4, 4], 0);
      design.addMove(4, 0, [3, 3], 0);
  
      design.addPiece("Cannon", 5);
      design.addMove(5, 6, [7, 7, 7, 7], 0);
      design.addMove(5, 6, [1, 1, 1, 1], 0);
      design.addMove(5, 6, [4, 4, 4, 4], 0);
      design.addMove(5, 6, [3, 3, 3, 3], 0);
  
      design.addPiece("Mandarin", 6);
      design.addMove(6, 7, [6], 0);
      design.addMove(6, 7, [2], 0);
      design.addMove(6, 7, [5], 0);
      design.addMove(6, 7, [0], 0);
  
      design.addPiece("General", 7);
      design.addMove(7, 7, [7], 0);
      design.addMove(7, 7, [1], 0);
      design.addMove(7, 7, [4], 0);
      design.addMove(7, 7, [3], 0);
  
      design.setup("Red", "Soldier", 54);
      design.setup("Red", "Soldier", 56);
      design.setup("Red", "Soldier", 58);
      design.setup("Red", "Soldier", 60);
      design.setup("Red", "Soldier", 62);
      design.setup("Red", "Elephant", 83);
      design.setup("Red", "Elephant", 87);
      design.setup("Red", "Manchu", 81);
      design.setup("Red", "Mandarin", 84);
      design.setup("Red", "Mandarin", 86);
      design.setup("Red", "General", 85);
      design.setup("Black", "Soldier", 27);
      design.setup("Black", "Soldier", 29);
      design.setup("Black", "Soldier", 31);
      design.setup("Black", "Soldier", 33);
      design.setup("Black", "Soldier", 35);
      design.setup("Black", "Horse", 1);
      design.setup("Black", "Horse", 7);
      design.setup("Black", "Elephant", 2);
      design.setup("Black", "Elephant", 6);
      design.setup("Black", "Chariot", 0);
      design.setup("Black", "Chariot", 8);
      design.setup("Black", "Mandarin", 3);
      design.setup("Black", "Mandarin", 5);
      design.setup("Black", "Cannon", 19);
      design.setup("Black", "Cannon", 25);
      design.setup("Black", "General", 4);
  }
  
  Dagaz.View.configure = function(view) {
      view.defBoard("Board");
      view.defPiece("RedManchu", "Red Manchu");
      view.defPiece("BlackManchu", "Black Manchu");
      view.defPiece("RedSoldier", "Red Soldier");
      view.defPiece("BlackSoldier", "Black Soldier");
      view.defPiece("RedHorse", "Red Horse");
      view.defPiece("BlackHorse", "Black Horse");
      view.defPiece("RedElephant", "Red Elephant");
      view.defPiece("BlackElephant", "Black Elephant");
      view.defPiece("RedChariot", "Red Chariot");
      view.defPiece("BlackChariot", "Black Chariot");
      view.defPiece("RedCannon", "Red Cannon");
      view.defPiece("BlackCannon", "Black Cannon");
      view.defPiece("RedMandarin", "Red Mandarin");
      view.defPiece("BlackMandarin", "Black Mandarin");
      view.defPiece("RedGeneral", "Red General");
      view.defPiece("BlackGeneral", "Black General");
   
      view.defPosition("a10", 364, 410, 42, 42);
      view.defPosition("b10", 319, 410, 42, 42);
      view.defPosition("c10", 274, 410, 42, 42);
      view.defPosition("d10", 229, 410, 42, 42);
      view.defPosition("e10", 184, 410, 42, 42);
      view.defPosition("f10", 139, 410, 42, 42);
      view.defPosition("g10", 94, 410, 42, 42);
      view.defPosition("h10", 49, 410, 42, 42);
      view.defPosition("i10", 4, 410, 42, 42);
      view.defPosition("a9", 364, 365, 42, 42);
      view.defPosition("b9", 319, 365, 42, 42);
      view.defPosition("c9", 274, 365, 42, 42);
      view.defPosition("d9", 229, 365, 42, 42);
      view.defPosition("e9", 184, 365, 42, 42);
      view.defPosition("f9", 139, 365, 42, 42);
      view.defPosition("g9", 94, 365, 42, 42);
      view.defPosition("h9", 49, 365, 42, 42);
      view.defPosition("i9", 4, 365, 42, 42);
      view.defPosition("a8", 364, 320, 42, 42);
      view.defPosition("b8", 319, 320, 42, 42);
      view.defPosition("c8", 274, 320, 42, 42);
      view.defPosition("d8", 229, 320, 42, 42);
      view.defPosition("e8", 184, 320, 42, 42);
      view.defPosition("f8", 139, 320, 42, 42);
      view.defPosition("g8", 94, 320, 42, 42);
      view.defPosition("h8", 49, 320, 42, 42);
      view.defPosition("i8", 4, 320, 42, 42);
      view.defPosition("a7", 364, 275, 42, 42);
      view.defPosition("b7", 319, 275, 42, 42);
      view.defPosition("c7", 274, 275, 42, 42);
      view.defPosition("d7", 229, 275, 42, 42);
      view.defPosition("e7", 184, 275, 42, 42);
      view.defPosition("f7", 139, 275, 42, 42);
      view.defPosition("g7", 94, 275, 42, 42);
      view.defPosition("h7", 49, 275, 42, 42);
      view.defPosition("i7", 4, 275, 42, 42);
      view.defPosition("a6", 364, 230, 42, 42);
      view.defPosition("b6", 319, 230, 42, 42);
      view.defPosition("c6", 274, 230, 42, 42);
      view.defPosition("d6", 229, 230, 42, 42);
      view.defPosition("e6", 184, 230, 42, 42);
      view.defPosition("f6", 139, 230, 42, 42);
      view.defPosition("g6", 94, 230, 42, 42);
      view.defPosition("h6", 49, 230, 42, 42);
      view.defPosition("i6", 4, 230, 42, 42);
      view.defPosition("a5", 364, 185, 42, 42);
      view.defPosition("b5", 319, 185, 42, 42);
      view.defPosition("c5", 274, 185, 42, 42);
      view.defPosition("d5", 229, 185, 42, 42);
      view.defPosition("e5", 184, 185, 42, 42);
      view.defPosition("f5", 139, 185, 42, 42);
      view.defPosition("g5", 94, 185, 42, 42);
      view.defPosition("h5", 49, 185, 42, 42);
      view.defPosition("i5", 4, 185, 42, 42);
      view.defPosition("a4", 364, 140, 42, 42);
      view.defPosition("b4", 319, 140, 42, 42);
      view.defPosition("c4", 274, 140, 42, 42);
      view.defPosition("d4", 229, 140, 42, 42);
      view.defPosition("e4", 184, 140, 42, 42);
      view.defPosition("f4", 139, 140, 42, 42);
      view.defPosition("g4", 94, 140, 42, 42);
      view.defPosition("h4", 49, 140, 42, 42);
      view.defPosition("i4", 4, 140, 42, 42);
      view.defPosition("a3", 364, 95, 42, 42);
      view.defPosition("b3", 319, 95, 42, 42);
      view.defPosition("c3", 274, 95, 42, 42);
      view.defPosition("d3", 229, 95, 42, 42);
      view.defPosition("e3", 184, 95, 42, 42);
      view.defPosition("f3", 139, 95, 42, 42);
      view.defPosition("g3", 94, 95, 42, 42);
      view.defPosition("h3", 49, 95, 42, 42);
      view.defPosition("i3", 4, 95, 42, 42);
      view.defPosition("a2", 364, 50, 42, 42);
      view.defPosition("b2", 319, 50, 42, 42);
      view.defPosition("c2", 274, 50, 42, 42);
      view.defPosition("d2", 229, 50, 42, 42);
      view.defPosition("e2", 184, 50, 42, 42);
      view.defPosition("f2", 139, 50, 42, 42);
      view.defPosition("g2", 94, 50, 42, 42);
      view.defPosition("h2", 49, 50, 42, 42);
      view.defPosition("i2", 4, 50, 42, 42);
      view.defPosition("a1", 364, 5, 42, 42);
      view.defPosition("b1", 319, 5, 42, 42);
      view.defPosition("c1", 274, 5, 42, 42);
      view.defPosition("d1", 229, 5, 42, 42);
      view.defPosition("e1", 184, 5, 42, 42);
      view.defPosition("f1", 139, 5, 42, 42);
      view.defPosition("g1", 94, 5, 42, 42);
      view.defPosition("h1", 49, 5, 42, 42);
      view.defPosition("i1", 4, 5, 42, 42);
  }
  