rem: const newmaptails = [shuffled.splice(0, 13 - col_indexes[i] + easy) for(i in map)]; if(easy) newmaptails.iter(function(tail) { tail.unshift(null); }); 
add: const newmaptails = [shuffled.splice(0, 13 - col_indexes[i]) for(i in map)]; 
context:   perform: function() {    var c, i, p, r, row;    const rows = Game.rows;    const easy = this.isHardGame ? 0 : 1;    // store old card locations    const map = [[p.firstCard for each(p in row)] for each(row in rows)];    this._pre_map = [].concat.apply([], map);    // decide which cards need to move    function get_last_good_col(row) {      const first_in_row = row[0].firstCard;      const suit = first_in_row ? first_in_row.suit : null;      for(var c = 0; row[c].hasCards && row[c].firstCard.isA(suit, c + 2);) ++c;      return c;    }    const col_indexes = [get_last_good_col(row) for each(row in rows)];    // decide post-redeal layout    var to_shuffle = [].concat.apply([], [map[i].slice(col_indexes[i]) for(i in map)]);    if(easy) to_shuffle = [c for each(c in to_shuffle) if(c)]; // filter nulls    const shuffled = shuffle(to_shuffle);    const newmaptails = [shuffled.splice(0, 13 - col_indexes[i] + easy) for(i in map)];    if(easy) newmaptails.iter(function(tail) { tail.unshift(null); });    const postmap = [map[i].slice(0, col_indexes[i]).concat(newmaptails[i]) for(i in map)];    this._post_map = [].concat.apply([], postmap);    this.redo();  },
meta: 3385	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/3385/843c04869efd294331cd6dbe024e0911281167e9/game-montana.js/buggy/code/game-montana.js