~ubuntu-branches/ubuntu/quantal/ruby1.9.1/quantal

« back to all changes in this revision

Viewing changes to parse.c

  • Committer: Bazaar Package Importer
  • Author(s): Lucas Nussbaum
  • Date: 2011-09-24 19:16:17 UTC
  • mfrom: (1.1.8 upstream) (13.1.7 experimental)
  • Revision ID: james.westby@ubuntu.com-20110924191617-o1qz4rcmqjot8zuy
Tags: 1.9.3~rc1-1
* New upstream release: 1.9.3 RC1.
  + Includes load.c fixes. Closes: #639959.
* Upload to unstable.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* A Bison parser, made by GNU Bison 2.4.3.  */
 
1
/* A Bison parser, made by GNU Bison 2.5.  */
2
2
 
3
 
/* Skeleton implementation for Bison's Yacc-like parsers in C
 
3
/* Bison implementation for Yacc-like parsers in C
4
4
   
5
 
      Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
6
 
   2009, 2010 Free Software Foundation, Inc.
 
5
      Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc.
7
6
   
8
7
   This program is free software: you can redistribute it and/or modify
9
8
   it under the terms of the GNU General Public License as published by
45
44
#define YYBISON 1
46
45
 
47
46
/* Bison version.  */
48
 
#define YYBISON_VERSION "2.4.3"
 
47
#define YYBISON_VERSION "2.5"
49
48
 
50
49
/* Skeleton name.  */
51
50
#define YYSKELETON_NAME "yacc.c"
66
65
 
67
66
/* Copy the first part of user declarations.  */
68
67
 
69
 
/* Line 189 of yacc.c  */
 
68
/* Line 268 of yacc.c  */
70
69
#line 12 "parse.y"
71
70
 
72
71
 
77
76
#include "ruby/ruby.h"
78
77
#include "ruby/st.h"
79
78
#include "ruby/encoding.h"
 
79
#include "internal.h"
80
80
#include "node.h"
81
81
#include "parse.h"
82
82
#include "id.h"
87
87
 
88
88
#define numberof(array) (int)(sizeof(array) / sizeof((array)[0]))
89
89
 
90
 
#define YYMALLOC(size)          rb_parser_malloc(parser, size)
91
 
#define YYREALLOC(ptr, size)    rb_parser_realloc(parser, ptr, size)
92
 
#define YYCALLOC(nelem, size)   rb_parser_calloc(parser, nelem, size)
93
 
#define YYFREE(ptr)             rb_parser_free(parser, ptr)
 
90
#define YYMALLOC(size)          rb_parser_malloc(parser, (size))
 
91
#define YYREALLOC(ptr, size)    rb_parser_realloc(parser, (ptr), (size))
 
92
#define YYCALLOC(nelem, size)   rb_parser_calloc(parser, (nelem), (size))
 
93
#define YYFREE(ptr)             rb_parser_free(parser, (ptr))
94
94
#define malloc  YYMALLOC
95
95
#define realloc YYREALLOC
96
96
#define calloc  YYCALLOC
98
98
 
99
99
#ifndef RIPPER
100
100
static ID register_symid(ID, const char *, long, rb_encoding *);
101
 
#define REGISTER_SYMID(id, name) register_symid(id, name, strlen(name), enc)
 
101
#define REGISTER_SYMID(id, name) register_symid((id), (name), strlen(name), enc)
102
102
#include "id.c"
103
103
#endif
104
104
 
133
133
 
134
134
typedef VALUE stack_type;
135
135
 
136
 
# define BITSTACK_PUSH(stack, n)        (stack = (stack<<1)|((n)&1))
137
 
# define BITSTACK_POP(stack)    (stack = stack >> 1)
138
 
# define BITSTACK_LEXPOP(stack) (stack = (stack >> 1) | (stack & 1))
139
 
# define BITSTACK_SET_P(stack)  (stack&1)
 
136
# define BITSTACK_PUSH(stack, n)        ((stack) = ((stack)<<1)|((n)&1))
 
137
# define BITSTACK_POP(stack)    ((stack) = (stack) >> 1)
 
138
# define BITSTACK_LEXPOP(stack) ((stack) = ((stack) >> 1) | ((stack) & 1))
 
139
# define BITSTACK_SET_P(stack)  ((stack)&1)
140
140
 
141
 
#define COND_PUSH(n)    BITSTACK_PUSH(cond_stack, n)
 
141
#define COND_PUSH(n)    BITSTACK_PUSH(cond_stack, (n))
142
142
#define COND_POP()      BITSTACK_POP(cond_stack)
143
143
#define COND_LEXPOP()   BITSTACK_LEXPOP(cond_stack)
144
144
#define COND_P()        BITSTACK_SET_P(cond_stack)
145
145
 
146
 
#define CMDARG_PUSH(n)  BITSTACK_PUSH(cmdarg_stack, n)
 
146
#define CMDARG_PUSH(n)  BITSTACK_PUSH(cmdarg_stack, (n))
147
147
#define CMDARG_POP()    BITSTACK_POP(cmdarg_stack)
148
148
#define CMDARG_LEXPOP() BITSTACK_LEXPOP(cmdarg_stack)
149
149
#define CMDARG_P()      BITSTACK_SET_P(cmdarg_stack)
158
158
struct local_vars {
159
159
    struct vtable *args;
160
160
    struct vtable *vars;
 
161
    struct vtable *used;
161
162
    struct local_vars *prev;
162
163
};
163
164
 
226
227
    if (POINTER_P(tbl)) {
227
228
        for (i = 0; i < tbl->pos; i++) {
228
229
            if (tbl->tbl[i] == id) {
229
 
                return 1;
 
230
                return i+1;
230
231
            }
231
232
        }
232
233
    }
305
306
    VALUE coverage;
306
307
    int nerr;
307
308
 
 
309
    int parser_token_info_enabled;
308
310
    token_info *parser_token_info;
309
311
#else
310
312
    /* Ripper only */
330
332
#define ENC_SINGLE(cr) ((cr)==ENC_CODERANGE_7BIT)
331
333
#define TOK_INTERN(mb) rb_intern3(tok(), toklen(), parser->enc)
332
334
 
333
 
#ifdef YYMALLOC
334
 
void *rb_parser_malloc(struct parser_params *, size_t);
335
 
void *rb_parser_realloc(struct parser_params *, void *, size_t);
336
 
void *rb_parser_calloc(struct parser_params *, size_t, size_t);
337
 
void rb_parser_free(struct parser_params *, void *);
338
 
#endif
339
 
 
340
335
static int parser_yyerror(struct parser_params*, const char*);
341
 
#define yyerror(msg) parser_yyerror(parser, msg)
 
336
#define yyerror(msg) parser_yyerror(parser, (msg))
342
337
 
343
338
#define YYLEX_PARAM parser
344
339
 
372
367
#define ruby__end__seen         (parser->parser_ruby__end__seen)
373
368
#define ruby_sourceline         (parser->parser_ruby_sourceline)
374
369
#define ruby_sourcefile         (parser->parser_ruby_sourcefile)
 
370
#define current_enc             (parser->enc)
375
371
#define yydebug                 (parser->parser_yydebug)
376
372
#ifdef RIPPER
377
373
#else
387
383
#define yyparse ruby_yyparse
388
384
 
389
385
static NODE* node_newnode(struct parser_params *, enum node_type, VALUE, VALUE, VALUE);
390
 
#define rb_node_newnode(type, a1, a2, a3) node_newnode(parser, type, a1, a2, a3)
 
386
#define rb_node_newnode(type, a1, a2, a3) node_newnode(parser, (type), (a1), (a2), (a3))
391
387
 
392
388
static NODE *cond_gen(struct parser_params*,NODE*);
393
 
#define cond(node) cond_gen(parser, node)
 
389
#define cond(node) cond_gen(parser, (node))
394
390
static NODE *logop_gen(struct parser_params*,enum node_type,NODE*,NODE*);
395
 
#define logop(type,node1,node2) logop_gen(parser, type, node1, node2)
 
391
#define logop(type,node1,node2) logop_gen(parser, (type), (node1), (node2))
396
392
 
397
393
static NODE *newline_node(NODE*);
398
394
static void fixpos(NODE*,NODE*);
404
400
#define void_expr0(node) void_expr_gen(parser, (node))
405
401
#define void_expr(node) void_expr0((node) = remove_begin(node))
406
402
static void void_stmts_gen(struct parser_params*,NODE*);
407
 
#define void_stmts(node) void_stmts_gen(parser, node)
 
403
#define void_stmts(node) void_stmts_gen(parser, (node))
408
404
static void reduce_nodes_gen(struct parser_params*,NODE**);
409
 
#define reduce_nodes(n) reduce_nodes_gen(parser,n)
 
405
#define reduce_nodes(n) reduce_nodes_gen(parser,(n))
410
406
static void block_dup_check_gen(struct parser_params*,NODE*,NODE*);
411
 
#define block_dup_check(n1,n2) block_dup_check_gen(parser,n1,n2)
 
407
#define block_dup_check(n1,n2) block_dup_check_gen(parser,(n1),(n2))
412
408
 
413
409
static NODE *block_append_gen(struct parser_params*,NODE*,NODE*);
414
 
#define block_append(h,t) block_append_gen(parser,h,t)
 
410
#define block_append(h,t) block_append_gen(parser,(h),(t))
415
411
static NODE *list_append_gen(struct parser_params*,NODE*,NODE*);
416
 
#define list_append(l,i) list_append_gen(parser,l,i)
 
412
#define list_append(l,i) list_append_gen(parser,(l),(i))
417
413
static NODE *list_concat_gen(struct parser_params*,NODE*,NODE*);
418
 
#define list_concat(h,t) list_concat_gen(parser,h,t)
 
414
#define list_concat(h,t) list_concat_gen(parser,(h),(t))
419
415
static NODE *arg_append_gen(struct parser_params*,NODE*,NODE*);
420
 
#define arg_append(h,t) arg_append_gen(parser,h,t)
 
416
#define arg_append(h,t) arg_append_gen(parser,(h),(t))
421
417
static NODE *arg_concat_gen(struct parser_params*,NODE*,NODE*);
422
 
#define arg_concat(h,t) arg_concat_gen(parser,h,t)
 
418
#define arg_concat(h,t) arg_concat_gen(parser,(h),(t))
423
419
static NODE *literal_concat_gen(struct parser_params*,NODE*,NODE*);
424
 
#define literal_concat(h,t) literal_concat_gen(parser,h,t)
 
420
#define literal_concat(h,t) literal_concat_gen(parser,(h),(t))
425
421
static int literal_concat0(struct parser_params *, VALUE, VALUE);
426
422
static NODE *new_evstr_gen(struct parser_params*,NODE*);
427
 
#define new_evstr(n) new_evstr_gen(parser,n)
 
423
#define new_evstr(n) new_evstr_gen(parser,(n))
428
424
static NODE *evstr2dstr_gen(struct parser_params*,NODE*);
429
 
#define evstr2dstr(n) evstr2dstr_gen(parser,n)
 
425
#define evstr2dstr(n) evstr2dstr_gen(parser,(n))
430
426
static NODE *splat_array(NODE*);
431
427
 
432
428
static NODE *call_bin_op_gen(struct parser_params*,NODE*,ID,NODE*);
433
 
#define call_bin_op(recv,id,arg1) call_bin_op_gen(parser, recv,id,arg1)
 
429
#define call_bin_op(recv,id,arg1) call_bin_op_gen(parser, (recv),(id),(arg1))
434
430
static NODE *call_uni_op_gen(struct parser_params*,NODE*,ID);
435
 
#define call_uni_op(recv,id) call_uni_op_gen(parser, recv,id)
 
431
#define call_uni_op(recv,id) call_uni_op_gen(parser, (recv),(id))
436
432
 
437
433
static NODE *new_args_gen(struct parser_params*,NODE*,NODE*,ID,NODE*,ID);
438
 
#define new_args(f,o,r,p,b) new_args_gen(parser, f,o,r,p,b)
 
434
#define new_args(f,o,r,p,b) new_args_gen(parser, (f),(o),(r),(p),(b))
439
435
 
440
436
static NODE *negate_lit(NODE*);
441
437
static NODE *ret_args_gen(struct parser_params*,NODE*);
442
 
#define ret_args(node) ret_args_gen(parser, node)
 
438
#define ret_args(node) ret_args_gen(parser, (node))
443
439
static NODE *arg_blk_pass(NODE*,NODE*);
444
440
static NODE *new_yield_gen(struct parser_params*,NODE*);
445
 
#define new_yield(node) new_yield_gen(parser, node)
 
441
#define new_yield(node) new_yield_gen(parser, (node))
446
442
 
447
443
static NODE *gettable_gen(struct parser_params*,ID);
448
 
#define gettable(id) gettable_gen(parser,id)
 
444
#define gettable(id) gettable_gen(parser,(id))
449
445
static NODE *assignable_gen(struct parser_params*,ID,NODE*);
450
 
#define assignable(id,node) assignable_gen(parser, id, node)
 
446
#define assignable(id,node) assignable_gen(parser, (id), (node))
451
447
 
452
448
static NODE *aryset_gen(struct parser_params*,NODE*,NODE*);
453
 
#define aryset(node1,node2) aryset_gen(parser, node1, node2)
 
449
#define aryset(node1,node2) aryset_gen(parser, (node1), (node2))
454
450
static NODE *attrset_gen(struct parser_params*,NODE*,ID);
455
 
#define attrset(node,id) attrset_gen(parser, node, id)
 
451
#define attrset(node,id) attrset_gen(parser, (node), (id))
456
452
 
457
453
static void rb_backref_error_gen(struct parser_params*,NODE*);
458
 
#define rb_backref_error(n) rb_backref_error_gen(parser,n)
 
454
#define rb_backref_error(n) rb_backref_error_gen(parser,(n))
459
455
static NODE *node_assign_gen(struct parser_params*,NODE*,NODE*);
460
 
#define node_assign(node1, node2) node_assign_gen(parser, node1, node2)
 
456
#define node_assign(node1, node2) node_assign_gen(parser, (node1), (node2))
461
457
 
462
458
static NODE *match_op_gen(struct parser_params*,NODE*,NODE*);
463
 
#define match_op(node1,node2) match_op_gen(parser, node1, node2)
 
459
#define match_op(node1,node2) match_op_gen(parser, (node1), (node2))
464
460
 
465
461
static ID  *local_tbl_gen(struct parser_params*);
466
462
#define local_tbl() local_tbl_gen(parser)
467
463
 
468
464
static void fixup_nodes(NODE **);
469
465
 
470
 
extern int rb_dvar_defined(ID);
471
 
extern int rb_local_defined(ID);
472
 
extern int rb_parse_in_eval(void);
473
 
extern int rb_parse_in_main(void);
474
 
 
475
466
static VALUE reg_compile_gen(struct parser_params*, VALUE, int);
476
 
#define reg_compile(str,options) reg_compile_gen(parser, str, options)
 
467
#define reg_compile(str,options) reg_compile_gen(parser, (str), (options))
477
468
static void reg_fragment_setenc_gen(struct parser_params*, VALUE, int);
478
 
#define reg_fragment_setenc(str,options) reg_fragment_setenc_gen(parser, str, options)
 
469
#define reg_fragment_setenc(str,options) reg_fragment_setenc_gen(parser, (str), (options))
479
470
static int reg_fragment_check_gen(struct parser_params*, VALUE, int);
480
 
#define reg_fragment_check(str,options) reg_fragment_check_gen(parser, str, options)
 
471
#define reg_fragment_check(str,options) reg_fragment_check_gen(parser, (str), (options))
481
472
static NODE *reg_named_capture_assign_gen(struct parser_params* parser, VALUE regexp, NODE *match);
482
 
#define reg_named_capture_assign(regexp,match) reg_named_capture_assign_gen(parser,regexp,match)
 
473
#define reg_named_capture_assign(regexp,match) reg_named_capture_assign_gen(parser,(regexp),(match))
483
474
 
484
475
#define get_id(id) (id)
485
476
#define get_value(val) (val)
492
483
static VALUE ripper_get_value(VALUE);
493
484
#define get_value(val) ripper_get_value(val)
494
485
static VALUE assignable_gen(struct parser_params*,VALUE);
495
 
#define assignable(lhs,node) assignable_gen(parser, lhs)
 
486
#define assignable(lhs,node) assignable_gen(parser, (lhs))
 
487
static int id_is_var_gen(struct parser_params *parser, ID id);
 
488
#define id_is_var(id) id_is_var_gen(parser, (id))
496
489
#endif /* !RIPPER */
497
490
 
498
491
static ID formal_argument_gen(struct parser_params*, ID);
499
 
#define formal_argument(id) formal_argument_gen(parser, id)
 
492
#define formal_argument(id) formal_argument_gen(parser, (id))
500
493
static ID shadowing_lvar_gen(struct parser_params*,ID);
501
 
#define shadowing_lvar(name) shadowing_lvar_gen(parser, name)
 
494
#define shadowing_lvar(name) shadowing_lvar_gen(parser, (name))
502
495
static void new_bv_gen(struct parser_params*,ID);
503
 
#define new_bv(id) new_bv_gen(parser, id)
 
496
#define new_bv(id) new_bv_gen(parser, (id))
504
497
 
505
498
static void local_push_gen(struct parser_params*,int);
506
 
#define local_push(top) local_push_gen(parser,top)
 
499
#define local_push(top) local_push_gen(parser,(top))
507
500
static void local_pop_gen(struct parser_params*);
508
501
#define local_pop() local_pop_gen(parser)
509
502
static int local_var_gen(struct parser_params*, ID);
510
 
#define local_var(id) local_var_gen(parser, id);
 
503
#define local_var(id) local_var_gen(parser, (id));
511
504
static int arg_var_gen(struct parser_params*, ID);
512
 
#define arg_var(id) arg_var_gen(parser, id)
 
505
#define arg_var(id) arg_var_gen(parser, (id))
513
506
static int  local_id_gen(struct parser_params*, ID);
514
 
#define local_id(id) local_id_gen(parser, id)
 
507
#define local_id(id) local_id_gen(parser, (id))
515
508
static ID   internal_id_gen(struct parser_params*);
516
509
#define internal_id() internal_id_gen(parser)
517
510
 
518
511
static const struct vtable *dyna_push_gen(struct parser_params *);
519
512
#define dyna_push() dyna_push_gen(parser)
520
513
static void dyna_pop_gen(struct parser_params*, const struct vtable *);
521
 
#define dyna_pop(node) dyna_pop_gen(parser, node)
 
514
#define dyna_pop(node) dyna_pop_gen(parser, (node))
522
515
static int dyna_in_block_gen(struct parser_params*);
523
516
#define dyna_in_block() dyna_in_block_gen(parser)
524
517
#define dyna_var(id) local_var(id)
525
 
static int dvar_defined_gen(struct parser_params*,ID);
526
 
#define dvar_defined(id) dvar_defined_gen(parser, id)
 
518
static int dvar_defined_gen(struct parser_params*,ID,int);
 
519
#define dvar_defined(id) dvar_defined_gen(parser, (id), 0)
 
520
#define dvar_defined_get(id) dvar_defined_gen(parser, (id), 1)
527
521
static int dvar_curr_gen(struct parser_params*,ID);
528
 
#define dvar_curr(id) dvar_curr_gen(parser, id)
 
522
#define dvar_curr(id) dvar_curr_gen(parser, (id))
529
523
 
530
524
static int lvar_defined_gen(struct parser_params*, ID);
531
 
#define lvar_defined(id) lvar_defined_gen(parser, id)
 
525
#define lvar_defined(id) lvar_defined_gen(parser, (id))
532
526
 
533
527
#define RE_OPTION_ONCE (1<<16)
534
528
#define RE_OPTION_ENCODING_SHIFT 8
567
561
static VALUE ripper_dispatch5(struct parser_params*,ID,VALUE,VALUE,VALUE,VALUE,VALUE);
568
562
 
569
563
#define dispatch0(n)            ripper_dispatch0(parser, TOKEN_PASTE(ripper_id_, n))
570
 
#define dispatch1(n,a)          ripper_dispatch1(parser, TOKEN_PASTE(ripper_id_, n), a)
571
 
#define dispatch2(n,a,b)        ripper_dispatch2(parser, TOKEN_PASTE(ripper_id_, n), a, b)
572
 
#define dispatch3(n,a,b,c)      ripper_dispatch3(parser, TOKEN_PASTE(ripper_id_, n), a, b, c)
573
 
#define dispatch4(n,a,b,c,d)    ripper_dispatch4(parser, TOKEN_PASTE(ripper_id_, n), a, b, c, d)
574
 
#define dispatch5(n,a,b,c,d,e)  ripper_dispatch5(parser, TOKEN_PASTE(ripper_id_, n), a, b, c, d, e)
 
564
#define dispatch1(n,a)          ripper_dispatch1(parser, TOKEN_PASTE(ripper_id_, n), (a))
 
565
#define dispatch2(n,a,b)        ripper_dispatch2(parser, TOKEN_PASTE(ripper_id_, n), (a), (b))
 
566
#define dispatch3(n,a,b,c)      ripper_dispatch3(parser, TOKEN_PASTE(ripper_id_, n), (a), (b), (c))
 
567
#define dispatch4(n,a,b,c,d)    ripper_dispatch4(parser, TOKEN_PASTE(ripper_id_, n), (a), (b), (c), (d))
 
568
#define dispatch5(n,a,b,c,d,e)  ripper_dispatch5(parser, TOKEN_PASTE(ripper_id_, n), (a), (b), (c), (d), (e))
575
569
 
576
570
#define yyparse ripper_yyparse
577
571
 
583
577
#endif
584
578
 
585
579
#define arg_new() dispatch0(args_new)
586
 
#define arg_add(l,a) dispatch2(args_add, l, a)
587
 
#define arg_add_star(l,a) dispatch2(args_add_star, l, a)
588
 
#define arg_add_block(l,b) dispatch2(args_add_block, l, b)
589
 
#define arg_add_optblock(l,b) ((b)==Qundef? l : dispatch2(args_add_block, l, b))
590
 
#define bare_assoc(v) dispatch1(bare_assoc_hash, v)
591
 
#define arg_add_assocs(l,b) arg_add(l, bare_assoc(b))
 
580
#define arg_add(l,a) dispatch2(args_add, (l), (a))
 
581
#define arg_add_star(l,a) dispatch2(args_add_star, (l), (a))
 
582
#define arg_add_block(l,b) dispatch2(args_add_block, (l), (b))
 
583
#define arg_add_optblock(l,b) ((b)==Qundef? (l) : dispatch2(args_add_block, (l), (b)))
 
584
#define bare_assoc(v) dispatch1(bare_assoc_hash, (v))
 
585
#define arg_add_assocs(l,b) arg_add((l), bare_assoc(b))
592
586
 
593
 
#define args2mrhs(a) dispatch1(mrhs_new_from_args, a)
 
587
#define args2mrhs(a) dispatch1(mrhs_new_from_args, (a))
594
588
#define mrhs_new() dispatch0(mrhs_new)
595
 
#define mrhs_add(l,a) dispatch2(mrhs_add, l, a)
596
 
#define mrhs_add_star(l,a) dispatch2(mrhs_add_star, l, a)
 
589
#define mrhs_add(l,a) dispatch2(mrhs_add, (l), (a))
 
590
#define mrhs_add_star(l,a) dispatch2(mrhs_add_star, (l), (a))
597
591
 
598
592
#define mlhs_new() dispatch0(mlhs_new)
599
 
#define mlhs_add(l,a) dispatch2(mlhs_add, l, a)
600
 
#define mlhs_add_star(l,a) dispatch2(mlhs_add_star, l, a)
 
593
#define mlhs_add(l,a) dispatch2(mlhs_add, (l), (a))
 
594
#define mlhs_add_star(l,a) dispatch2(mlhs_add_star, (l), (a))
601
595
 
602
596
#define params_new(pars, opts, rest, pars2, blk) \
603
 
        dispatch5(params, pars, opts, rest, pars2, blk)
604
 
 
605
 
#define blockvar_new(p,v) dispatch2(block_var, p, v)
606
 
#define blockvar_add_star(l,a) dispatch2(block_var_add_star, l, a)
607
 
#define blockvar_add_block(l,a) dispatch2(block_var_add_block, l, a)
608
 
 
609
 
#define method_optarg(m,a) ((a)==Qundef ? m : dispatch2(method_add_arg,m,a))
610
 
#define method_arg(m,a) dispatch2(method_add_arg,m,a)
611
 
#define method_add_block(m,b) dispatch2(method_add_block, m, b)
 
597
        dispatch5(params, (pars), (opts), (rest), (pars2), (blk))
 
598
 
 
599
#define blockvar_new(p,v) dispatch2(block_var, (p), (v))
 
600
#define blockvar_add_star(l,a) dispatch2(block_var_add_star, (l), (a))
 
601
#define blockvar_add_block(l,a) dispatch2(block_var_add_block, (l), (a))
 
602
 
 
603
#define method_optarg(m,a) ((a)==Qundef ? (m) : dispatch2(method_add_arg,(m),(a)))
 
604
#define method_arg(m,a) dispatch2(method_add_arg,(m),(a))
 
605
#define method_add_block(m,b) dispatch2(method_add_block, (m), (b))
612
606
 
613
607
#define escape_Qundef(x) ((x)==Qundef ? Qnil : (x))
614
608
 
617
611
#endif /* RIPPER */
618
612
 
619
613
#ifndef RIPPER
620
 
# define ifndef_ripper(x) x
 
614
# define ifndef_ripper(x) (x)
621
615
#else
622
616
# define ifndef_ripper(x)
623
617
#endif
624
618
 
625
619
#ifndef RIPPER
626
 
# define rb_warn0(fmt)    rb_compile_warn(ruby_sourcefile, ruby_sourceline, fmt)
627
 
# define rb_warnI(fmt,a)  rb_compile_warn(ruby_sourcefile, ruby_sourceline, fmt, a)
628
 
# define rb_warnS(fmt,a)  rb_compile_warn(ruby_sourcefile, ruby_sourceline, fmt, a)
629
 
# define rb_warning0(fmt) rb_compile_warning(ruby_sourcefile, ruby_sourceline, fmt)
630
 
# define rb_warningS(fmt,a) rb_compile_warning(ruby_sourcefile, ruby_sourceline, fmt, a)
 
620
# define rb_warn0(fmt)    rb_compile_warn(ruby_sourcefile, ruby_sourceline, (fmt))
 
621
# define rb_warnI(fmt,a)  rb_compile_warn(ruby_sourcefile, ruby_sourceline, (fmt), (a))
 
622
# define rb_warnS(fmt,a)  rb_compile_warn(ruby_sourcefile, ruby_sourceline, (fmt), (a))
 
623
# define rb_warning0(fmt) rb_compile_warning(ruby_sourcefile, ruby_sourceline, (fmt))
 
624
# define rb_warningS(fmt,a) rb_compile_warning(ruby_sourcefile, ruby_sourceline, (fmt), (a))
631
625
#else
632
 
# define rb_warn0(fmt)    ripper_warn0(parser, fmt)
633
 
# define rb_warnI(fmt,a)  ripper_warnI(parser, fmt, a)
634
 
# define rb_warnS(fmt,a)  ripper_warnS(parser, fmt, a)
635
 
# define rb_warning0(fmt) ripper_warning0(parser, fmt)
636
 
# define rb_warningS(fmt,a) ripper_warningS(parser, fmt, a)
 
626
# define rb_warn0(fmt)    ripper_warn0(parser, (fmt))
 
627
# define rb_warnI(fmt,a)  ripper_warnI(parser, (fmt), (a))
 
628
# define rb_warnS(fmt,a)  ripper_warnS(parser, (fmt), (a))
 
629
# define rb_warning0(fmt) ripper_warning0(parser, (fmt))
 
630
# define rb_warningS(fmt,a) ripper_warningS(parser, (fmt), (a))
637
631
static void ripper_warn0(struct parser_params*, const char*);
638
632
static void ripper_warnI(struct parser_params*, const char*, int);
639
633
#if 0
649
643
# define compile_error ripper_compile_error
650
644
# define PARSER_ARG parser,
651
645
#else
652
 
# define compile_error parser->nerr++,rb_compile_error
653
 
# define PARSER_ARG ruby_sourcefile, ruby_sourceline,
 
646
# define rb_compile_error rb_compile_error_with_enc
 
647
# define compile_error parser->nerr++,rb_compile_error_with_enc
 
648
# define PARSER_ARG ruby_sourcefile, ruby_sourceline, current_enc,
654
649
#endif
655
650
 
656
651
/* Older versions of Yacc set YYMAXDEPTH to a very low value by default (150,
665
660
#ifndef RIPPER
666
661
static void token_info_push(struct parser_params*, const char *token);
667
662
static void token_info_pop(struct parser_params*, const char *token);
668
 
#define token_info_push(token) (RTEST(ruby_verbose) ? token_info_push(parser, token) : (void)0)
669
 
#define token_info_pop(token) (RTEST(ruby_verbose) ? token_info_pop(parser, token) : (void)0)
 
663
#define token_info_push(token) (RTEST(ruby_verbose) ? token_info_push(parser, (token)) : (void)0)
 
664
#define token_info_pop(token) (RTEST(ruby_verbose) ? token_info_pop(parser, (token)) : (void)0)
670
665
#else
671
666
#define token_info_push(token) /* nothing */
672
667
#define token_info_pop(token) /* nothing */
673
668
#endif
674
669
 
675
670
 
676
 
/* Line 189 of yacc.c  */
677
 
#line 678 "parse.c"
 
671
/* Line 268 of yacc.c  */
 
672
#line 673 "parse.c"
678
673
 
679
674
/* Enabling traces.  */
680
675
#ifndef YYDEBUG
828
823
typedef union YYSTYPE
829
824
{
830
825
 
831
 
/* Line 214 of yacc.c  */
832
 
#line 620 "parse.y"
 
826
/* Line 293 of yacc.c  */
 
827
#line 616 "parse.y"
833
828
 
834
829
    VALUE val;
835
830
    NODE *node;
839
834
 
840
835
 
841
836
 
842
 
/* Line 214 of yacc.c  */
843
 
#line 844 "parse.c"
 
837
/* Line 293 of yacc.c  */
 
838
#line 839 "parse.c"
844
839
} YYSTYPE;
845
840
# define YYSTYPE_IS_TRIVIAL 1
846
841
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
851
846
/* Copy the second part of user declarations.  */
852
847
 
853
848
 
854
 
/* Line 264 of yacc.c  */
855
 
#line 856 "parse.c"
 
849
/* Line 343 of yacc.c  */
 
850
#line 851 "parse.c"
856
851
 
857
852
#ifdef short
858
853
# undef short
955
950
#    define alloca _alloca
956
951
#   else
957
952
#    define YYSTACK_ALLOC alloca
958
 
#    if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
 
953
#    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
959
954
     || defined __cplusplus || defined _MSC_VER)
960
955
#     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
961
 
#     ifndef _STDLIB_H
962
 
#      define _STDLIB_H 1
 
956
#     ifndef EXIT_SUCCESS
 
957
#      define EXIT_SUCCESS 0
963
958
#     endif
964
959
#    endif
965
960
#   endif
982
977
#  ifndef YYSTACK_ALLOC_MAXIMUM
983
978
#   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
984
979
#  endif
985
 
#  if (defined __cplusplus && ! defined _STDLIB_H \
 
980
#  if (defined __cplusplus && ! defined EXIT_SUCCESS \
986
981
       && ! ((defined YYMALLOC || defined malloc) \
987
982
             && (defined YYFREE || defined free)))
988
983
#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
989
 
#   ifndef _STDLIB_H
990
 
#    define _STDLIB_H 1
 
984
#   ifndef EXIT_SUCCESS
 
985
#    define EXIT_SUCCESS 0
991
986
#   endif
992
987
#  endif
993
988
#  ifndef YYMALLOC
994
989
#   define YYMALLOC malloc
995
 
#   if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
 
990
#   if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
996
991
     || defined __cplusplus || defined _MSC_VER)
997
992
void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
998
993
#   endif
999
994
#  endif
1000
995
#  ifndef YYFREE
1001
996
#   define YYFREE free
1002
 
#   if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
 
997
#   if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
1003
998
     || defined __cplusplus || defined _MSC_VER)
1004
999
void free (void *); /* INFRINGES ON USER NAME SPACE */
1005
1000
#   endif
1028
1023
     ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
1029
1024
      + YYSTACK_GAP_MAXIMUM)
1030
1025
 
 
1026
# define YYCOPY_NEEDED 1
 
1027
 
 
1028
/* Relocate STACK from its old location to the new one.  The
 
1029
   local variables YYSIZE and YYSTACKSIZE give the old and new number of
 
1030
   elements in the stack, and YYPTR gives the new location of the
 
1031
   stack.  Advance YYPTR to a properly aligned location for the next
 
1032
   stack.  */
 
1033
# define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
 
1034
    do                                                                  \
 
1035
      {                                                                 \
 
1036
        YYSIZE_T yynewbytes;                                            \
 
1037
        YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
 
1038
        Stack = &yyptr->Stack_alloc;                                    \
 
1039
        yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
 
1040
        yyptr += yynewbytes / sizeof (*yyptr);                          \
 
1041
      }                                                                 \
 
1042
    while (YYID (0))
 
1043
 
 
1044
#endif
 
1045
 
 
1046
#if defined YYCOPY_NEEDED && YYCOPY_NEEDED
1031
1047
/* Copy COUNT objects from FROM to TO.  The source and destination do
1032
1048
   not overlap.  */
1033
1049
# ifndef YYCOPY
1045
1061
      while (YYID (0))
1046
1062
#  endif
1047
1063
# endif
1048
 
 
1049
 
/* Relocate STACK from its old location to the new one.  The
1050
 
   local variables YYSIZE and YYSTACKSIZE give the old and new number of
1051
 
   elements in the stack, and YYPTR gives the new location of the
1052
 
   stack.  Advance YYPTR to a properly aligned location for the next
1053
 
   stack.  */
1054
 
# define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
1055
 
    do                                                                  \
1056
 
      {                                                                 \
1057
 
        YYSIZE_T yynewbytes;                                            \
1058
 
        YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
1059
 
        Stack = &yyptr->Stack_alloc;                                    \
1060
 
        yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
1061
 
        yyptr += yynewbytes / sizeof (*yyptr);                          \
1062
 
      }                                                                 \
1063
 
    while (YYID (0))
1064
 
 
1065
 
#endif
 
1064
#endif /* !YYCOPY_NEEDED */
1066
1065
 
1067
1066
/* YYFINAL -- State number of the termination state.  */
1068
1067
#define YYFINAL  3
1069
1068
/* YYLAST -- Last index in YYTABLE.  */
1070
 
#define YYLAST   10410
 
1069
#define YYLAST   10748
1071
1070
 
1072
1071
/* YYNTOKENS -- Number of terminals.  */
1073
1072
#define YYNTOKENS  148
1074
1073
/* YYNNTS -- Number of nonterminals.  */
1075
 
#define YYNNTS  172
 
1074
#define YYNNTS  174
1076
1075
/* YYNRULES -- Number of rules.  */
1077
 
#define YYNRULES  565
 
1076
#define YYNRULES  573
1078
1077
/* YYNRULES -- Number of states.  */
1079
 
#define YYNSTATES  975
 
1078
#define YYNSTATES  991
1080
1079
 
1081
1080
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
1082
1081
#define YYUNDEFTOK  2
1136
1135
       0,     0,     3,     4,     7,    10,    12,    14,    18,    21,
1137
1136
      23,    24,    30,    35,    38,    40,    42,    46,    49,    50,
1138
1137
      55,    59,    63,    67,    70,    74,    78,    82,    86,    90,
1139
 
      95,    99,   103,   107,   114,   120,   126,   132,   138,   142,
1140
 
     146,   150,   154,   156,   158,   162,   166,   170,   173,   175,
1141
 
     177,   179,   181,   183,   188,   193,   194,   200,   203,   207,
1142
 
     212,   218,   223,   229,   232,   235,   238,   241,   244,   246,
1143
 
     250,   252,   256,   258,   261,   265,   271,   274,   279,   282,
1144
 
     287,   289,   293,   295,   299,   302,   306,   308,   312,   314,
1145
 
     319,   323,   327,   331,   335,   338,   340,   342,   347,   351,
1146
 
     355,   359,   363,   366,   368,   370,   372,   375,   377,   381,
1147
 
     383,   385,   387,   389,   391,   393,   395,   397,   399,   401,
1148
 
     402,   407,   409,   411,   413,   415,   417,   419,   421,   423,
1149
 
     425,   427,   429,   431,   433,   435,   437,   439,   441,   443,
1150
 
     445,   447,   449,   451,   453,   455,   457,   459,   461,   463,
1151
 
     465,   467,   469,   471,   473,   475,   477,   479,   481,   483,
1152
 
     485,   487,   489,   491,   493,   495,   497,   499,   501,   503,
1153
 
     505,   507,   509,   511,   513,   515,   517,   519,   521,   523,
1154
 
     525,   527,   529,   531,   533,   535,   537,   539,   541,   543,
1155
 
     545,   547,   551,   557,   561,   567,   574,   580,   586,   592,
1156
 
     598,   603,   607,   611,   615,   619,   623,   627,   631,   635,
1157
 
     639,   644,   649,   652,   655,   659,   663,   667,   671,   675,
1158
 
     679,   683,   687,   691,   695,   699,   703,   707,   710,   713,
1159
 
     717,   721,   725,   729,   730,   735,   742,   744,   746,   748,
1160
 
     751,   756,   759,   763,   765,   767,   769,   771,   773,   776,
1161
 
     779,   784,   786,   787,   790,   793,   796,   798,   800,   802,
1162
 
     805,   809,   814,   818,   823,   826,   828,   830,   832,   834,
1163
 
     836,   838,   840,   842,   844,   845,   850,   851,   856,   860,
1164
 
     864,   867,   871,   875,   877,   882,   886,   888,   889,   896,
1165
 
     901,   905,   908,   910,   913,   916,   923,   930,   931,   932,
1166
 
     940,   941,   942,   950,   956,   961,   962,   963,   973,   974,
1167
 
     981,   982,   983,   992,   993,   999,  1000,  1007,  1008,  1009,
1168
 
    1019,  1021,  1023,  1025,  1027,  1029,  1031,  1033,  1035,  1037,
1169
 
    1039,  1041,  1043,  1045,  1047,  1049,  1051,  1053,  1055,  1058,
1170
 
    1060,  1062,  1064,  1070,  1072,  1075,  1077,  1079,  1081,  1085,
1171
 
    1087,  1091,  1093,  1098,  1105,  1109,  1115,  1118,  1123,  1125,
1172
 
    1129,  1136,  1145,  1150,  1157,  1162,  1165,  1172,  1175,  1180,
1173
 
    1187,  1190,  1195,  1198,  1203,  1205,  1207,  1209,  1213,  1215,
1174
 
    1220,  1222,  1225,  1227,  1231,  1233,  1235,  1236,  1237,  1242,
1175
 
    1247,  1249,  1253,  1257,  1258,  1264,  1267,  1272,  1277,  1280,
1176
 
    1285,  1290,  1294,  1298,  1302,  1305,  1307,  1312,  1313,  1319,
1177
 
    1320,  1326,  1332,  1334,  1336,  1343,  1345,  1347,  1349,  1351,
1178
 
    1354,  1356,  1359,  1361,  1363,  1365,  1367,  1369,  1371,  1373,
1179
 
    1376,  1380,  1384,  1388,  1392,  1396,  1397,  1401,  1403,  1406,
1180
 
    1410,  1414,  1415,  1419,  1420,  1423,  1424,  1427,  1428,  1431,
1181
 
    1433,  1434,  1438,  1439,  1440,  1446,  1448,  1450,  1452,  1454,
1182
 
    1457,  1459,  1461,  1463,  1465,  1469,  1471,  1473,  1476,  1479,
1183
 
    1481,  1483,  1485,  1487,  1489,  1491,  1493,  1495,  1497,  1499,
1184
 
    1501,  1503,  1505,  1507,  1509,  1511,  1513,  1514,  1519,  1522,
1185
 
    1526,  1529,  1536,  1545,  1550,  1557,  1562,  1569,  1572,  1577,
1186
 
    1584,  1587,  1592,  1595,  1600,  1602,  1603,  1605,  1607,  1609,
1187
 
    1611,  1613,  1615,  1617,  1621,  1623,  1627,  1631,  1635,  1637,
1188
 
    1641,  1643,  1647,  1649,  1651,  1654,  1656,  1658,  1660,  1663,
1189
 
    1666,  1668,  1670,  1671,  1676,  1678,  1681,  1683,  1687,  1691,
1190
 
    1694,  1696,  1698,  1700,  1702,  1704,  1706,  1708,  1710,  1712,
1191
 
    1714,  1716,  1718,  1719,  1721,  1722,  1724,  1727,  1730,  1731,
1192
 
    1733,  1735,  1737,  1739,  1741,  1744
 
1138
      95,    97,   101,   105,   112,   118,   124,   130,   136,   140,
 
1139
     144,   148,   152,   154,   158,   162,   164,   168,   172,   176,
 
1140
     179,   181,   183,   185,   187,   189,   194,   199,   200,   206,
 
1141
     209,   213,   218,   224,   229,   235,   238,   241,   244,   247,
 
1142
     250,   252,   256,   258,   262,   264,   267,   271,   277,   280,
 
1143
     285,   288,   293,   295,   299,   301,   305,   308,   312,   314,
 
1144
     318,   320,   322,   327,   331,   335,   339,   343,   346,   348,
 
1145
     350,   352,   357,   361,   365,   369,   373,   376,   378,   380,
 
1146
     382,   385,   387,   391,   393,   395,   397,   399,   401,   403,
 
1147
     405,   407,   409,   411,   412,   417,   419,   421,   423,   425,
 
1148
     427,   429,   431,   433,   435,   437,   439,   441,   443,   445,
 
1149
     447,   449,   451,   453,   455,   457,   459,   461,   463,   465,
 
1150
     467,   469,   471,   473,   475,   477,   479,   481,   483,   485,
 
1151
     487,   489,   491,   493,   495,   497,   499,   501,   503,   505,
 
1152
     507,   509,   511,   513,   515,   517,   519,   521,   523,   525,
 
1153
     527,   529,   531,   533,   535,   537,   539,   541,   543,   545,
 
1154
     547,   549,   551,   553,   555,   557,   561,   567,   571,   577,
 
1155
     584,   590,   596,   602,   608,   613,   617,   621,   625,   629,
 
1156
     633,   637,   641,   645,   649,   654,   659,   662,   665,   669,
 
1157
     673,   677,   681,   685,   689,   693,   697,   701,   705,   709,
 
1158
     713,   717,   720,   723,   727,   731,   735,   739,   740,   745,
 
1159
     752,   754,   756,   758,   761,   766,   769,   773,   775,   777,
 
1160
     779,   781,   784,   789,   792,   794,   797,   800,   805,   807,
 
1161
     808,   811,   814,   817,   819,   821,   824,   828,   833,   837,
 
1162
     842,   845,   847,   849,   851,   853,   855,   857,   859,   861,
 
1163
     863,   864,   869,   870,   875,   879,   883,   886,   890,   894,
 
1164
     896,   901,   905,   907,   908,   915,   920,   924,   927,   929,
 
1165
     932,   935,   942,   949,   950,   951,   959,   960,   961,   969,
 
1166
     975,   980,   981,   982,   992,   993,  1000,  1001,  1002,  1011,
 
1167
    1012,  1018,  1019,  1026,  1027,  1028,  1038,  1040,  1042,  1044,
 
1168
    1046,  1048,  1050,  1052,  1054,  1056,  1058,  1060,  1062,  1064,
 
1169
    1066,  1068,  1070,  1072,  1074,  1077,  1079,  1081,  1083,  1089,
 
1170
    1091,  1094,  1096,  1098,  1100,  1104,  1106,  1110,  1112,  1117,
 
1171
    1124,  1128,  1134,  1137,  1142,  1144,  1148,  1155,  1164,  1169,
 
1172
    1176,  1181,  1184,  1191,  1194,  1199,  1206,  1209,  1214,  1217,
 
1173
    1222,  1224,  1226,  1228,  1232,  1234,  1239,  1241,  1244,  1246,
 
1174
    1250,  1252,  1254,  1255,  1256,  1261,  1266,  1268,  1272,  1276,
 
1175
    1277,  1283,  1286,  1291,  1296,  1299,  1304,  1309,  1313,  1317,
 
1176
    1321,  1324,  1326,  1331,  1332,  1338,  1339,  1345,  1351,  1353,
 
1177
    1355,  1362,  1364,  1366,  1368,  1370,  1373,  1375,  1378,  1380,
 
1178
    1382,  1384,  1386,  1388,  1390,  1392,  1395,  1399,  1403,  1407,
 
1179
    1411,  1415,  1416,  1420,  1422,  1425,  1429,  1433,  1434,  1438,
 
1180
    1439,  1442,  1443,  1446,  1447,  1450,  1452,  1453,  1457,  1458,
 
1181
    1459,  1465,  1467,  1469,  1471,  1473,  1476,  1478,  1480,  1482,
 
1182
    1484,  1488,  1490,  1492,  1495,  1498,  1500,  1502,  1504,  1506,
 
1183
    1508,  1510,  1512,  1514,  1516,  1518,  1520,  1522,  1524,  1526,
 
1184
    1528,  1530,  1532,  1534,  1536,  1537,  1542,  1545,  1549,  1552,
 
1185
    1559,  1568,  1573,  1580,  1585,  1592,  1595,  1600,  1607,  1610,
 
1186
    1615,  1618,  1623,  1625,  1626,  1628,  1630,  1632,  1634,  1636,
 
1187
    1638,  1640,  1644,  1646,  1650,  1654,  1658,  1660,  1664,  1666,
 
1188
    1670,  1672,  1674,  1677,  1679,  1681,  1683,  1686,  1689,  1691,
 
1189
    1693,  1694,  1699,  1701,  1704,  1706,  1710,  1714,  1717,  1719,
 
1190
    1721,  1723,  1725,  1727,  1729,  1731,  1733,  1735,  1737,  1739,
 
1191
    1741,  1742,  1744,  1745,  1747,  1750,  1753,  1754,  1756,  1758,
 
1192
    1760,  1762,  1764,  1767
1193
1193
};
1194
1194
 
1195
1195
/* YYRHS -- A `-1'-separated list of the rules' RHS.  */
1196
1196
static const yytype_int16 yyrhs[] =
1197
1197
{
1198
 
     149,     0,    -1,    -1,   150,   151,    -1,   152,   312,    -1,
1199
 
     319,    -1,   153,    -1,   152,   318,   153,    -1,     1,   153,
 
1198
     149,     0,    -1,    -1,   150,   151,    -1,   152,   314,    -1,
 
1199
     321,    -1,   153,    -1,   152,   320,   153,    -1,     1,   153,
1200
1200
      -1,   158,    -1,    -1,    47,   154,   136,   151,   137,    -1,
1201
 
     156,   255,   230,   258,    -1,   157,   312,    -1,   319,    -1,
1202
 
     158,    -1,   157,   318,   158,    -1,     1,   158,    -1,    -1,
1203
 
      45,   179,   159,   179,    -1,    45,    54,    54,    -1,    45,
1204
 
      54,    64,    -1,    45,    54,    63,    -1,     6,   180,    -1,
1205
 
     158,    40,   161,    -1,   158,    41,   161,    -1,   158,    42,
1206
 
     161,    -1,   158,    43,   161,    -1,   158,    44,   158,    -1,
1207
 
      48,   136,   156,   137,    -1,   174,   109,   162,    -1,   167,
1208
 
     109,   162,    -1,   284,    87,   162,    -1,   215,   138,   190,
1209
 
     315,    87,   162,    -1,   215,   139,    52,    87,   162,    -1,
1210
 
     215,   139,    56,    87,   162,    -1,   215,    85,    56,    87,
1211
 
     162,    -1,   215,    85,    52,    87,   162,    -1,   285,    87,
1212
 
     162,    -1,   174,   109,   197,    -1,   167,   109,   186,    -1,
1213
 
     167,   109,   197,    -1,   160,    -1,   162,    -1,   160,    37,
1214
 
     160,    -1,   160,    38,   160,    -1,    39,   313,   160,    -1,
1215
 
     123,   162,    -1,   184,    -1,   160,    -1,   166,    -1,   163,
1216
 
      -1,   248,    -1,   248,   139,   309,   192,    -1,   248,    85,
1217
 
     309,   192,    -1,    -1,    94,   165,   236,   156,   137,    -1,
1218
 
     308,   192,    -1,   308,   192,   164,    -1,   215,   139,   309,
1219
 
     192,    -1,   215,   139,   309,   192,   164,    -1,   215,    85,
1220
 
     309,   192,    -1,   215,    85,   309,   192,   164,    -1,    32,
1221
 
     192,    -1,    31,   192,    -1,    30,   191,    -1,    21,   191,
1222
 
      -1,    22,   191,    -1,   169,    -1,    89,   168,   314,    -1,
1223
 
     169,    -1,    89,   168,   314,    -1,   171,    -1,   171,   170,
1224
 
      -1,   171,    95,   173,    -1,   171,    95,   173,   140,   172,
1225
 
      -1,   171,    95,    -1,   171,    95,   140,   172,    -1,    95,
1226
 
     173,    -1,    95,   173,   140,   172,    -1,    95,    -1,    95,
1227
 
     140,   172,    -1,   173,    -1,    89,   168,   314,    -1,   170,
1228
 
     140,    -1,   171,   170,   140,    -1,   170,    -1,   172,   140,
1229
 
     170,    -1,   282,    -1,   215,   138,   190,   315,    -1,   215,
1230
 
     139,    52,    -1,   215,    85,    52,    -1,   215,   139,    56,
1231
 
      -1,   215,    85,    56,    -1,    86,    56,    -1,   285,    -1,
1232
 
     282,    -1,   215,   138,   190,   315,    -1,   215,   139,    52,
1233
 
      -1,   215,    85,    52,    -1,   215,   139,    56,    -1,   215,
1234
 
      85,    56,    -1,    86,    56,    -1,   285,    -1,    52,    -1,
1235
 
      56,    -1,    86,   175,    -1,   175,    -1,   215,    85,   175,
1236
 
      -1,    52,    -1,    56,    -1,    53,    -1,   182,    -1,   183,
1237
 
      -1,   177,    -1,   278,    -1,   178,    -1,   280,    -1,   179,
1238
 
      -1,    -1,   180,   140,   181,   179,    -1,   114,    -1,   115,
 
1201
     156,   256,   231,   259,    -1,   157,   314,    -1,   321,    -1,
 
1202
     158,    -1,   157,   320,   158,    -1,     1,   158,    -1,    -1,
 
1203
      45,   180,   159,   180,    -1,    45,    54,    54,    -1,    45,
 
1204
      54,    64,    -1,    45,    54,    63,    -1,     6,   181,    -1,
 
1205
     158,    40,   162,    -1,   158,    41,   162,    -1,   158,    42,
 
1206
     162,    -1,   158,    43,   162,    -1,   158,    44,   158,    -1,
 
1207
      48,   136,   156,   137,    -1,   160,    -1,   168,   109,   163,
 
1208
      -1,   286,    87,   163,    -1,   216,   138,   191,   317,    87,
 
1209
     163,    -1,   216,   139,    52,    87,   163,    -1,   216,   139,
 
1210
      56,    87,   163,    -1,   216,    85,    56,    87,   163,    -1,
 
1211
     216,    85,    52,    87,   163,    -1,   287,    87,   163,    -1,
 
1212
     175,   109,   198,    -1,   168,   109,   187,    -1,   168,   109,
 
1213
     198,    -1,   161,    -1,   175,   109,   163,    -1,   175,   109,
 
1214
     160,    -1,   163,    -1,   161,    37,   161,    -1,   161,    38,
 
1215
     161,    -1,    39,   315,   161,    -1,   123,   163,    -1,   185,
 
1216
      -1,   161,    -1,   167,    -1,   164,    -1,   249,    -1,   249,
 
1217
     139,   311,   193,    -1,   249,    85,   311,   193,    -1,    -1,
 
1218
      94,   166,   237,   156,   137,    -1,   310,   193,    -1,   310,
 
1219
     193,   165,    -1,   216,   139,   311,   193,    -1,   216,   139,
 
1220
     311,   193,   165,    -1,   216,    85,   311,   193,    -1,   216,
 
1221
      85,   311,   193,   165,    -1,    32,   193,    -1,    31,   193,
 
1222
      -1,    30,   192,    -1,    21,   192,    -1,    22,   192,    -1,
 
1223
     170,    -1,    89,   169,   316,    -1,   170,    -1,    89,   169,
 
1224
     316,    -1,   172,    -1,   172,   171,    -1,   172,    95,   174,
 
1225
      -1,   172,    95,   174,   140,   173,    -1,   172,    95,    -1,
 
1226
     172,    95,   140,   173,    -1,    95,   174,    -1,    95,   174,
 
1227
     140,   173,    -1,    95,    -1,    95,   140,   173,    -1,   174,
 
1228
      -1,    89,   169,   316,    -1,   171,   140,    -1,   172,   171,
 
1229
     140,    -1,   171,    -1,   173,   140,   171,    -1,   283,    -1,
 
1230
     284,    -1,   216,   138,   191,   317,    -1,   216,   139,    52,
 
1231
      -1,   216,    85,    52,    -1,   216,   139,    56,    -1,   216,
 
1232
      85,    56,    -1,    86,    56,    -1,   287,    -1,   283,    -1,
 
1233
     284,    -1,   216,   138,   191,   317,    -1,   216,   139,    52,
 
1234
      -1,   216,    85,    52,    -1,   216,   139,    56,    -1,   216,
 
1235
      85,    56,    -1,    86,    56,    -1,   287,    -1,    52,    -1,
 
1236
      56,    -1,    86,   176,    -1,   176,    -1,   216,    85,   176,
 
1237
      -1,    52,    -1,    56,    -1,    53,    -1,   183,    -1,   184,
 
1238
      -1,   178,    -1,   279,    -1,   179,    -1,   281,    -1,   180,
 
1239
      -1,    -1,   181,   140,   182,   180,    -1,   114,    -1,   115,
1239
1240
      -1,   116,    -1,    69,    -1,    70,    -1,    71,    -1,    77,
1240
1241
      -1,    78,    -1,   112,    -1,    73,    -1,   113,    -1,    74,
1241
1242
      -1,    72,    -1,    83,    -1,    84,    -1,   117,    -1,   118,
1249
1250
      -1,    34,    -1,    39,    -1,    38,    -1,    23,    -1,     8,
1250
1251
      -1,    24,    -1,    30,    -1,    33,    -1,    32,    -1,    13,
1251
1252
      -1,    35,    -1,     6,    -1,    17,    -1,    31,    -1,    11,
1252
 
      -1,    12,    -1,    18,    -1,    19,    -1,   174,   109,   184,
1253
 
      -1,   174,   109,   184,    44,   184,    -1,   284,    87,   184,
1254
 
      -1,   284,    87,   184,    44,   184,    -1,   215,   138,   190,
1255
 
     315,    87,   184,    -1,   215,   139,    52,    87,   184,    -1,
1256
 
     215,   139,    56,    87,   184,    -1,   215,    85,    52,    87,
1257
 
     184,    -1,   215,    85,    56,    87,   184,    -1,    86,    56,
1258
 
      87,   184,    -1,   285,    87,   184,    -1,   184,    79,   184,
1259
 
      -1,   184,    80,   184,    -1,   184,   117,   184,    -1,   184,
1260
 
     118,   184,    -1,   184,   119,   184,    -1,   184,   120,   184,
1261
 
      -1,   184,   121,   184,    -1,   184,    68,   184,    -1,   122,
1262
 
      59,    68,   184,    -1,   122,    60,    68,   184,    -1,    66,
1263
 
     184,    -1,    67,   184,    -1,   184,   114,   184,    -1,   184,
1264
 
     115,   184,    -1,   184,   116,   184,    -1,   184,    69,   184,
1265
 
      -1,   184,   112,   184,    -1,   184,    73,   184,    -1,   184,
1266
 
     113,   184,    -1,   184,    74,   184,    -1,   184,    70,   184,
1267
 
      -1,   184,    71,   184,    -1,   184,    72,   184,    -1,   184,
1268
 
      77,   184,    -1,   184,    78,   184,    -1,   123,   184,    -1,
1269
 
     124,   184,    -1,   184,    83,   184,    -1,   184,    84,   184,
1270
 
      -1,   184,    75,   184,    -1,   184,    76,   184,    -1,    -1,
1271
 
      46,   313,   185,   184,    -1,   184,   110,   184,   313,   111,
1272
 
     184,    -1,   198,    -1,   184,    -1,   319,    -1,   196,   316,
1273
 
      -1,   196,   140,   306,   316,    -1,   306,   316,    -1,   142,
1274
 
     190,   314,    -1,   319,    -1,   188,    -1,   319,    -1,   191,
1275
 
      -1,   166,    -1,   196,   195,    -1,   306,   195,    -1,   196,
1276
 
     140,   306,   195,    -1,   194,    -1,    -1,   193,   191,    -1,
1277
 
      96,   186,    -1,   140,   194,    -1,   140,    -1,   319,    -1,
1278
 
     186,    -1,    95,   186,    -1,   196,   140,   186,    -1,   196,
1279
 
     140,    95,   186,    -1,   196,   140,   186,    -1,   196,   140,
1280
 
      95,   186,    -1,    95,   186,    -1,   259,    -1,   260,    -1,
1281
 
     263,    -1,   264,    -1,   265,    -1,   268,    -1,   283,    -1,
1282
 
     285,    -1,    53,    -1,    -1,   216,   199,   155,   226,    -1,
1283
 
      -1,    90,   160,   200,   314,    -1,    89,   156,   143,    -1,
1284
 
     215,    85,    56,    -1,    86,    56,    -1,    92,   187,   144,
1285
 
      -1,    93,   305,   137,    -1,    30,    -1,    31,   142,   191,
1286
 
     314,    -1,    31,   142,   314,    -1,    31,    -1,    -1,    46,
1287
 
     313,   142,   201,   160,   314,    -1,    39,   142,   160,   314,
1288
 
      -1,    39,   142,   314,    -1,   308,   250,    -1,   249,    -1,
1289
 
     249,   250,    -1,    97,   241,    -1,   217,   161,   227,   156,
1290
 
     229,   226,    -1,   218,   161,   227,   156,   230,   226,    -1,
1291
 
      -1,    -1,   219,   202,   161,   228,   203,   156,   226,    -1,
1292
 
      -1,    -1,   220,   204,   161,   228,   205,   156,   226,    -1,
1293
 
     221,   161,   312,   253,   226,    -1,   221,   312,   253,   226,
1294
 
      -1,    -1,    -1,   222,   231,    25,   206,   161,   228,   207,
1295
 
     156,   226,    -1,    -1,   223,   176,   286,   208,   155,   226,
1296
 
      -1,    -1,    -1,   223,    83,   160,   209,   317,   210,   155,
1297
 
     226,    -1,    -1,   224,   176,   211,   155,   226,    -1,    -1,
1298
 
     225,   177,   212,   288,   155,   226,    -1,    -1,    -1,   225,
1299
 
     303,   311,   213,   177,   214,   288,   155,   226,    -1,    21,
1300
 
      -1,    22,    -1,    23,    -1,    24,    -1,   198,    -1,     7,
1301
 
      -1,    11,    -1,    12,    -1,    18,    -1,    19,    -1,    16,
1302
 
      -1,    20,    -1,     3,    -1,     4,    -1,     5,    -1,    10,
1303
 
      -1,   317,    -1,    13,    -1,   317,    13,    -1,   317,    -1,
1304
 
      27,    -1,   230,    -1,    14,   161,   227,   156,   229,    -1,
1305
 
     319,    -1,    15,   156,    -1,   174,    -1,   167,    -1,   291,
1306
 
      -1,    89,   234,   314,    -1,   232,    -1,   233,   140,   232,
1307
 
      -1,   233,    -1,   233,   140,    95,   291,    -1,   233,   140,
1308
 
      95,   291,   140,   233,    -1,   233,   140,    95,    -1,   233,
1309
 
     140,    95,   140,   233,    -1,    95,   291,    -1,    95,   291,
1310
 
     140,   233,    -1,    95,    -1,    95,   140,   233,    -1,   293,
1311
 
     140,   296,   140,   299,   302,    -1,   293,   140,   296,   140,
1312
 
     299,   140,   293,   302,    -1,   293,   140,   296,   302,    -1,
1313
 
     293,   140,   296,   140,   293,   302,    -1,   293,   140,   299,
1314
 
     302,    -1,   293,   140,    -1,   293,   140,   299,   140,   293,
1315
 
     302,    -1,   293,   302,    -1,   296,   140,   299,   302,    -1,
1316
 
     296,   140,   299,   140,   293,   302,    -1,   296,   302,    -1,
1317
 
     296,   140,   293,   302,    -1,   299,   302,    -1,   299,   140,
1318
 
     293,   302,    -1,   301,    -1,   319,    -1,   237,    -1,   114,
1319
 
     238,   114,    -1,    76,    -1,   114,   235,   238,   114,    -1,
1320
 
     319,    -1,   145,   239,    -1,   240,    -1,   239,   140,   240,
1321
 
      -1,    52,    -1,   290,    -1,    -1,    -1,   242,   243,   244,
1322
 
     245,    -1,   142,   289,   238,   314,    -1,   289,    -1,   107,
1323
 
     156,   137,    -1,    29,   156,    10,    -1,    -1,    28,   247,
1324
 
     236,   156,    10,    -1,   166,   246,    -1,   248,   139,   309,
1325
 
     189,    -1,   248,    85,   309,   189,    -1,   308,   188,    -1,
1326
 
     215,   139,   309,   189,    -1,   215,    85,   309,   188,    -1,
1327
 
     215,    85,   310,    -1,   215,   139,   188,    -1,   215,    85,
1328
 
     188,    -1,    32,   188,    -1,    32,    -1,   215,   138,   190,
1329
 
     315,    -1,    -1,   136,   251,   236,   156,   137,    -1,    -1,
1330
 
      26,   252,   236,   156,    10,    -1,    17,   196,   227,   156,
1331
 
     254,    -1,   230,    -1,   253,    -1,     8,   256,   257,   227,
1332
 
     156,   255,    -1,   319,    -1,   186,    -1,   197,    -1,   319,
1333
 
      -1,    88,   174,    -1,   319,    -1,     9,   156,    -1,   319,
1334
 
      -1,   281,    -1,   278,    -1,   280,    -1,   261,    -1,    62,
1335
 
      -1,   262,    -1,   261,   262,    -1,    99,   270,   106,    -1,
1336
 
     100,   271,   106,    -1,   101,   272,    65,    -1,   102,   146,
1337
 
     106,    -1,   102,   266,   106,    -1,    -1,   266,   267,   146,
1338
 
      -1,   273,    -1,   267,   273,    -1,   103,   146,   106,    -1,
1339
 
     103,   269,   106,    -1,    -1,   269,    61,   146,    -1,    -1,
1340
 
     270,   273,    -1,    -1,   271,   273,    -1,    -1,   272,   273,
1341
 
      -1,    61,    -1,    -1,   105,   274,   277,    -1,    -1,    -1,
1342
 
     104,   275,   276,   156,   137,    -1,    54,    -1,    55,    -1,
1343
 
      57,    -1,   285,    -1,    98,   279,    -1,   177,    -1,    55,
1344
 
      -1,    54,    -1,    57,    -1,    98,   271,   106,    -1,    59,
1345
 
      -1,    60,    -1,   122,    59,    -1,   122,    60,    -1,    52,
1346
 
      -1,    55,    -1,    54,    -1,    56,    -1,    57,    -1,    34,
1347
 
      -1,    33,    -1,    35,    -1,    36,    -1,    50,    -1,    49,
1348
 
      -1,    51,    -1,   282,    -1,   282,    -1,    63,    -1,    64,
1349
 
      -1,   317,    -1,    -1,   113,   287,   161,   317,    -1,     1,
1350
 
     317,    -1,   142,   289,   314,    -1,   289,   317,    -1,   293,
1351
 
     140,   297,   140,   299,   302,    -1,   293,   140,   297,   140,
1352
 
     299,   140,   293,   302,    -1,   293,   140,   297,   302,    -1,
1353
 
     293,   140,   297,   140,   293,   302,    -1,   293,   140,   299,
1354
 
     302,    -1,   293,   140,   299,   140,   293,   302,    -1,   293,
1355
 
     302,    -1,   297,   140,   299,   302,    -1,   297,   140,   299,
1356
 
     140,   293,   302,    -1,   297,   302,    -1,   297,   140,   293,
1357
 
     302,    -1,   299,   302,    -1,   299,   140,   293,   302,    -1,
1358
 
     301,    -1,    -1,    56,    -1,    55,    -1,    54,    -1,    57,
1359
 
      -1,   290,    -1,    52,    -1,   291,    -1,    89,   234,   314,
1360
 
      -1,   292,    -1,   293,   140,   292,    -1,    52,   109,   186,
1361
 
      -1,    52,   109,   215,    -1,   295,    -1,   296,   140,   295,
1362
 
      -1,   294,    -1,   297,   140,   294,    -1,   119,    -1,    95,
1363
 
      -1,   298,    52,    -1,   298,    -1,   116,    -1,    96,    -1,
1364
 
     300,    52,    -1,   140,   301,    -1,   319,    -1,   283,    -1,
1365
 
      -1,   142,   304,   160,   314,    -1,   319,    -1,   306,   316,
1366
 
      -1,   307,    -1,   306,   140,   307,    -1,   186,    88,   186,
1367
 
      -1,    58,   186,    -1,    52,    -1,    56,    -1,    53,    -1,
1368
 
      52,    -1,    56,    -1,    53,    -1,   182,    -1,    52,    -1,
1369
 
      53,    -1,   182,    -1,   139,    -1,    85,    -1,    -1,   318,
1370
 
      -1,    -1,   147,    -1,   313,   143,    -1,   313,   144,    -1,
1371
 
      -1,   147,    -1,   140,    -1,   145,    -1,   147,    -1,   317,
1372
 
      -1,   318,   145,    -1,    -1
 
1253
      -1,    12,    -1,    18,    -1,    19,    -1,   175,   109,   185,
 
1254
      -1,   175,   109,   185,    44,   185,    -1,   286,    87,   185,
 
1255
      -1,   286,    87,   185,    44,   185,    -1,   216,   138,   191,
 
1256
     317,    87,   185,    -1,   216,   139,    52,    87,   185,    -1,
 
1257
     216,   139,    56,    87,   185,    -1,   216,    85,    52,    87,
 
1258
     185,    -1,   216,    85,    56,    87,   185,    -1,    86,    56,
 
1259
      87,   185,    -1,   287,    87,   185,    -1,   185,    79,   185,
 
1260
      -1,   185,    80,   185,    -1,   185,   117,   185,    -1,   185,
 
1261
     118,   185,    -1,   185,   119,   185,    -1,   185,   120,   185,
 
1262
      -1,   185,   121,   185,    -1,   185,    68,   185,    -1,   122,
 
1263
      59,    68,   185,    -1,   122,    60,    68,   185,    -1,    66,
 
1264
     185,    -1,    67,   185,    -1,   185,   114,   185,    -1,   185,
 
1265
     115,   185,    -1,   185,   116,   185,    -1,   185,    69,   185,
 
1266
      -1,   185,   112,   185,    -1,   185,    73,   185,    -1,   185,
 
1267
     113,   185,    -1,   185,    74,   185,    -1,   185,    70,   185,
 
1268
      -1,   185,    71,   185,    -1,   185,    72,   185,    -1,   185,
 
1269
      77,   185,    -1,   185,    78,   185,    -1,   123,   185,    -1,
 
1270
     124,   185,    -1,   185,    83,   185,    -1,   185,    84,   185,
 
1271
      -1,   185,    75,   185,    -1,   185,    76,   185,    -1,    -1,
 
1272
      46,   315,   186,   185,    -1,   185,   110,   185,   315,   111,
 
1273
     185,    -1,   199,    -1,   185,    -1,   321,    -1,   197,   318,
 
1274
      -1,   197,   140,   308,   318,    -1,   308,   318,    -1,   142,
 
1275
     191,   316,    -1,   321,    -1,   189,    -1,   321,    -1,   192,
 
1276
      -1,   197,   140,    -1,   197,   140,   308,   140,    -1,   308,
 
1277
     140,    -1,   167,    -1,   197,   196,    -1,   308,   196,    -1,
 
1278
     197,   140,   308,   196,    -1,   195,    -1,    -1,   194,   192,
 
1279
      -1,    96,   187,    -1,   140,   195,    -1,   321,    -1,   187,
 
1280
      -1,    95,   187,    -1,   197,   140,   187,    -1,   197,   140,
 
1281
      95,   187,    -1,   197,   140,   187,    -1,   197,   140,    95,
 
1282
     187,    -1,    95,   187,    -1,   260,    -1,   261,    -1,   264,
 
1283
      -1,   265,    -1,   266,    -1,   269,    -1,   285,    -1,   287,
 
1284
      -1,    53,    -1,    -1,   217,   200,   155,   227,    -1,    -1,
 
1285
      90,   161,   201,   316,    -1,    89,   156,   143,    -1,   216,
 
1286
      85,    56,    -1,    86,    56,    -1,    92,   188,   144,    -1,
 
1287
      93,   307,   137,    -1,    30,    -1,    31,   142,   192,   316,
 
1288
      -1,    31,   142,   316,    -1,    31,    -1,    -1,    46,   315,
 
1289
     142,   202,   161,   316,    -1,    39,   142,   161,   316,    -1,
 
1290
      39,   142,   316,    -1,   310,   251,    -1,   250,    -1,   250,
 
1291
     251,    -1,    97,   242,    -1,   218,   162,   228,   156,   230,
 
1292
     227,    -1,   219,   162,   228,   156,   231,   227,    -1,    -1,
 
1293
      -1,   220,   203,   162,   229,   204,   156,   227,    -1,    -1,
 
1294
      -1,   221,   205,   162,   229,   206,   156,   227,    -1,   222,
 
1295
     162,   314,   254,   227,    -1,   222,   314,   254,   227,    -1,
 
1296
      -1,    -1,   223,   232,    25,   207,   162,   229,   208,   156,
 
1297
     227,    -1,    -1,   224,   177,   288,   209,   155,   227,    -1,
 
1298
      -1,    -1,   224,    83,   161,   210,   319,   211,   155,   227,
 
1299
      -1,    -1,   225,   177,   212,   155,   227,    -1,    -1,   226,
 
1300
     178,   213,   290,   155,   227,    -1,    -1,    -1,   226,   305,
 
1301
     313,   214,   178,   215,   290,   155,   227,    -1,    21,    -1,
 
1302
      22,    -1,    23,    -1,    24,    -1,   199,    -1,     7,    -1,
 
1303
      11,    -1,    12,    -1,    18,    -1,    19,    -1,    16,    -1,
 
1304
      20,    -1,     3,    -1,     4,    -1,     5,    -1,    10,    -1,
 
1305
     319,    -1,    13,    -1,   319,    13,    -1,   319,    -1,    27,
 
1306
      -1,   231,    -1,    14,   162,   228,   156,   230,    -1,   321,
 
1307
      -1,    15,   156,    -1,   175,    -1,   168,    -1,   293,    -1,
 
1308
      89,   235,   316,    -1,   233,    -1,   234,   140,   233,    -1,
 
1309
     234,    -1,   234,   140,    95,   293,    -1,   234,   140,    95,
 
1310
     293,   140,   234,    -1,   234,   140,    95,    -1,   234,   140,
 
1311
      95,   140,   234,    -1,    95,   293,    -1,    95,   293,   140,
 
1312
     234,    -1,    95,    -1,    95,   140,   234,    -1,   295,   140,
 
1313
     298,   140,   301,   304,    -1,   295,   140,   298,   140,   301,
 
1314
     140,   295,   304,    -1,   295,   140,   298,   304,    -1,   295,
 
1315
     140,   298,   140,   295,   304,    -1,   295,   140,   301,   304,
 
1316
      -1,   295,   140,    -1,   295,   140,   301,   140,   295,   304,
 
1317
      -1,   295,   304,    -1,   298,   140,   301,   304,    -1,   298,
 
1318
     140,   301,   140,   295,   304,    -1,   298,   304,    -1,   298,
 
1319
     140,   295,   304,    -1,   301,   304,    -1,   301,   140,   295,
 
1320
     304,    -1,   303,    -1,   321,    -1,   238,    -1,   114,   239,
 
1321
     114,    -1,    76,    -1,   114,   236,   239,   114,    -1,   321,
 
1322
      -1,   145,   240,    -1,   241,    -1,   240,   140,   241,    -1,
 
1323
      52,    -1,   292,    -1,    -1,    -1,   243,   244,   245,   246,
 
1324
      -1,   142,   291,   239,   316,    -1,   291,    -1,   107,   156,
 
1325
     137,    -1,    29,   156,    10,    -1,    -1,    28,   248,   237,
 
1326
     156,    10,    -1,   167,   247,    -1,   249,   139,   311,   190,
 
1327
      -1,   249,    85,   311,   190,    -1,   310,   189,    -1,   216,
 
1328
     139,   311,   190,    -1,   216,    85,   311,   189,    -1,   216,
 
1329
      85,   312,    -1,   216,   139,   189,    -1,   216,    85,   189,
 
1330
      -1,    32,   189,    -1,    32,    -1,   216,   138,   191,   317,
 
1331
      -1,    -1,   136,   252,   237,   156,   137,    -1,    -1,    26,
 
1332
     253,   237,   156,    10,    -1,    17,   197,   228,   156,   255,
 
1333
      -1,   231,    -1,   254,    -1,     8,   257,   258,   228,   156,
 
1334
     256,    -1,   321,    -1,   187,    -1,   198,    -1,   321,    -1,
 
1335
      88,   175,    -1,   321,    -1,     9,   156,    -1,   321,    -1,
 
1336
     282,    -1,   279,    -1,   281,    -1,   262,    -1,    62,    -1,
 
1337
     263,    -1,   262,   263,    -1,    99,   271,   106,    -1,   100,
 
1338
     272,   106,    -1,   101,   273,    65,    -1,   102,   146,   106,
 
1339
      -1,   102,   267,   106,    -1,    -1,   267,   268,   146,    -1,
 
1340
     274,    -1,   268,   274,    -1,   103,   146,   106,    -1,   103,
 
1341
     270,   106,    -1,    -1,   270,    61,   146,    -1,    -1,   271,
 
1342
     274,    -1,    -1,   272,   274,    -1,    -1,   273,   274,    -1,
 
1343
      61,    -1,    -1,   105,   275,   278,    -1,    -1,    -1,   104,
 
1344
     276,   277,   156,   137,    -1,    54,    -1,    55,    -1,    57,
 
1345
      -1,   287,    -1,    98,   280,    -1,   178,    -1,    55,    -1,
 
1346
      54,    -1,    57,    -1,    98,   272,   106,    -1,    59,    -1,
 
1347
      60,    -1,   122,    59,    -1,   122,    60,    -1,    52,    -1,
 
1348
      55,    -1,    54,    -1,    56,    -1,    57,    -1,    34,    -1,
 
1349
      33,    -1,    35,    -1,    36,    -1,    50,    -1,    49,    -1,
 
1350
      51,    -1,   283,    -1,   284,    -1,   283,    -1,   284,    -1,
 
1351
      63,    -1,    64,    -1,   319,    -1,    -1,   113,   289,   162,
 
1352
     319,    -1,     1,   319,    -1,   142,   291,   316,    -1,   291,
 
1353
     319,    -1,   295,   140,   299,   140,   301,   304,    -1,   295,
 
1354
     140,   299,   140,   301,   140,   295,   304,    -1,   295,   140,
 
1355
     299,   304,    -1,   295,   140,   299,   140,   295,   304,    -1,
 
1356
     295,   140,   301,   304,    -1,   295,   140,   301,   140,   295,
 
1357
     304,    -1,   295,   304,    -1,   299,   140,   301,   304,    -1,
 
1358
     299,   140,   301,   140,   295,   304,    -1,   299,   304,    -1,
 
1359
     299,   140,   295,   304,    -1,   301,   304,    -1,   301,   140,
 
1360
     295,   304,    -1,   303,    -1,    -1,    56,    -1,    55,    -1,
 
1361
      54,    -1,    57,    -1,   292,    -1,    52,    -1,   293,    -1,
 
1362
      89,   235,   316,    -1,   294,    -1,   295,   140,   294,    -1,
 
1363
      52,   109,   187,    -1,    52,   109,   216,    -1,   297,    -1,
 
1364
     298,   140,   297,    -1,   296,    -1,   299,   140,   296,    -1,
 
1365
     119,    -1,    95,    -1,   300,    52,    -1,   300,    -1,   116,
 
1366
      -1,    96,    -1,   302,    52,    -1,   140,   303,    -1,   321,
 
1367
      -1,   285,    -1,    -1,   142,   306,   161,   316,    -1,   321,
 
1368
      -1,   308,   318,    -1,   309,    -1,   308,   140,   309,    -1,
 
1369
     187,    88,   187,    -1,    58,   187,    -1,    52,    -1,    56,
 
1370
      -1,    53,    -1,    52,    -1,    56,    -1,    53,    -1,   183,
 
1371
      -1,    52,    -1,    53,    -1,   183,    -1,   139,    -1,    85,
 
1372
      -1,    -1,   320,    -1,    -1,   147,    -1,   315,   143,    -1,
 
1373
     315,   144,    -1,    -1,   147,    -1,   140,    -1,   145,    -1,
 
1374
     147,    -1,   319,    -1,   320,   145,    -1,    -1
1373
1375
};
1374
1376
 
1375
1377
/* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
1376
1378
static const yytype_uint16 yyrline[] =
1377
1379
{
1378
 
       0,   786,   786,   786,   817,   828,   837,   845,   853,   859,
1379
 
     861,   860,   884,   917,   928,   937,   945,   953,   959,   959,
1380
 
     967,   975,   986,   996,  1004,  1013,  1022,  1035,  1048,  1057,
1381
 
    1069,  1078,  1088,  1117,  1138,  1155,  1172,  1183,  1200,  1210,
1382
 
    1219,  1228,  1237,  1240,  1241,  1249,  1257,  1265,  1273,  1276,
1383
 
    1288,  1289,  1292,  1293,  1302,  1314,  1313,  1335,  1344,  1356,
1384
 
    1365,  1377,  1386,  1398,  1407,  1416,  1424,  1432,  1442,  1443,
1385
 
    1453,  1454,  1464,  1472,  1480,  1488,  1497,  1505,  1514,  1522,
1386
 
    1531,  1539,  1550,  1551,  1561,  1569,  1579,  1587,  1597,  1601,
1387
 
    1609,  1617,  1625,  1633,  1645,  1655,  1667,  1676,  1684,  1692,
1388
 
    1700,  1708,  1721,  1734,  1745,  1753,  1756,  1764,  1772,  1782,
1389
 
    1783,  1784,  1785,  1790,  1801,  1802,  1805,  1813,  1816,  1824,
1390
 
    1824,  1834,  1835,  1836,  1837,  1838,  1839,  1840,  1841,  1842,
1391
 
    1843,  1844,  1845,  1846,  1847,  1848,  1849,  1850,  1851,  1852,
1392
 
    1853,  1854,  1855,  1856,  1857,  1858,  1859,  1860,  1861,  1862,
1393
 
    1865,  1865,  1865,  1866,  1866,  1867,  1867,  1867,  1868,  1868,
1394
 
    1868,  1868,  1869,  1869,  1869,  1869,  1870,  1870,  1870,  1871,
1395
 
    1871,  1871,  1871,  1872,  1872,  1872,  1872,  1873,  1873,  1873,
1396
 
    1873,  1874,  1874,  1874,  1874,  1875,  1875,  1875,  1875,  1876,
1397
 
    1876,  1879,  1888,  1898,  1927,  1958,  1984,  2001,  2018,  2035,
1398
 
    2046,  2057,  2068,  2082,  2096,  2104,  2112,  2120,  2128,  2136,
1399
 
    2144,  2153,  2162,  2170,  2178,  2186,  2194,  2202,  2210,  2218,
1400
 
    2226,  2234,  2242,  2250,  2258,  2266,  2277,  2285,  2293,  2301,
1401
 
    2309,  2317,  2325,  2333,  2333,  2343,  2353,  2359,  2371,  2372,
1402
 
    2376,  2384,  2394,  2404,  2405,  2408,  2409,  2412,  2421,  2429,
1403
 
    2439,  2448,  2457,  2457,  2469,  2479,  2483,  2487,  2493,  2501,
1404
 
    2509,  2523,  2539,  2553,  2568,  2578,  2579,  2580,  2581,  2582,
1405
 
    2583,  2584,  2585,  2586,  2595,  2594,  2619,  2619,  2628,  2636,
1406
 
    2644,  2652,  2665,  2673,  2681,  2689,  2697,  2705,  2705,  2715,
1407
 
    2723,  2731,  2742,  2743,  2754,  2758,  2770,  2782,  2782,  2782,
1408
 
    2793,  2793,  2793,  2804,  2815,  2824,  2826,  2823,  2890,  2889,
1409
 
    2911,  2916,  2910,  2935,  2934,  2956,  2955,  2978,  2979,  2978,
1410
 
    2999,  3007,  3015,  3023,  3033,  3045,  3051,  3057,  3063,  3069,
1411
 
    3075,  3081,  3087,  3093,  3099,  3109,  3115,  3120,  3121,  3128,
1412
 
    3133,  3136,  3137,  3150,  3151,  3161,  3162,  3165,  3173,  3183,
1413
 
    3191,  3201,  3209,  3218,  3227,  3235,  3243,  3252,  3264,  3272,
1414
 
    3282,  3290,  3298,  3306,  3314,  3322,  3331,  3339,  3347,  3355,
1415
 
    3363,  3371,  3379,  3387,  3395,  3405,  3406,  3412,  3421,  3430,
1416
 
    3441,  3442,  3452,  3459,  3468,  3476,  3482,  3485,  3482,  3503,
1417
 
    3511,  3521,  3525,  3532,  3531,  3552,  3568,  3577,  3588,  3597,
1418
 
    3607,  3617,  3625,  3636,  3647,  3655,  3663,  3678,  3677,  3697,
1419
 
    3696,  3717,  3729,  3730,  3733,  3752,  3755,  3763,  3771,  3774,
1420
 
    3778,  3781,  3789,  3792,  3793,  3801,  3804,  3821,  3822,  3823,
1421
 
    3833,  3843,  3870,  3935,  3944,  3955,  3962,  3972,  3980,  3990,
1422
 
    3999,  4010,  4017,  4028,  4035,  4046,  4053,  4064,  4071,  4100,
1423
 
    4102,  4101,  4118,  4124,  4117,  4143,  4151,  4159,  4167,  4170,
1424
 
    4181,  4182,  4183,  4184,  4187,  4217,  4218,  4219,  4227,  4237,
1425
 
    4238,  4239,  4240,  4241,  4242,  4243,  4244,  4245,  4246,  4247,
1426
 
    4248,  4251,  4261,  4271,  4272,  4275,  4284,  4283,  4291,  4303,
1427
 
    4313,  4319,  4327,  4335,  4343,  4351,  4359,  4367,  4375,  4383,
1428
 
    4391,  4399,  4407,  4415,  4423,  4432,  4441,  4450,  4459,  4468,
1429
 
    4479,  4480,  4487,  4496,  4515,  4522,  4535,  4547,  4559,  4567,
1430
 
    4583,  4591,  4607,  4608,  4611,  4624,  4635,  4636,  4639,  4656,
1431
 
    4660,  4670,  4680,  4680,  4709,  4710,  4720,  4727,  4737,  4745,
1432
 
    4755,  4756,  4757,  4760,  4761,  4762,  4763,  4766,  4767,  4768,
1433
 
    4771,  4776,  4783,  4784,  4787,  4788,  4791,  4794,  4797,  4798,
1434
 
    4799,  4802,  4803,  4806,  4807,  4811
 
1380
       0,   782,   782,   782,   813,   824,   833,   841,   849,   855,
 
1381
     857,   856,   880,   913,   924,   933,   941,   949,   955,   955,
 
1382
     963,   971,   982,   992,  1000,  1009,  1018,  1031,  1044,  1053,
 
1383
    1065,  1066,  1076,  1105,  1126,  1143,  1160,  1171,  1188,  1198,
 
1384
    1207,  1216,  1225,  1228,  1237,  1249,  1250,  1258,  1266,  1274,
 
1385
    1282,  1285,  1297,  1298,  1301,  1302,  1311,  1323,  1322,  1344,
 
1386
    1353,  1365,  1374,  1386,  1395,  1407,  1416,  1425,  1433,  1441,
 
1387
    1451,  1452,  1462,  1463,  1473,  1481,  1489,  1497,  1506,  1514,
 
1388
    1523,  1531,  1540,  1548,  1559,  1560,  1570,  1578,  1588,  1596,
 
1389
    1606,  1610,  1614,  1622,  1630,  1638,  1646,  1658,  1668,  1680,
 
1390
    1689,  1698,  1706,  1714,  1722,  1730,  1743,  1756,  1767,  1775,
 
1391
    1778,  1786,  1794,  1804,  1805,  1806,  1807,  1812,  1823,  1824,
 
1392
    1827,  1835,  1838,  1846,  1846,  1856,  1857,  1858,  1859,  1860,
 
1393
    1861,  1862,  1863,  1864,  1865,  1866,  1867,  1868,  1869,  1870,
 
1394
    1871,  1872,  1873,  1874,  1875,  1876,  1877,  1878,  1879,  1880,
 
1395
    1881,  1882,  1883,  1884,  1887,  1887,  1887,  1888,  1888,  1889,
 
1396
    1889,  1889,  1890,  1890,  1890,  1890,  1891,  1891,  1891,  1891,
 
1397
    1892,  1892,  1892,  1893,  1893,  1893,  1893,  1894,  1894,  1894,
 
1398
    1894,  1895,  1895,  1895,  1895,  1896,  1896,  1896,  1896,  1897,
 
1399
    1897,  1897,  1897,  1898,  1898,  1901,  1910,  1920,  1949,  1980,
 
1400
    2006,  2023,  2040,  2057,  2068,  2079,  2090,  2104,  2118,  2126,
 
1401
    2134,  2142,  2150,  2158,  2166,  2175,  2184,  2192,  2200,  2208,
 
1402
    2216,  2224,  2232,  2240,  2248,  2256,  2264,  2272,  2280,  2288,
 
1403
    2299,  2307,  2315,  2323,  2331,  2339,  2347,  2355,  2355,  2365,
 
1404
    2375,  2381,  2393,  2394,  2398,  2406,  2416,  2426,  2427,  2430,
 
1405
    2431,  2432,  2436,  2444,  2454,  2463,  2471,  2481,  2490,  2499,
 
1406
    2499,  2511,  2521,  2525,  2531,  2539,  2547,  2561,  2577,  2591,
 
1407
    2606,  2616,  2617,  2618,  2619,  2620,  2621,  2622,  2623,  2624,
 
1408
    2633,  2632,  2657,  2657,  2666,  2674,  2682,  2690,  2703,  2711,
 
1409
    2719,  2727,  2735,  2743,  2743,  2753,  2761,  2769,  2780,  2781,
 
1410
    2792,  2796,  2808,  2820,  2820,  2820,  2831,  2831,  2831,  2842,
 
1411
    2853,  2862,  2864,  2861,  2928,  2927,  2949,  2954,  2948,  2973,
 
1412
    2972,  2994,  2993,  3016,  3017,  3016,  3037,  3045,  3053,  3061,
 
1413
    3071,  3083,  3089,  3095,  3101,  3107,  3113,  3119,  3125,  3131,
 
1414
    3137,  3147,  3153,  3158,  3159,  3166,  3171,  3174,  3175,  3188,
 
1415
    3189,  3199,  3200,  3203,  3211,  3221,  3229,  3239,  3247,  3256,
 
1416
    3265,  3273,  3281,  3290,  3302,  3310,  3320,  3328,  3336,  3344,
 
1417
    3352,  3360,  3369,  3377,  3385,  3393,  3401,  3409,  3417,  3425,
 
1418
    3433,  3443,  3444,  3450,  3459,  3468,  3479,  3480,  3490,  3497,
 
1419
    3506,  3514,  3520,  3523,  3520,  3541,  3549,  3559,  3563,  3570,
 
1420
    3569,  3590,  3606,  3615,  3626,  3635,  3645,  3655,  3663,  3674,
 
1421
    3685,  3693,  3701,  3716,  3715,  3735,  3734,  3755,  3767,  3768,
 
1422
    3771,  3790,  3793,  3801,  3809,  3812,  3816,  3819,  3827,  3830,
 
1423
    3831,  3839,  3842,  3859,  3860,  3861,  3871,  3881,  3908,  3973,
 
1424
    3982,  3993,  4000,  4010,  4018,  4028,  4037,  4048,  4055,  4066,
 
1425
    4073,  4084,  4091,  4102,  4109,  4138,  4140,  4139,  4156,  4162,
 
1426
    4155,  4181,  4189,  4197,  4205,  4208,  4219,  4220,  4221,  4222,
 
1427
    4225,  4255,  4256,  4257,  4265,  4275,  4276,  4277,  4278,  4279,
 
1428
    4282,  4283,  4284,  4285,  4286,  4287,  4288,  4291,  4304,  4314,
 
1429
    4322,  4332,  4333,  4336,  4345,  4344,  4352,  4364,  4374,  4380,
 
1430
    4388,  4396,  4404,  4412,  4420,  4428,  4436,  4444,  4452,  4460,
 
1431
    4468,  4476,  4484,  4493,  4502,  4511,  4520,  4529,  4540,  4541,
 
1432
    4548,  4557,  4576,  4583,  4596,  4608,  4620,  4628,  4644,  4652,
 
1433
    4668,  4669,  4672,  4685,  4696,  4697,  4700,  4717,  4721,  4731,
 
1434
    4741,  4741,  4770,  4771,  4781,  4788,  4798,  4806,  4816,  4817,
 
1435
    4818,  4821,  4822,  4823,  4824,  4827,  4828,  4829,  4832,  4837,
 
1436
    4844,  4845,  4848,  4849,  4852,  4855,  4858,  4859,  4860,  4863,
 
1437
    4864,  4867,  4868,  4872
1435
1438
};
1436
1439
#endif
1437
1440
 
1470
1473
  "id_core_set_postexe", "tLAST_TOKEN", "'{'", "'}'", "'['", "'.'", "','",
1471
1474
  "'`'", "'('", "')'", "']'", "';'", "' '", "'\\n'", "$accept", "program",
1472
1475
  "$@1", "top_compstmt", "top_stmts", "top_stmt", "$@2", "bodystmt",
1473
 
  "compstmt", "stmts", "stmt", "$@3", "expr", "expr_value", "command_call",
1474
 
  "block_command", "cmd_brace_block", "@4", "command", "mlhs",
1475
 
  "mlhs_inner", "mlhs_basic", "mlhs_item", "mlhs_head", "mlhs_post",
1476
 
  "mlhs_node", "lhs", "cname", "cpath", "fname", "fsym", "fitem",
1477
 
  "undef_list", "$@5", "op", "reswords", "arg", "$@6", "arg_value",
1478
 
  "aref_args", "paren_args", "opt_paren_args", "opt_call_args",
1479
 
  "call_args", "command_args", "@7", "block_arg", "opt_block_arg", "args",
1480
 
  "mrhs", "primary", "@8", "$@9", "$@10", "$@11", "$@12", "$@13", "$@14",
1481
 
  "$@15", "$@16", "@17", "@18", "@19", "@20", "@21", "$@22", "$@23",
1482
 
  "primary_value", "k_begin", "k_if", "k_unless", "k_while", "k_until",
1483
 
  "k_case", "k_for", "k_class", "k_module", "k_def", "k_end", "then", "do",
1484
 
  "if_tail", "opt_else", "for_var", "f_marg", "f_marg_list", "f_margs",
1485
 
  "block_param", "opt_block_param", "block_param_def", "opt_bv_decl",
1486
 
  "bv_decls", "bvar", "lambda", "@24", "@25", "f_larglist", "lambda_body",
1487
 
  "do_block", "@26", "block_call", "method_call", "brace_block", "@27",
1488
 
  "@28", "case_body", "cases", "opt_rescue", "exc_list", "exc_var",
1489
 
  "opt_ensure", "literal", "strings", "string", "string1", "xstring",
1490
 
  "regexp", "words", "word_list", "word", "qwords", "qword_list",
1491
 
  "string_contents", "xstring_contents", "regexp_contents",
1492
 
  "string_content", "@29", "@30", "@31", "string_dvar", "symbol", "sym",
1493
 
  "dsym", "numeric", "variable", "var_ref", "var_lhs", "backref",
1494
 
  "superclass", "$@32", "f_arglist", "f_args", "f_bad_arg", "f_norm_arg",
1495
 
  "f_arg_item", "f_arg", "f_opt", "f_block_opt", "f_block_optarg",
1496
 
  "f_optarg", "restarg_mark", "f_rest_arg", "blkarg_mark", "f_block_arg",
1497
 
  "opt_f_block_arg", "singleton", "$@33", "assoc_list", "assocs", "assoc",
1498
 
  "operation", "operation2", "operation3", "dot_or_colon", "opt_terms",
1499
 
  "opt_nl", "rparen", "rbracket", "trailer", "term", "terms", "none", 0
 
1476
  "compstmt", "stmts", "stmt", "$@3", "command_asgn", "expr", "expr_value",
 
1477
  "command_call", "block_command", "cmd_brace_block", "@4", "command",
 
1478
  "mlhs", "mlhs_inner", "mlhs_basic", "mlhs_item", "mlhs_head",
 
1479
  "mlhs_post", "mlhs_node", "lhs", "cname", "cpath", "fname", "fsym",
 
1480
  "fitem", "undef_list", "$@5", "op", "reswords", "arg", "$@6",
 
1481
  "arg_value", "aref_args", "paren_args", "opt_paren_args",
 
1482
  "opt_call_args", "call_args", "command_args", "@7", "block_arg",
 
1483
  "opt_block_arg", "args", "mrhs", "primary", "@8", "$@9", "$@10", "$@11",
 
1484
  "$@12", "$@13", "$@14", "$@15", "$@16", "@17", "@18", "@19", "@20",
 
1485
  "@21", "$@22", "$@23", "primary_value", "k_begin", "k_if", "k_unless",
 
1486
  "k_while", "k_until", "k_case", "k_for", "k_class", "k_module", "k_def",
 
1487
  "k_end", "then", "do", "if_tail", "opt_else", "for_var", "f_marg",
 
1488
  "f_marg_list", "f_margs", "block_param", "opt_block_param",
 
1489
  "block_param_def", "opt_bv_decl", "bv_decls", "bvar", "lambda", "@24",
 
1490
  "@25", "f_larglist", "lambda_body", "do_block", "@26", "block_call",
 
1491
  "method_call", "brace_block", "@27", "@28", "case_body", "cases",
 
1492
  "opt_rescue", "exc_list", "exc_var", "opt_ensure", "literal", "strings",
 
1493
  "string", "string1", "xstring", "regexp", "words", "word_list", "word",
 
1494
  "qwords", "qword_list", "string_contents", "xstring_contents",
 
1495
  "regexp_contents", "string_content", "@29", "@30", "@31", "string_dvar",
 
1496
  "symbol", "sym", "dsym", "numeric", "user_variable", "keyword_variable",
 
1497
  "var_ref", "var_lhs", "backref", "superclass", "$@32", "f_arglist",
 
1498
  "f_args", "f_bad_arg", "f_norm_arg", "f_arg_item", "f_arg", "f_opt",
 
1499
  "f_block_opt", "f_block_optarg", "f_optarg", "restarg_mark",
 
1500
  "f_rest_arg", "blkarg_mark", "f_block_arg", "opt_f_block_arg",
 
1501
  "singleton", "$@33", "assoc_list", "assocs", "assoc", "operation",
 
1502
  "operation2", "operation3", "dot_or_colon", "opt_terms", "opt_nl",
 
1503
  "rparen", "rbracket", "trailer", "term", "terms", "none", 0
1500
1504
};
1501
1505
#endif
1502
1506
 
1530
1534
     154,   153,   155,   156,   157,   157,   157,   157,   159,   158,
1531
1535
     158,   158,   158,   158,   158,   158,   158,   158,   158,   158,
1532
1536
     158,   158,   158,   158,   158,   158,   158,   158,   158,   158,
1533
 
     158,   158,   158,   160,   160,   160,   160,   160,   160,   161,
1534
 
     162,   162,   163,   163,   163,   165,   164,   166,   166,   166,
1535
 
     166,   166,   166,   166,   166,   166,   166,   166,   167,   167,
1536
 
     168,   168,   169,   169,   169,   169,   169,   169,   169,   169,
1537
 
     169,   169,   170,   170,   171,   171,   172,   172,   173,   173,
1538
 
     173,   173,   173,   173,   173,   173,   174,   174,   174,   174,
1539
 
     174,   174,   174,   174,   175,   175,   176,   176,   176,   177,
1540
 
     177,   177,   177,   177,   178,   178,   179,   179,   180,   181,
1541
 
     180,   182,   182,   182,   182,   182,   182,   182,   182,   182,
1542
 
     182,   182,   182,   182,   182,   182,   182,   182,   182,   182,
1543
 
     182,   182,   182,   182,   182,   182,   182,   182,   182,   182,
1544
 
     183,   183,   183,   183,   183,   183,   183,   183,   183,   183,
1545
 
     183,   183,   183,   183,   183,   183,   183,   183,   183,   183,
1546
 
     183,   183,   183,   183,   183,   183,   183,   183,   183,   183,
1547
 
     183,   183,   183,   183,   183,   183,   183,   183,   183,   183,
1548
 
     183,   184,   184,   184,   184,   184,   184,   184,   184,   184,
1549
 
     184,   184,   184,   184,   184,   184,   184,   184,   184,   184,
1550
 
     184,   184,   184,   184,   184,   184,   184,   184,   184,   184,
1551
 
     184,   184,   184,   184,   184,   184,   184,   184,   184,   184,
1552
 
     184,   184,   184,   185,   184,   184,   184,   186,   187,   187,
1553
 
     187,   187,   188,   189,   189,   190,   190,   191,   191,   191,
1554
 
     191,   191,   193,   192,   194,   195,   195,   195,   196,   196,
1555
 
     196,   196,   197,   197,   197,   198,   198,   198,   198,   198,
1556
 
     198,   198,   198,   198,   199,   198,   200,   198,   198,   198,
1557
 
     198,   198,   198,   198,   198,   198,   198,   201,   198,   198,
1558
 
     198,   198,   198,   198,   198,   198,   198,   202,   203,   198,
1559
 
     204,   205,   198,   198,   198,   206,   207,   198,   208,   198,
1560
 
     209,   210,   198,   211,   198,   212,   198,   213,   214,   198,
1561
 
     198,   198,   198,   198,   215,   216,   217,   218,   219,   220,
1562
 
     221,   222,   223,   224,   225,   226,   227,   227,   227,   228,
1563
 
     228,   229,   229,   230,   230,   231,   231,   232,   232,   233,
1564
 
     233,   234,   234,   234,   234,   234,   234,   234,   234,   234,
1565
 
     235,   235,   235,   235,   235,   235,   235,   235,   235,   235,
1566
 
     235,   235,   235,   235,   235,   236,   236,   237,   237,   237,
1567
 
     238,   238,   239,   239,   240,   240,   242,   243,   241,   244,
1568
 
     244,   245,   245,   247,   246,   248,   248,   248,   249,   249,
1569
 
     249,   249,   249,   249,   249,   249,   249,   251,   250,   252,
1570
 
     250,   253,   254,   254,   255,   255,   256,   256,   256,   257,
1571
 
     257,   258,   258,   259,   259,   259,   260,   261,   261,   261,
1572
 
     262,   263,   264,   265,   265,   266,   266,   267,   267,   268,
1573
 
     268,   269,   269,   270,   270,   271,   271,   272,   272,   273,
1574
 
     274,   273,   275,   276,   273,   277,   277,   277,   277,   278,
1575
 
     279,   279,   279,   279,   280,   281,   281,   281,   281,   282,
1576
 
     282,   282,   282,   282,   282,   282,   282,   282,   282,   282,
1577
 
     282,   283,   284,   285,   285,   286,   287,   286,   286,   288,
1578
 
     288,   289,   289,   289,   289,   289,   289,   289,   289,   289,
1579
 
     289,   289,   289,   289,   289,   289,   290,   290,   290,   290,
1580
 
     291,   291,   292,   292,   293,   293,   294,   295,   296,   296,
1581
 
     297,   297,   298,   298,   299,   299,   300,   300,   301,   302,
1582
 
     302,   303,   304,   303,   305,   305,   306,   306,   307,   307,
1583
 
     308,   308,   308,   309,   309,   309,   309,   310,   310,   310,
1584
 
     311,   311,   312,   312,   313,   313,   314,   315,   316,   316,
1585
 
     316,   317,   317,   318,   318,   319
 
1537
     158,   158,   158,   160,   160,   161,   161,   161,   161,   161,
 
1538
     161,   162,   163,   163,   164,   164,   164,   166,   165,   167,
 
1539
     167,   167,   167,   167,   167,   167,   167,   167,   167,   167,
 
1540
     168,   168,   169,   169,   170,   170,   170,   170,   170,   170,
 
1541
     170,   170,   170,   170,   171,   171,   172,   172,   173,   173,
 
1542
     174,   174,   174,   174,   174,   174,   174,   174,   174,   175,
 
1543
     175,   175,   175,   175,   175,   175,   175,   175,   176,   176,
 
1544
     177,   177,   177,   178,   178,   178,   178,   178,   179,   179,
 
1545
     180,   180,   181,   182,   181,   183,   183,   183,   183,   183,
 
1546
     183,   183,   183,   183,   183,   183,   183,   183,   183,   183,
 
1547
     183,   183,   183,   183,   183,   183,   183,   183,   183,   183,
 
1548
     183,   183,   183,   183,   184,   184,   184,   184,   184,   184,
 
1549
     184,   184,   184,   184,   184,   184,   184,   184,   184,   184,
 
1550
     184,   184,   184,   184,   184,   184,   184,   184,   184,   184,
 
1551
     184,   184,   184,   184,   184,   184,   184,   184,   184,   184,
 
1552
     184,   184,   184,   184,   184,   185,   185,   185,   185,   185,
 
1553
     185,   185,   185,   185,   185,   185,   185,   185,   185,   185,
 
1554
     185,   185,   185,   185,   185,   185,   185,   185,   185,   185,
 
1555
     185,   185,   185,   185,   185,   185,   185,   185,   185,   185,
 
1556
     185,   185,   185,   185,   185,   185,   185,   186,   185,   185,
 
1557
     185,   187,   188,   188,   188,   188,   189,   190,   190,   191,
 
1558
     191,   191,   191,   191,   192,   192,   192,   192,   192,   194,
 
1559
     193,   195,   196,   196,   197,   197,   197,   197,   198,   198,
 
1560
     198,   199,   199,   199,   199,   199,   199,   199,   199,   199,
 
1561
     200,   199,   201,   199,   199,   199,   199,   199,   199,   199,
 
1562
     199,   199,   199,   202,   199,   199,   199,   199,   199,   199,
 
1563
     199,   199,   199,   203,   204,   199,   205,   206,   199,   199,
 
1564
     199,   207,   208,   199,   209,   199,   210,   211,   199,   212,
 
1565
     199,   213,   199,   214,   215,   199,   199,   199,   199,   199,
 
1566
     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
 
1567
     226,   227,   228,   228,   228,   229,   229,   230,   230,   231,
 
1568
     231,   232,   232,   233,   233,   234,   234,   235,   235,   235,
 
1569
     235,   235,   235,   235,   235,   235,   236,   236,   236,   236,
 
1570
     236,   236,   236,   236,   236,   236,   236,   236,   236,   236,
 
1571
     236,   237,   237,   238,   238,   238,   239,   239,   240,   240,
 
1572
     241,   241,   243,   244,   242,   245,   245,   246,   246,   248,
 
1573
     247,   249,   249,   249,   250,   250,   250,   250,   250,   250,
 
1574
     250,   250,   250,   252,   251,   253,   251,   254,   255,   255,
 
1575
     256,   256,   257,   257,   257,   258,   258,   259,   259,   260,
 
1576
     260,   260,   261,   262,   262,   262,   263,   264,   265,   266,
 
1577
     266,   267,   267,   268,   268,   269,   269,   270,   270,   271,
 
1578
     271,   272,   272,   273,   273,   274,   275,   274,   276,   277,
 
1579
     274,   278,   278,   278,   278,   279,   280,   280,   280,   280,
 
1580
     281,   282,   282,   282,   282,   283,   283,   283,   283,   283,
 
1581
     284,   284,   284,   284,   284,   284,   284,   285,   285,   286,
 
1582
     286,   287,   287,   288,   289,   288,   288,   290,   290,   291,
 
1583
     291,   291,   291,   291,   291,   291,   291,   291,   291,   291,
 
1584
     291,   291,   291,   291,   292,   292,   292,   292,   293,   293,
 
1585
     294,   294,   295,   295,   296,   297,   298,   298,   299,   299,
 
1586
     300,   300,   301,   301,   302,   302,   303,   304,   304,   305,
 
1587
     306,   305,   307,   307,   308,   308,   309,   309,   310,   310,
 
1588
     310,   311,   311,   311,   311,   312,   312,   312,   313,   313,
 
1589
     314,   314,   315,   315,   316,   317,   318,   318,   318,   319,
 
1590
     319,   320,   320,   321
1586
1591
};
1587
1592
 
1588
1593
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
1591
1596
       0,     2,     0,     2,     2,     1,     1,     3,     2,     1,
1592
1597
       0,     5,     4,     2,     1,     1,     3,     2,     0,     4,
1593
1598
       3,     3,     3,     2,     3,     3,     3,     3,     3,     4,
1594
 
       3,     3,     3,     6,     5,     5,     5,     5,     3,     3,
1595
 
       3,     3,     1,     1,     3,     3,     3,     2,     1,     1,
1596
 
       1,     1,     1,     4,     4,     0,     5,     2,     3,     4,
1597
 
       5,     4,     5,     2,     2,     2,     2,     2,     1,     3,
1598
 
       1,     3,     1,     2,     3,     5,     2,     4,     2,     4,
1599
 
       1,     3,     1,     3,     2,     3,     1,     3,     1,     4,
1600
 
       3,     3,     3,     3,     2,     1,     1,     4,     3,     3,
1601
 
       3,     3,     2,     1,     1,     1,     2,     1,     3,     1,
1602
 
       1,     1,     1,     1,     1,     1,     1,     1,     1,     0,
1603
 
       4,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1604
 
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1605
 
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1606
 
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1607
 
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1608
 
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1609
 
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1610
 
       1,     3,     5,     3,     5,     6,     5,     5,     5,     5,
1611
 
       4,     3,     3,     3,     3,     3,     3,     3,     3,     3,
1612
 
       4,     4,     2,     2,     3,     3,     3,     3,     3,     3,
1613
 
       3,     3,     3,     3,     3,     3,     3,     2,     2,     3,
1614
 
       3,     3,     3,     0,     4,     6,     1,     1,     1,     2,
1615
 
       4,     2,     3,     1,     1,     1,     1,     1,     2,     2,
1616
 
       4,     1,     0,     2,     2,     2,     1,     1,     1,     2,
1617
 
       3,     4,     3,     4,     2,     1,     1,     1,     1,     1,
1618
 
       1,     1,     1,     1,     0,     4,     0,     4,     3,     3,
1619
 
       2,     3,     3,     1,     4,     3,     1,     0,     6,     4,
1620
 
       3,     2,     1,     2,     2,     6,     6,     0,     0,     7,
1621
 
       0,     0,     7,     5,     4,     0,     0,     9,     0,     6,
1622
 
       0,     0,     8,     0,     5,     0,     6,     0,     0,     9,
1623
 
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1624
 
       1,     1,     1,     1,     1,     1,     1,     1,     2,     1,
1625
 
       1,     1,     5,     1,     2,     1,     1,     1,     3,     1,
1626
 
       3,     1,     4,     6,     3,     5,     2,     4,     1,     3,
1627
 
       6,     8,     4,     6,     4,     2,     6,     2,     4,     6,
1628
 
       2,     4,     2,     4,     1,     1,     1,     3,     1,     4,
1629
 
       1,     2,     1,     3,     1,     1,     0,     0,     4,     4,
1630
 
       1,     3,     3,     0,     5,     2,     4,     4,     2,     4,
1631
 
       4,     3,     3,     3,     2,     1,     4,     0,     5,     0,
1632
 
       5,     5,     1,     1,     6,     1,     1,     1,     1,     2,
1633
 
       1,     2,     1,     1,     1,     1,     1,     1,     1,     2,
1634
 
       3,     3,     3,     3,     3,     0,     3,     1,     2,     3,
1635
 
       3,     0,     3,     0,     2,     0,     2,     0,     2,     1,
1636
 
       0,     3,     0,     0,     5,     1,     1,     1,     1,     2,
1637
 
       1,     1,     1,     1,     3,     1,     1,     2,     2,     1,
1638
 
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1639
 
       1,     1,     1,     1,     1,     1,     0,     4,     2,     3,
1640
 
       2,     6,     8,     4,     6,     4,     6,     2,     4,     6,
1641
 
       2,     4,     2,     4,     1,     0,     1,     1,     1,     1,
1642
 
       1,     1,     1,     3,     1,     3,     3,     3,     1,     3,
1643
 
       1,     3,     1,     1,     2,     1,     1,     1,     2,     2,
1644
 
       1,     1,     0,     4,     1,     2,     1,     3,     3,     2,
1645
 
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1646
 
       1,     1,     0,     1,     0,     1,     2,     2,     0,     1,
1647
 
       1,     1,     1,     1,     2,     0
 
1599
       1,     3,     3,     6,     5,     5,     5,     5,     3,     3,
 
1600
       3,     3,     1,     3,     3,     1,     3,     3,     3,     2,
 
1601
       1,     1,     1,     1,     1,     4,     4,     0,     5,     2,
 
1602
       3,     4,     5,     4,     5,     2,     2,     2,     2,     2,
 
1603
       1,     3,     1,     3,     1,     2,     3,     5,     2,     4,
 
1604
       2,     4,     1,     3,     1,     3,     2,     3,     1,     3,
 
1605
       1,     1,     4,     3,     3,     3,     3,     2,     1,     1,
 
1606
       1,     4,     3,     3,     3,     3,     2,     1,     1,     1,
 
1607
       2,     1,     3,     1,     1,     1,     1,     1,     1,     1,
 
1608
       1,     1,     1,     0,     4,     1,     1,     1,     1,     1,
 
1609
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
 
1610
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
 
1611
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
 
1612
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
 
1613
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
 
1614
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
 
1615
       1,     1,     1,     1,     1,     3,     5,     3,     5,     6,
 
1616
       5,     5,     5,     5,     4,     3,     3,     3,     3,     3,
 
1617
       3,     3,     3,     3,     4,     4,     2,     2,     3,     3,
 
1618
       3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
 
1619
       3,     2,     2,     3,     3,     3,     3,     0,     4,     6,
 
1620
       1,     1,     1,     2,     4,     2,     3,     1,     1,     1,
 
1621
       1,     2,     4,     2,     1,     2,     2,     4,     1,     0,
 
1622
       2,     2,     2,     1,     1,     2,     3,     4,     3,     4,
 
1623
       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
 
1624
       0,     4,     0,     4,     3,     3,     2,     3,     3,     1,
 
1625
       4,     3,     1,     0,     6,     4,     3,     2,     1,     2,
 
1626
       2,     6,     6,     0,     0,     7,     0,     0,     7,     5,
 
1627
       4,     0,     0,     9,     0,     6,     0,     0,     8,     0,
 
1628
       5,     0,     6,     0,     0,     9,     1,     1,     1,     1,
 
1629
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
 
1630
       1,     1,     1,     1,     2,     1,     1,     1,     5,     1,
 
1631
       2,     1,     1,     1,     3,     1,     3,     1,     4,     6,
 
1632
       3,     5,     2,     4,     1,     3,     6,     8,     4,     6,
 
1633
       4,     2,     6,     2,     4,     6,     2,     4,     2,     4,
 
1634
       1,     1,     1,     3,     1,     4,     1,     2,     1,     3,
 
1635
       1,     1,     0,     0,     4,     4,     1,     3,     3,     0,
 
1636
       5,     2,     4,     4,     2,     4,     4,     3,     3,     3,
 
1637
       2,     1,     4,     0,     5,     0,     5,     5,     1,     1,
 
1638
       6,     1,     1,     1,     1,     2,     1,     2,     1,     1,
 
1639
       1,     1,     1,     1,     1,     2,     3,     3,     3,     3,
 
1640
       3,     0,     3,     1,     2,     3,     3,     0,     3,     0,
 
1641
       2,     0,     2,     0,     2,     1,     0,     3,     0,     0,
 
1642
       5,     1,     1,     1,     1,     2,     1,     1,     1,     1,
 
1643
       3,     1,     1,     2,     2,     1,     1,     1,     1,     1,
 
1644
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
 
1645
       1,     1,     1,     1,     0,     4,     2,     3,     2,     6,
 
1646
       8,     4,     6,     4,     6,     2,     4,     6,     2,     4,
 
1647
       2,     4,     1,     0,     1,     1,     1,     1,     1,     1,
 
1648
       1,     3,     1,     3,     3,     3,     1,     3,     1,     3,
 
1649
       1,     1,     2,     1,     1,     1,     2,     2,     1,     1,
 
1650
       0,     4,     1,     2,     1,     3,     3,     2,     1,     1,
 
1651
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
 
1652
       0,     1,     0,     1,     2,     2,     0,     1,     1,     1,
 
1653
       1,     1,     2,     0
1648
1654
};
1649
1655
 
1650
 
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
1651
 
   STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
 
1656
/* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
 
1657
   Performed when YYTABLE doesn't specify something else to do.  Zero
1652
1658
   means the default is an error.  */
1653
1659
static const yytype_uint16 yydefact[] =
1654
1660
{
1655
 
       2,     0,     0,     1,     0,   332,   333,   334,     0,   325,
1656
 
     326,   327,   330,   328,   329,   331,   320,   321,   322,   323,
1657
 
     283,   252,   252,   475,   474,   476,   477,   554,     0,   554,
1658
 
      10,     0,   479,   478,   480,   469,   542,   471,   470,   472,
1659
 
     473,   465,   466,   427,   483,   484,     0,     0,     0,     0,
1660
 
       0,   565,   565,    80,   386,   445,   443,   445,   447,   435,
1661
 
     441,     0,     0,     0,     3,   552,     6,     9,    42,    43,
1662
 
      51,    50,     0,    68,     0,    72,    82,     0,    48,   236,
1663
 
       0,   274,     0,     0,   297,   300,   552,     0,     0,     0,
1664
 
       0,    52,   292,   265,   266,   426,   428,   267,   268,   269,
1665
 
     270,   424,   425,   423,   481,   271,     0,   272,   252,     5,
1666
 
       8,   160,   171,   161,   184,   157,   177,   167,   166,   187,
1667
 
     188,   182,   165,   164,   159,   185,   189,   190,   169,   158,
1668
 
     172,   176,   178,   170,   163,   179,   186,   181,   180,   173,
1669
 
     183,   168,   156,   175,   174,   155,   162,   153,   154,   150,
1670
 
     151,   152,   109,   111,   110,   145,   146,   142,   124,   125,
1671
 
     126,   133,   130,   132,   127,   128,   147,   148,   134,   135,
1672
 
     139,   129,   131,   121,   122,   123,   136,   137,   138,   140,
1673
 
     141,   143,   144,   149,   114,   116,   118,    23,   112,   113,
1674
 
     115,   117,     0,     0,     0,     0,     0,     0,     0,   247,
1675
 
       0,   237,   258,    66,   251,   565,     0,   481,     0,   272,
1676
 
     565,   536,    67,    65,   554,    64,     0,   565,   404,    63,
1677
 
     554,   555,     0,     0,    18,   233,     0,     0,   320,   321,
1678
 
     283,   286,   405,   212,     0,     0,   213,   280,     0,     0,
1679
 
       0,   552,    15,   554,    70,    14,   276,     0,   558,   558,
1680
 
     238,     0,     0,   558,   534,   554,     0,     0,     0,    78,
1681
 
     324,     0,    88,    95,   294,   387,   462,   461,   463,   460,
1682
 
       0,   459,     0,     0,     0,     0,     0,     0,     0,   467,
1683
 
     468,    47,   227,   228,   561,   562,     4,   563,   553,     0,
1684
 
       0,     0,     0,     0,     0,     0,   393,   395,     0,    84,
1685
 
       0,    76,    73,     0,     0,     0,     0,     0,     0,     0,
1686
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1687
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1688
 
       0,   565,     0,     0,    49,     0,     0,     0,     0,   552,
1689
 
       0,   553,     0,   346,   345,     0,     0,   481,   272,   104,
1690
 
     105,     0,     0,   107,     0,     0,   481,   272,   313,   180,
1691
 
     173,   183,   168,   150,   151,   152,   109,   110,   532,   315,
1692
 
     531,     0,     0,     0,   409,   407,   293,   429,     0,     0,
1693
 
     398,    57,   291,   119,   539,   280,   259,   254,     0,     0,
1694
 
     256,   248,   257,     0,   565,     0,     0,     0,   256,   249,
1695
 
     554,     0,   285,   253,   554,   246,   245,   554,   290,    46,
1696
 
      20,    22,    21,     0,   287,     0,     0,     0,     0,     0,
1697
 
       0,    17,   554,   278,    13,   553,    69,   554,   281,   560,
1698
 
     559,   239,   560,   241,   282,   535,     0,    94,   467,   468,
1699
 
      86,    81,     0,     0,   565,     0,   505,   449,   452,   450,
1700
 
     464,   446,   430,   444,   431,   432,   448,   433,   434,     0,
1701
 
     437,   439,     0,   440,     0,     0,   564,     7,    24,    25,
1702
 
      26,    27,    28,    44,    45,   565,     0,    31,    40,     0,
1703
 
      41,   554,     0,    74,    85,    30,   191,   258,    39,   209,
1704
 
     217,   222,   223,   224,   219,   221,   231,   232,   225,   226,
1705
 
     202,   203,   229,   230,   554,   218,   220,   214,   215,   216,
1706
 
     204,   205,   206,   207,   208,   543,   548,   544,   549,   403,
1707
 
     252,   401,   554,   543,   545,   544,   546,   402,   252,     0,
1708
 
     565,   337,     0,   336,     0,     0,     0,     0,     0,     0,
1709
 
     280,     0,   565,     0,   305,   310,   104,   105,   106,     0,
1710
 
     486,   308,   485,     0,   565,     0,     0,     0,   505,   551,
1711
 
     550,   317,   543,   544,   252,   252,   565,   565,    32,   193,
1712
 
      38,   201,    55,    58,     0,   191,   538,     0,   260,   255,
1713
 
     565,   547,   544,   554,   543,   544,   537,   284,   556,   242,
1714
 
     289,    19,     0,   234,     0,    29,     0,   565,   200,    71,
1715
 
      16,   277,   558,     0,    79,    91,    93,   554,   543,   544,
1716
 
     511,   508,   507,   506,   509,     0,   523,   527,   526,   522,
1717
 
     505,     0,   390,   510,   512,   514,   565,   520,   565,   525,
1718
 
     565,     0,   504,   453,     0,   436,   438,   442,   210,   211,
1719
 
     378,   565,     0,   376,   375,   264,     0,    83,    77,     0,
1720
 
       0,     0,     0,     0,   400,    61,     0,   406,     0,     0,
1721
 
     244,   399,    59,   243,   335,   275,   565,   565,   415,   565,
1722
 
     338,   565,   340,   298,   339,   301,     0,     0,   304,   547,
1723
 
     279,   554,   543,   544,     0,     0,   488,     0,     0,   104,
1724
 
     105,   108,   554,     0,   554,   505,     0,     0,     0,   397,
1725
 
      54,   396,    53,     0,     0,     0,   565,   120,   261,   250,
1726
 
       0,     0,   406,     0,     0,   554,    11,   240,    87,    89,
1727
 
       0,   511,     0,   358,   349,   351,   554,   347,   565,     0,
1728
 
       0,   388,     0,   497,   530,     0,   500,   524,     0,   502,
1729
 
     528,     0,   455,   456,   457,   451,   458,   511,     0,   565,
1730
 
       0,   565,   518,   565,   565,   374,   380,     0,     0,   262,
1731
 
      75,   192,     0,    37,   198,    36,   199,    62,   557,     0,
1732
 
      34,   196,    35,   197,    60,   416,   417,   565,   418,     0,
1733
 
     565,   343,     0,     0,   341,     0,     0,     0,   303,     0,
1734
 
       0,   406,     0,   311,     0,     0,   406,   314,   533,   554,
1735
 
       0,   490,   318,     0,     0,   194,     0,     0,   288,   516,
1736
 
     554,     0,   356,     0,   513,   554,     0,     0,   515,   565,
1737
 
     565,   529,   565,   521,   565,   565,     0,     0,   384,   381,
1738
 
     382,   385,     0,   377,   365,   367,     0,   370,     0,   372,
1739
 
     394,   263,   235,    33,   195,     0,     0,   420,   344,     0,
1740
 
      12,   422,     0,   295,   296,     0,     0,   260,   565,   306,
1741
 
       0,   487,   309,   489,   316,   505,   410,   408,     0,   348,
1742
 
     359,     0,   354,   350,   389,   392,   391,     0,   493,     0,
1743
 
     495,     0,   501,     0,   498,   503,   454,     0,   517,     0,
1744
 
     379,   565,   565,   565,   519,   565,   565,     0,   419,     0,
1745
 
      96,   103,     0,   421,     0,   299,   302,   412,   413,   411,
1746
 
       0,     0,     0,    56,     0,   357,     0,   352,   565,   565,
1747
 
     565,   565,   280,     0,   383,     0,   362,     0,   364,   371,
1748
 
       0,   368,   373,   102,     0,   565,     0,   565,   565,     0,
1749
 
     312,     0,   355,     0,   494,     0,   491,   496,   499,   547,
1750
 
     279,   565,   565,   565,   565,   547,   101,   554,   543,   544,
1751
 
     414,   342,   307,   319,   353,   565,   363,     0,   360,   366,
1752
 
     369,   406,   492,   565,   361
 
1661
       2,     0,     0,     1,     0,   338,   339,   340,     0,   331,
 
1662
     332,   333,   336,   334,   335,   337,   326,   327,   328,   329,
 
1663
     289,   259,   259,   481,   480,   482,   483,   562,     0,   562,
 
1664
      10,     0,   485,   484,   486,   475,   550,   477,   476,   478,
 
1665
     479,   471,   472,   433,   491,   492,     0,     0,     0,     0,
 
1666
       0,   573,   573,    82,   392,   451,   449,   451,   453,   441,
 
1667
     447,     0,     0,     0,     3,   560,     6,     9,    30,    42,
 
1668
      45,    53,    52,     0,    70,     0,    74,    84,     0,    50,
 
1669
     240,     0,   280,     0,     0,   303,   306,   560,     0,     0,
 
1670
       0,     0,    54,   298,   271,   272,   432,   434,   273,   274,
 
1671
     275,   276,   430,   431,   429,   487,   488,   277,     0,   278,
 
1672
     259,     5,     8,   164,   175,   165,   188,   161,   181,   171,
 
1673
     170,   191,   192,   186,   169,   168,   163,   189,   193,   194,
 
1674
     173,   162,   176,   180,   182,   174,   167,   183,   190,   185,
 
1675
     184,   177,   187,   172,   160,   179,   178,   159,   166,   157,
 
1676
     158,   154,   155,   156,   113,   115,   114,   149,   150,   146,
 
1677
     128,   129,   130,   137,   134,   136,   131,   132,   151,   152,
 
1678
     138,   139,   143,   133,   135,   125,   126,   127,   140,   141,
 
1679
     142,   144,   145,   147,   148,   153,   118,   120,   122,    23,
 
1680
     116,   117,   119,   121,     0,     0,     0,     0,     0,     0,
 
1681
       0,   254,     0,   241,   264,    68,   258,   573,     0,   487,
 
1682
     488,     0,   278,   573,   544,    69,    67,   562,    66,     0,
 
1683
     573,   410,    65,   562,   563,     0,     0,    18,   237,     0,
 
1684
       0,   326,   327,   289,   292,   411,   216,     0,     0,   217,
 
1685
     286,     0,     0,     0,   560,    15,   562,    72,    14,   282,
 
1686
       0,   566,   566,   242,     0,     0,   566,   542,   562,     0,
 
1687
       0,     0,    80,   330,     0,    90,    91,    98,   300,   393,
 
1688
     468,   467,   469,   466,     0,   465,     0,     0,     0,     0,
 
1689
       0,     0,     0,   473,   474,    49,   231,   232,   569,   570,
 
1690
       4,   571,   561,     0,     0,     0,     0,     0,     0,     0,
 
1691
     399,   401,     0,    86,     0,    78,    75,     0,     0,     0,
 
1692
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1693
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1694
       0,     0,     0,     0,     0,   573,     0,     0,    51,     0,
 
1695
       0,     0,     0,   560,     0,   561,     0,   352,   351,     0,
 
1696
       0,   487,   488,   278,   108,   109,     0,     0,   111,     0,
 
1697
       0,   487,   488,   278,   319,   184,   177,   187,   172,   154,
 
1698
     155,   156,   113,   114,   540,   321,   539,     0,     0,     0,
 
1699
     415,   413,   299,   435,     0,     0,   404,    59,   297,   123,
 
1700
     547,   286,   265,   261,     0,     0,     0,   255,   263,     0,
 
1701
     573,     0,     0,     0,     0,   256,   562,     0,   291,   260,
 
1702
     562,   250,   573,   573,   249,   562,   296,    48,    20,    22,
 
1703
      21,     0,   293,     0,     0,     0,     0,     0,     0,    17,
 
1704
     562,   284,    13,   561,    71,   562,   287,   568,   567,   243,
 
1705
     568,   245,   288,   543,     0,    97,   473,   474,    88,    83,
 
1706
       0,     0,   573,     0,   513,   455,   458,   456,   470,   452,
 
1707
     436,   450,   437,   438,   454,   439,   440,     0,   443,   445,
 
1708
       0,   446,     0,     0,   572,     7,    24,    25,    26,    27,
 
1709
      28,    46,    47,   573,     0,    31,    40,     0,    41,   562,
 
1710
       0,    76,    87,    44,    43,     0,   195,   264,    39,   213,
 
1711
     221,   226,   227,   228,   223,   225,   235,   236,   229,   230,
 
1712
     206,   207,   233,   234,   562,   222,   224,   218,   219,   220,
 
1713
     208,   209,   210,   211,   212,   551,   556,   552,   557,   409,
 
1714
     259,   407,   562,   551,   553,   552,   554,   408,   259,     0,
 
1715
     573,   343,     0,   342,     0,     0,     0,     0,     0,     0,
 
1716
     286,     0,   573,     0,   311,   316,   108,   109,   110,     0,
 
1717
     494,   314,   493,     0,   573,     0,     0,     0,   513,   559,
 
1718
     558,   323,   551,   552,   259,   259,   573,   573,    32,   197,
 
1719
      38,   205,    57,    60,     0,   195,   546,     0,   266,   262,
 
1720
     573,   555,   552,   562,   551,   552,   545,   290,   564,   246,
 
1721
     251,   253,   295,    19,     0,   238,     0,    29,     0,   573,
 
1722
     204,    73,    16,   283,   566,     0,    81,    94,    96,   562,
 
1723
     551,   552,   519,   516,   515,   514,   517,     0,   531,   535,
 
1724
     534,   530,   513,     0,   396,   518,   520,   522,   573,   528,
 
1725
     573,   533,   573,     0,   512,   459,     0,   442,   444,   448,
 
1726
     214,   215,   384,   573,     0,   382,   381,   270,     0,    85,
 
1727
      79,     0,     0,     0,     0,     0,     0,   406,    63,     0,
 
1728
     412,     0,     0,   248,   405,    61,   247,   341,   281,   573,
 
1729
     573,   421,   573,   344,   573,   346,   304,   345,   307,     0,
 
1730
       0,   310,   555,   285,   562,   551,   552,     0,     0,   496,
 
1731
       0,     0,   108,   109,   112,   562,     0,   562,   513,     0,
 
1732
       0,     0,   403,    56,   402,    55,     0,     0,     0,   573,
 
1733
     124,   267,   257,     0,     0,   412,     0,     0,   573,   562,
 
1734
      11,   244,    89,    92,     0,   519,     0,   364,   355,   357,
 
1735
     562,   353,   573,     0,     0,   394,     0,   505,   538,     0,
 
1736
     508,   532,     0,   510,   536,     0,   461,   462,   463,   457,
 
1737
     464,   519,     0,   573,     0,   573,   526,   573,   573,   380,
 
1738
     386,     0,     0,   268,    77,   196,     0,    37,   202,    36,
 
1739
     203,    64,   565,     0,    34,   200,    35,   201,    62,   422,
 
1740
     423,   573,   424,     0,   573,   349,     0,     0,   347,     0,
 
1741
       0,     0,   309,     0,     0,   412,     0,   317,     0,     0,
 
1742
     412,   320,   541,   562,     0,   498,   324,     0,     0,   198,
 
1743
       0,     0,   252,   294,   524,   562,     0,   362,     0,   521,
 
1744
     562,     0,     0,   523,   573,   573,   537,   573,   529,   573,
 
1745
     573,     0,     0,   390,   387,   388,   391,     0,   383,   371,
 
1746
     373,     0,   376,     0,   378,   400,   269,   239,    33,   199,
 
1747
       0,     0,   426,   350,     0,    12,   428,     0,   301,   302,
 
1748
       0,     0,   266,   573,   312,     0,   495,   315,   497,   322,
 
1749
     513,   416,   414,     0,   354,   365,     0,   360,   356,   395,
 
1750
     398,   397,     0,   501,     0,   503,     0,   509,     0,   506,
 
1751
     511,   460,     0,   525,     0,   385,   573,   573,   573,   527,
 
1752
     573,   573,     0,   425,     0,    99,   100,   107,     0,   427,
 
1753
       0,   305,   308,   418,   419,   417,     0,     0,     0,    58,
 
1754
       0,   363,     0,   358,   573,   573,   573,   573,   286,     0,
 
1755
     389,     0,   368,     0,   370,   377,     0,   374,   379,   106,
 
1756
       0,   573,     0,   573,   573,     0,   318,     0,   361,     0,
 
1757
     502,     0,   499,   504,   507,   555,   285,   573,   573,   573,
 
1758
     573,   555,   105,   562,   551,   552,   420,   348,   313,   325,
 
1759
     359,   573,   369,     0,   366,   372,   375,   412,   500,   573,
 
1760
     367
1753
1761
};
1754
1762
 
1755
1763
/* YYDEFGOTO[NTERM-NUM].  */
1756
1764
static const yytype_int16 yydefgoto[] =
1757
1765
{
1758
 
      -1,     1,     2,    64,    65,    66,   226,   529,   530,   241,
1759
 
     242,   413,    68,   335,    69,    70,   573,   706,    71,    72,
1760
 
     243,    73,    74,    75,   441,    76,   200,   353,   354,   184,
1761
 
     185,   186,   187,   574,   526,   189,    78,   415,   202,   247,
1762
 
     519,   661,   404,   405,   215,   216,   204,   391,   205,   480,
1763
 
      79,   333,   427,   592,   337,   786,   338,   787,   684,   910,
1764
 
     688,   685,   860,   556,   558,   698,   865,   234,    81,    82,
1765
 
      83,    84,    85,    86,    87,    88,    89,    90,   665,   532,
1766
 
     673,   783,   784,   346,   724,   725,   726,   749,   642,   643,
1767
 
     750,   829,   830,   264,   265,   446,   621,   731,   297,   475,
1768
 
      91,    92,   382,   567,   566,   539,   909,   667,   777,   846,
1769
 
     850,    93,    94,    95,    96,    97,    98,    99,   276,   459,
1770
 
     100,   278,   272,   270,   274,   451,   634,   633,   741,   745,
1771
 
     101,   271,   102,   103,   207,   105,   208,   209,   551,   687,
1772
 
     696,   697,   623,   624,   625,   626,   627,   752,   753,   628,
1773
 
     629,   630,   631,   821,   733,   371,   557,   252,   210,   211,
1774
 
     108,   596,   521,   561,   286,   401,   402,   657,   431,   533,
1775
 
     341,   245
 
1766
      -1,     1,     2,    64,    65,    66,   229,   539,   540,   244,
 
1767
     245,   421,    68,    69,   339,    70,    71,   583,   719,    72,
 
1768
      73,   246,    74,    75,    76,   449,    77,   202,   358,   359,
 
1769
     186,   187,   188,   189,   584,   536,   191,    79,   423,   204,
 
1770
     250,   529,   674,   410,   411,   218,   219,   206,   397,   412,
 
1771
     488,    80,   337,   435,   604,   341,   800,   342,   801,   697,
 
1772
     926,   701,   698,   875,   566,   568,   711,   880,   237,    82,
 
1773
      83,    84,    85,    86,    87,    88,    89,    90,    91,   678,
 
1774
     542,   686,   797,   798,   350,   738,   739,   740,   763,   654,
 
1775
     655,   764,   844,   845,   268,   269,   454,   633,   745,   301,
 
1776
     483,    92,    93,   388,   577,   576,   549,   925,   680,   791,
 
1777
     861,   865,    94,    95,    96,    97,    98,    99,   100,   280,
 
1778
     467,   101,   282,   276,   274,   278,   459,   646,   645,   755,
 
1779
     759,   102,   275,   103,   104,   209,   210,   107,   211,   212,
 
1780
     561,   700,   709,   710,   635,   636,   637,   638,   639,   766,
 
1781
     767,   640,   641,   642,   643,   836,   747,   377,   567,   255,
 
1782
     413,   214,   238,   608,   531,   571,   290,   407,   408,   670,
 
1783
     439,   543,   345,   248
1776
1784
};
1777
1785
 
1778
1786
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1779
1787
   STATE-NUM.  */
1780
 
#define YYPACT_NINF -778
 
1788
#define YYPACT_NINF -747
1781
1789
static const yytype_int16 yypact[] =
1782
1790
{
1783
 
    -778,   133,  2394,  -778,  7010,  -778,  -778,  -778,  6523,  -778,
1784
 
    -778,  -778,  -778,  -778,  -778,  -778,  7228,  7228,  -778,  -778,
1785
 
    7228,  3145,  2722,  -778,  -778,  -778,  -778,   164,  6384,   -11,
1786
 
    -778,    69,  -778,  -778,  -778,  5623,  2863,  -778,  -778,  5750,
1787
 
    -778,  -778,  -778,  -778,  -778,  -778,  8427,  8427,    96,  4342,
1788
 
    8536,  7446,  7773,  6786,  -778,  6245,  -778,  -778,  -778,    74,
1789
 
      93,   122,  8645,  8427,  -778,   187,  -778,   698,   288,  -778,
1790
 
    -778,   230,   167,  -778,   180,  8754,  -778,   234,  2846,   273,
1791
 
     310,  -778,  8536,  8536,  -778,  -778,  4986,  8859,  8964,  9069,
1792
 
    5496,    16,    60,  -778,  -778,   174,  -778,  -778,  -778,  -778,
1793
 
    -778,  -778,  -778,  -778,   201,  -778,   258,   282,   206,  -778,
1794
 
    -778,  -778,  -778,  -778,  -778,  -778,  -778,  -778,  -778,  -778,
1795
 
    -778,  -778,  -778,  -778,  -778,  -778,  -778,  -778,  -778,  -778,
1796
 
    -778,  -778,  -778,  -778,  -778,  -778,  -778,  -778,  -778,  -778,
1797
 
    -778,  -778,  -778,  -778,  -778,  -778,  -778,  -778,  -778,  -778,
1798
 
    -778,  -778,  -778,  -778,  -778,  -778,  -778,  -778,  -778,  -778,
1799
 
    -778,  -778,  -778,  -778,  -778,  -778,  -778,  -778,  -778,  -778,
1800
 
    -778,  -778,  -778,  -778,  -778,  -778,  -778,  -778,  -778,  -778,
1801
 
    -778,  -778,  -778,  -778,  -778,  -778,  -778,   212,  -778,  -778,
1802
 
    -778,  -778,   215,  8427,   303,  4472,  8427,  8427,  8427,  -778,
1803
 
     257,  2846,   285,  -778,  -778,   281,   343,    38,   337,   263,
1804
 
     290,  -778,  -778,  -778,  4877,  -778,  7228,  7228,  -778,  -778,
1805
 
    5116,  -778,  8536,   599,  -778,   296,   315,  4602,  -778,  -778,
1806
 
    -778,   311,   328,  -778,   347,   206,   396,   446,  7119,  4342,
1807
 
     329,   187,   698,   -11,   370,  -778,   288,   339,   -30,    30,
1808
 
    -778,   285,   356,    30,  -778,   -11,   442,   375,  9174,   390,
1809
 
    -778,   351,   373,   383,  -778,  -778,  -778,  -778,  -778,  -778,
1810
 
     515,  -778,   552,   587,   620,   397,   607,   407,    34,   473,
1811
 
     474,  -778,  -778,  -778,  -778,  -778,  -778,  -778,  5225,  8536,
1812
 
    8536,  8536,  8536,  7119,  8536,  8536,  -778,  -778,  7882,  -778,
1813
 
    4342,  6898,   413,  7882,  8427,  8427,  8427,  8427,  8427,  8427,
1814
 
    8427,  8427,  8427,  8427,  8427,  8427,  8427,  8427,  8427,  8427,
1815
 
    8427,  8427,  8427,  8427,  8427,  8427,  8427,  8427,  8427,  8427,
1816
 
    1712,  7228,  2060,  3517,   288,    80,    80,  8536,  8536,   187,
1817
 
     534,   416,   516,  -778,  -778,   386,   568,    50,    72,   301,
1818
 
     321,  8536,   363,  -778,    66,   393,  -778,  -778,  -778,    36,
1819
 
      41,   103,   224,   259,   266,   322,   348,   369,  -778,  -778,
1820
 
    -778,   377, 10211, 10211,  -778,  -778,  -778,  -778,  8645,  8645,
1821
 
    -778,   483,  -778,  -778,  -778,   268,  -778,  -778,  8427,  8427,
1822
 
    7337,  -778,  -778,  2216,  7228,  9441,  8427,  8427,  7555,  -778,
1823
 
     -11,   454,  -778,  -778,   -11,  -778,  -778,    70,  -778,  -778,
1824
 
    -778,  -778,  -778,  6523,  -778,  8427,  3937,   463,  2216,  9441,
1825
 
    8427,   698,   -11,  -778,  -778,  5353,   462,   -11,  -778,  7664,
1826
 
    -778,  -778,  7773,  -778,  -778,  -778,   296,   411,  -778,  -778,
1827
 
    -778,   467,  9174,  9518,  7228,  9595,  1033,  -778,  -778,  -778,
1828
 
    -778,  -778,  -778,  -778,  -778,  -778,  -778,  -778,  -778,    39,
1829
 
    -778,  -778,   472,  -778,  8427,  8427,  -778,  -778,  -778,  -778,
1830
 
    -778,  -778,  -778,  -778,  -778,    28,  8427,  -778,   468,   487,
1831
 
    -778,   -11,  9174,   496,  -778,  -778,  1576,  -778,  -778,   396,
1832
 
    1512,  1512,  1512,  1512,  1223,  1223,  1879,  2079,  1512,  1512,
1833
 
    2146,  2146,   582,   582,  2705,  1223,  1223,  1098,  1098,   790,
1834
 
     514,   514,   396,   396,   396,  3286,  5991,  3372,  6105,  -778,
1835
 
     328,  -778,   -11,   448,  -778,   451,  -778,  -778,  3004,   639,
1836
 
     644,  -778,  3662,   646,  4082,    42,    42,   534,  7991,   639,
1837
 
     109,  9672,  7228,  9749,  -778,   288,  -778,   411,  -778,   187,
1838
 
    -778,  -778,  -778,  9826,  7228,  9903,  3517,  8536,  1115,  -778,
1839
 
    -778,  -778,  -778,  -778,  1235,  1235,    28,    28,  -778, 10270,
1840
 
    -778,  2846,  -778,  -778,  6523, 10289,  -778,  8427,   285,  -778,
1841
 
     290,  5877,  2581,   -11,   410,   529,  -778,  -778,  -778,  -778,
1842
 
    -778,  -778,  8536,  2846,   535,  -778,   328,   328,  2846,    20,
1843
 
     698,  -778,    30,  9174,   467,   338,   271,   -11,   228,   261,
1844
 
     557,  -778,  -778,  -778,  -778,   666,  -778,  -778,  -778,  -778,
1845
 
     923,    43,  -778,  -778,  -778,  -778,   543,  -778,   544,   623,
1846
 
     547,   642,  -778,  -778,   722,  -778,  -778,  -778,   396,   396,
1847
 
    -778,   904,  4747,  -778,  -778,   555,  8100,  -778,   467,  9174,
1848
 
    8427,   598,  8645,  8645,  -778,   483,   570,   538,  8645,  8645,
1849
 
    -778,  -778,   483,  -778,  -778,  -778,  8209,   701,  -778,   441,
1850
 
    -778,   701,  -778,  -778,  -778,  -778,   639,    31,  -778,   110,
1851
 
     132,   -11,   126,   144,  8536,   187,  -778,  8536,  3517,   338,
1852
 
     271,  -778,   -11,   639,    70,   923,  3517,   187,  6662,  -778,
1853
 
    -778,  -778,  -778,  4747,  4602,  8427,    28,  -778,  -778,  -778,
1854
 
    8427,  8427,   536,  8427,  8427,    70,  -778,  -778,  -778,   251,
1855
 
    8427,  -778,   666,   450,  -778,   579,   -11,  -778,   583,  4747,
1856
 
    4602,  -778,   923,  -778,  -778,   923,  -778,  -778,   779,  -778,
1857
 
    -778,  4602,  -778,  -778,  -778,  -778,  -778,   625,   809,   583,
1858
 
     615,   595,  -778,   604,   605,  -778,  -778,   740,  8427,   619,
1859
 
     467,  2846,  8427,  -778,  2846,  -778,  2846,  -778,  -778,  8645,
1860
 
    -778,  2846,  -778,  2846,  -778,   468,  -778,   675,  -778,  4212,
1861
 
     757,  -778,  8536,   639,  -778,   639,  4747,  4747,  -778,  8318,
1862
 
    3807,   147,    42,  -778,   187,   639,  -778,  -778,  -778,   -11,
1863
 
     639,  -778,  -778,   759,   630,  2846,  4602,  8427,  -778,  -778,
1864
 
     -11,   845,   632,   826,  -778,   -11,   760,   637,  -778,   640,
1865
 
     643,  -778,   647,  -778,   651,   647,   656,  9279,  -778,   657,
1866
 
    -778,  -778,   682,  -778,  1199,  -778,  1199,  -778,   779,  -778,
1867
 
    -778,   658,  2846,  -778,  2846,  9384,    80,  -778,  -778,  4747,
1868
 
    -778,  -778,    80,  -778,  -778,   639,   639,  -778,   115,  -778,
1869
 
    3517,  -778,  -778,  -778,  -778,  1115,  -778,  -778,   664,  -778,
1870
 
     662,   845,   491,  -778,  -778,  -778,  -778,   923,  -778,   779,
1871
 
    -778,   779,  -778,   779,  -778,  -778,  -778,   751,   429,   809,
1872
 
    -778,   672,   673,   647,  -778,   679,   647,   765,  -778,   432,
1873
 
     373,   383,  3517,  -778,  3662,  -778,  -778,  -778,  -778,  -778,
1874
 
    4747,   639,  3517,  -778,   845,   662,   845,   685,   647,   686,
1875
 
     647,   647,  -778,  9980,  -778,  1199,  -778,   779,  -778,  -778,
1876
 
     779,  -778,  -778,   411, 10057,  7228, 10134,   644,   441,   639,
1877
 
    -778,   639,   662,   845,  -778,   779,  -778,  -778,  -778,   688,
1878
 
     690,   647,   687,   647,   647,    81,   271,   -11,    86,   118,
1879
 
    -778,  -778,  -778,  -778,   662,   647,  -778,   779,  -778,  -778,
1880
 
    -778,   124,  -778,   647,  -778
 
1791
    -747,    81,  2552,  -747,  7102,  -747,  -747,  -747,  6615,  -747,
 
1792
    -747,  -747,  -747,  -747,  -747,  -747,  7320,  7320,  -747,  -747,
 
1793
    7320,  3237,  2814,  -747,  -747,  -747,  -747,   100,  6476,   -31,
 
1794
    -747,   -26,  -747,  -747,  -747,  5715,  2955,  -747,  -747,  5842,
 
1795
    -747,  -747,  -747,  -747,  -747,  -747,  8519,  8519,    83,  4434,
 
1796
    8628,  7538,  7865,  6878,  -747,  6337,  -747,  -747,  -747,   -24,
 
1797
      29,   252,  8737,  8519,  -747,   193,  -747,  1104,  -747,   458,
 
1798
    -747,  -747,   129,    77,  -747,    69,  8846,  -747,   139,  2797,
 
1799
      22,    41,  -747,  8628,  8628,  -747,  -747,  5078,  8951,  9056,
 
1800
    9161,  5588,    33,    46,  -747,  -747,   157,  -747,  -747,  -747,
 
1801
    -747,  -747,  -747,  -747,  -747,    25,    58,  -747,   179,   613,
 
1802
      51,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,
 
1803
    -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,
 
1804
    -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,
 
1805
    -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,
 
1806
    -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,
 
1807
    -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,
 
1808
    -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,
 
1809
    -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,   134,
 
1810
    -747,  -747,  -747,  -747,   182,  8519,   279,  4564,  8519,  8519,
 
1811
    8519,  -747,   263,  2797,   260,  -747,  -747,   237,   207,    43,
 
1812
     206,   298,   254,   265,  -747,  -747,  -747,  4969,  -747,  7320,
 
1813
    7320,  -747,  -747,  5208,  -747,  8628,   661,  -747,   272,   287,
 
1814
    4694,  -747,  -747,  -747,   295,   307,  -747,   304,    51,   416,
 
1815
     619,  7211,  4434,   384,   193,  1104,   -31,   399,  -747,   458,
 
1816
     419,   221,   300,  -747,   260,   430,   300,  -747,   -31,   497,
 
1817
     501,  9266,   442,  -747,   351,   366,   383,   409,  -747,  -747,
 
1818
    -747,  -747,  -747,  -747,   644,  -747,   754,   813,   605,   464,
 
1819
     819,   478,    68,   530,   532,  -747,  -747,  -747,  -747,  -747,
 
1820
    -747,  -747,  5317,  8628,  8628,  8628,  8628,  7211,  8628,  8628,
 
1821
    -747,  -747,  7974,  -747,  4434,  6990,   470,  7974,  8519,  8519,
 
1822
    8519,  8519,  8519,  8519,  8519,  8519,  8519,  8519,  8519,  8519,
 
1823
    8519,  8519,  8519,  8519,  8519,  8519,  8519,  8519,  8519,  8519,
 
1824
    8519,  8519,  8519,  8519,  9548,  7320,  9625,  3609,   458,    86,
 
1825
      86,  8628,  8628,   193,   597,   480,   562,  -747,  -747,   454,
 
1826
     601,    54,    76,    99,   331,   349,  8628,   481,  -747,    45,
 
1827
     473,  -747,  -747,  -747,  -747,   217,   286,   305,   318,   321,
 
1828
     347,   363,   376,   381,  -747,  -747,  -747,   391, 10549, 10549,
 
1829
    -747,  -747,  -747,  -747,  8737,  8737,  -747,   535,  -747,  -747,
 
1830
    -747,   388,  -747,  -747,  8519,  8519,  7429,  -747,  -747,  9702,
 
1831
    7320,  9779,  8519,  8519,  7647,  -747,   -31,   492,  -747,  -747,
 
1832
     -31,  -747,   506,   539,  -747,   106,  -747,  -747,  -747,  -747,
 
1833
    -747,  6615,  -747,  8519,  4029,   508,  9702,  9779,  8519,  1104,
 
1834
     -31,  -747,  -747,  5445,   541,   -31,  -747,  7756,  -747,  -747,
 
1835
    7865,  -747,  -747,  -747,   272,   510,  -747,  -747,  -747,   543,
 
1836
    9266,  9856,  7320,  9933,   774,  -747,  -747,  -747,  -747,  -747,
 
1837
    -747,  -747,  -747,  -747,  -747,  -747,  -747,   313,  -747,  -747,
 
1838
     491,  -747,  8519,  8519,  -747,  -747,  -747,  -747,  -747,  -747,
 
1839
    -747,  -747,  -747,    32,  8519,  -747,   545,   546,  -747,   -31,
 
1840
    9266,   551,  -747,  -747,  -747,   566,  9473,  -747,  -747,   416,
 
1841
    2184,  2184,  2184,  2184,   781,   781,  2273,  2938,  2184,  2184,
 
1842
    1364,  1364,   662,   662,  2656,   781,   781,   927,   927,   768,
 
1843
     397,   397,   416,   416,   416,  3378,  6083,  3464,  6197,  -747,
 
1844
     307,  -747,   -31,   647,  -747,   660,  -747,  -747,  3096,   650,
 
1845
     688,  -747,  3754,   685,  4174,    56,    56,   597,  8083,   650,
 
1846
     112, 10010,  7320, 10087,  -747,   458,  -747,   510,  -747,   193,
 
1847
    -747,  -747,  -747, 10164,  7320, 10241,  3609,  8628,  1131,  -747,
 
1848
    -747,  -747,  -747,  -747,  1739,  1739,    32,    32,  -747, 10608,
 
1849
    -747,  2797,  -747,  -747,  6615, 10627,  -747,  8519,   260,  -747,
 
1850
     265,  5969,  2673,   -31,   490,   500,  -747,  -747,  -747,  -747,
 
1851
    7429,  7647,  -747,  -747,  8628,  2797,   570,  -747,   307,   307,
 
1852
    2797,   213,  1104,  -747,   300,  9266,   543,   505,   282,   -31,
 
1853
      38,   261,   603,  -747,  -747,  -747,  -747,   972,  -747,  -747,
 
1854
    -747,  -747,  1223,    66,  -747,  -747,  -747,  -747,   580,  -747,
 
1855
     583,   683,   589,   687,  -747,  -747,   893,  -747,  -747,  -747,
 
1856
     416,   416,  -747,   576,  4839,  -747,  -747,   604,  8192,  -747,
 
1857
     543,  9266,  8737,  8519,   630,  8737,  8737,  -747,   535,   608,
 
1858
     677,  8737,  8737,  -747,  -747,   535,  -747,  -747,  -747,  8301,
 
1859
     740,  -747,   588,  -747,   740,  -747,  -747,  -747,  -747,   650,
 
1860
      44,  -747,   239,   257,   -31,   141,   145,  8628,   193,  -747,
 
1861
    8628,  3609,   505,   282,  -747,   -31,   650,   106,  1223,  3609,
 
1862
     193,  6754,  -747,  -747,  -747,  -747,  4839,  4694,  8519,    32,
 
1863
    -747,  -747,  -747,  8519,  8519,   507,  8519,  8519,   636,   106,
 
1864
    -747,  -747,  -747,   291,  8519,  -747,   972,   457,  -747,   651,
 
1865
     -31,  -747,   639,  4839,  4694,  -747,  1223,  -747,  -747,  1223,
 
1866
    -747,  -747,   598,  -747,  -747,  4694,  -747,  -747,  -747,  -747,
 
1867
    -747,   681,  1017,   639,   679,   654,  -747,   656,   657,  -747,
 
1868
    -747,   789,  8519,   664,   543,  2797,  8519,  -747,  2797,  -747,
 
1869
    2797,  -747,  -747,  8737,  -747,  2797,  -747,  2797,  -747,   545,
 
1870
    -747,   713,  -747,  4304,   796,  -747,  8628,   650,  -747,   650,
 
1871
    4839,  4839,  -747,  8410,  3899,   189,    56,  -747,   193,   650,
 
1872
    -747,  -747,  -747,   -31,   650,  -747,  -747,   799,   673,  2797,
 
1873
    4694,  8519,  7647,  -747,  -747,   -31,   884,   671,  1079,  -747,
 
1874
     -31,   803,   686,  -747,   676,   678,  -747,   684,  -747,   694,
 
1875
     684,   690,  9371,  -747,   699,  -747,  -747,   711,  -747,  1251,
 
1876
    -747,  1251,  -747,   598,  -747,  -747,   700,  2797,  -747,  2797,
 
1877
    9476,    86,  -747,  -747,  4839,  -747,  -747,    86,  -747,  -747,
 
1878
     650,   650,  -747,   365,  -747,  3609,  -747,  -747,  -747,  -747,
 
1879
    1131,  -747,  -747,   706,  -747,   707,   884,   716,  -747,  -747,
 
1880
    -747,  -747,  1223,  -747,   598,  -747,   598,  -747,   598,  -747,
 
1881
    -747,  -747,   790,   520,  1017,  -747,   708,   715,   684,  -747,
 
1882
     717,   684,   797,  -747,   523,   366,   383,   409,  3609,  -747,
 
1883
    3754,  -747,  -747,  -747,  -747,  -747,  4839,   650,  3609,  -747,
 
1884
     884,   707,   884,   721,   684,   727,   684,   684,  -747, 10318,
 
1885
    -747,  1251,  -747,   598,  -747,  -747,   598,  -747,  -747,   510,
 
1886
   10395,  7320, 10472,   688,   588,   650,  -747,   650,   707,   884,
 
1887
    -747,   598,  -747,  -747,  -747,   730,   731,   684,   735,   684,
 
1888
     684,    55,   282,   -31,   128,   158,  -747,  -747,  -747,  -747,
 
1889
     707,   684,  -747,   598,  -747,  -747,  -747,   163,  -747,   684,
 
1890
    -747
1881
1891
};
1882
1892
 
1883
1893
/* YYPGOTO[NTERM-NUM].  */
1884
1894
static const yytype_int16 yypgoto[] =
1885
1895
{
1886
 
    -778,  -778,  -778,   399,  -778,    33,  -778,  -530,   -33,  -778,
1887
 
     159,  -778,    23,   -55,    21,  -778,  -462,  -778,   -15,   741,
1888
 
    -136,    -1,   -66,  -778,  -403,   -26,  1181,  -306,   750,   -52,
1889
 
    -778,   -20,  -778,  -778,    32,  -778,   748,  -778,   540,  -778,
1890
 
      46,   -98,  -298,    54,    76,  -778,  -278,  -196,   -44,  -283,
1891
 
      27,  -778,  -778,  -778,  -778,  -778,  -778,  -778,  -778,  -778,
1892
 
    -778,  -778,  -778,  -778,  -778,  -778,  -778,     2,  -778,  -778,
1893
 
    -778,  -778,  -778,  -778,  -778,  -778,  -778,  -778,   298,  -323,
1894
 
    -512,   -97,  -610,  -778,  -755,  -748,   120,  -778,  -485,  -778,
1895
 
    -636,  -778,   -49,  -778,  -778,  -778,  -778,  -778,  -778,  -778,
1896
 
    -778,  -778,   752,  -778,  -778,  -520,  -778,   -92,  -778,  -778,
1897
 
    -778,  -778,  -778,  -778,   753,  -778,  -778,  -778,  -778,  -778,
1898
 
    -778,  -778,  -778,   792,  -778,  -229,  -778,  -778,  -778,  -778,
1899
 
       7,  -778,    13,  -778,  1031,   762,  1198,  1109,  -778,  -778,
1900
 
     -12,  -416,  -706,  -549,  -667,  -121,  -679,  -777,    25,   128,
1901
 
    -778,  -579,  -778,  -434,   531,  -778,  -778,  -778,   -41,  -287,
1902
 
    1927,  -254,  -778,  -778,   -32,    -4,    88,  -554,  -217,    63,
1903
 
     -31,    -2
 
1896
    -747,  -747,  -747,   452,  -747,    28,  -747,  -545,   277,  -747,
 
1897
      39,  -747,  -293,   184,   -58,    71,  -747,  -169,  -747,    -7,
 
1898
     791,  -142,   -13,   -37,  -747,  -396,   -29,  1623,  -312,   788,
 
1899
     -54,  -747,   -25,  -747,  -747,    20,  -747,  1066,  -747,   -45,
 
1900
    -747,    11,    47,  -324,   115,     5,  -747,  -322,  -196,    53,
 
1901
    -295,     8,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,
 
1902
    -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,     2,  -747,
 
1903
    -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,   205,
 
1904
    -338,  -516,   -72,  -618,  -747,  -722,  -671,   147,  -747,  -489,
 
1905
    -747,  -600,  -747,   -12,  -747,  -747,  -747,  -747,  -747,  -747,
 
1906
    -747,  -747,  -747,   798,  -747,  -747,  -531,  -747,   -50,  -747,
 
1907
    -747,  -747,  -747,  -747,  -747,   811,  -747,  -747,  -747,  -747,
 
1908
    -747,  -747,  -747,  -747,   856,  -747,  -140,  -747,  -747,  -747,
 
1909
    -747,     7,  -747,    12,  -747,  1268,  1605,   823,  1289,  1575,
 
1910
    -747,  -747,    35,  -387,  -697,  -568,  -690,   273,  -696,  -746,
 
1911
      72,   181,  -747,  -526,  -747,  -449,   270,  -747,  -747,  -747,
 
1912
      97,  -360,   758,  -276,  -747,  -747,   -56,    -4,   278,  -585,
 
1913
    -214,     6,   -18,    -2
1904
1914
};
1905
1915
 
1906
1916
/* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
1907
1917
   positive, shift that token.  If negative, reduce the rule which
1908
 
   number is the opposite.  If zero, do what YYDEFACT says.
1909
 
   If YYTABLE_NINF, syntax error.  */
1910
 
#define YYTABLE_NINF -566
 
1918
   number is the opposite.  If YYTABLE_NINF, syntax error.  */
 
1919
#define YYTABLE_NINF -574
1911
1920
static const yytype_int16 yytable[] =
1912
1921
{
1913
 
     109,   199,   199,   269,    80,   199,    80,   248,   224,   302,
1914
 
     249,   253,   632,   534,   399,   190,   240,   676,   206,   206,
1915
 
     488,   191,   206,   222,   675,   225,   693,   259,   336,   712,
1916
 
     622,   339,   433,   522,   288,   190,   435,   110,   369,   604,
1917
 
     188,   191,   831,   453,   531,   456,   548,   460,   244,   250,
1918
 
     254,    80,   206,   719,   340,   261,   823,   780,   873,   894,
1919
 
     188,   785,   754,   870,   206,   818,   727,   549,   218,   672,
1920
 
     203,   212,   729,   246,   213,   -96,   520,   261,   528,   648,
1921
 
     260,   703,   704,   281,   206,   206,   374,   188,   206,   345,
1922
 
     355,   355,   815,   531,   -99,   462,   583,  -103,   219,   -98,
1923
 
     447,   372,   260,   422,   640,   334,   334,   294,   295,   334,
1924
 
     429,   586,   579,   832,   260,   260,   260,   430,   564,   565,
1925
 
     579,  -475,   188,   915,   632,  -482,  -474,   791,   287,   -69,
1926
 
     779,  -100,   538,     3,  -102,   -99,   221,   -97,   796,   520,
1927
 
     463,   528,   641,   448,   449,   586,   607,   -96,   894,   287,
1928
 
     730,   -98,   237,   820,   380,   373,   824,  -101,   795,   873,
1929
 
     -83,    67,   240,    67,   481,   597,   800,   818,   942,  -100,
1930
 
     432,   789,   -97,   727,   812,  -475,   284,   430,   285,   550,
1931
 
    -474,   279,   280,   831,   381,   635,   632,   284,  -476,   285,
1932
 
     -88,   597,   440,   767,   417,   964,   375,    80,   823,   199,
1933
 
     774,   199,   199,   392,   728,   227,   240,   755,   392,   424,
1934
 
     425,   284,   -95,   285,   818,   406,   206,   221,   206,   206,
1935
 
     275,   806,   206,  -543,   206,   284,   -99,   285,   -99,    80,
1936
 
     636,   -98,   374,   -98,   468,   469,   470,   471,   244,   277,
1937
 
      80,    80,  -476,   407,   681,   409,   760,   691,   907,   -94,
1938
 
     -91,   436,  -543,   -90,   479,   892,   692,   895,   296,   479,
1939
 
     261,   632,   727,  -100,   727,  -100,   -90,   240,   400,   -97,
1940
 
     403,   -97,   -93,    56,  -544,   483,   298,  -406,   218,   799,
1941
 
     859,   380,   535,   536,   -92,   260,   -92,   -89,  -482,   597,
1942
 
      80,   206,   206,   206,   206,    80,   206,   206,   919,   244,
1943
 
     206,   597,    80,   261,   287,   206,   220,   537,   408,  -477,
1944
 
     -96,   221,   334,   334,   334,   334,   199,   473,   474,   477,
1945
 
     299,   467,   727,   917,   485,   294,   295,  -540,   260,   406,
1946
 
     911,   426,   284,   206,   285,    80,  -406,   -90,   908,   206,
1947
 
     206,   -88,   375,   303,  -479,   378,   952,  -541,   217,   580,
1948
 
     397,  -478,   383,   206,   790,   420,  -279,   220,  -324,   385,
1949
 
     334,   334,   518,  -477,  -547,   727,   388,   727,   -90,   379,
1950
 
     -92,   -90,  -103,   389,   545,   -90,   440,  -102,   527,   199,
1951
 
     206,   206,   941,   776,   709,   717,  -469,  -406,   602,  -406,
1952
 
    -406,  -103,   406,   591,   727,   330,   206,   421,  -479,   568,
1953
 
     570,   -92,   287,   971,   -92,  -478,  -472,  -480,   -92,  -279,
1954
 
    -279,  -324,  -324,  -544,   109,   546,   440,   552,    80,   547,
1955
 
     190,   390,   -95,  -547,   396,   518,   191,    80,   393,   199,
1956
 
     398,   632,   418,  -469,   438,   439,   443,  -540,   414,  -469,
1957
 
    -469,   527,   406,  -540,   261,   188,   206,    67,   331,   332,
1958
 
     518,   416,   472,   214,  -472,   782,   779,  -541,  -481,  -472,
1959
 
    -472,  -480,   559,  -541,   304,   527,   699,   701,  -272,   260,
1960
 
     217,   541,   423,   644,  -547,   518,  -547,  -547,   553,   -68,
1961
 
    -543,   394,   395,   428,   261,   394,   419,  -469,   587,   444,
1962
 
     445,   527,   589,   434,   677,   590,  -280,   713,   437,   669,
1963
 
     651,   671,   721,   457,   611,   612,   613,   614,  -472,   260,
1964
 
     599,  -481,  -481,   461,   923,   601,   560,   934,   656,   -98,
1965
 
     751,  -272,  -272,   902,   542,   543,   663,   199,   668,   904,
1966
 
     442,   554,   555,   420,    80,   658,    80,   718,   659,   199,
1967
 
     406,   464,   465,   721,   206,   611,   612,   613,   614,  -280,
1968
 
    -280,   538,   406,   484,   707,  -102,   206,   -98,    80,   206,
1969
 
    -100,   466,   663,   663,   644,   644,   654,   554,   555,   647,
1970
 
     935,   936,   540,   518,   660,    67,   447,   572,   392,   656,
1971
 
     694,   190,   304,   440,   600,   518,   -94,   191,   -90,   527,
1972
 
     811,   -92,   251,   544,   206,   663,   655,   588,   674,   674,
1973
 
     595,   527,   -83,   656,   662,   261,   188,   603,  -258,   757,
1974
 
     660,   660,   686,   447,   822,   715,   714,   825,   637,   448,
1975
 
     449,   450,   479,   807,   734,   769,   734,   646,   734,   792,
1976
 
     260,   916,   794,   327,   328,   329,   649,   957,  -100,   756,
1977
 
     700,   702,   654,   660,    80,   -97,   802,   -97,   447,   664,
1978
 
     304,   261,   666,   410,   206,   206,   448,   449,   452,   670,
1979
 
     206,   206,   411,   412,   778,   781,   720,   781,   447,   781,
1980
 
     803,   804,   716,   763,   765,   737,   260,   656,   -89,   770,
1981
 
     772,   447,   597,   732,   735,   455,   206,   738,   656,   206,
1982
 
      80,   448,   449,   454,   740,  -259,   816,   817,    80,   325,
1983
 
     326,   327,   328,   329,   644,    80,    80,   334,   826,   762,
1984
 
     334,   448,   449,   458,   768,   893,   779,   896,   721,   813,
1985
 
     611,   612,   613,   614,   448,   449,   756,   852,   748,   833,
1986
 
     188,    80,    80,   384,   827,   834,   386,   387,   289,   290,
1987
 
     291,   292,   293,    80,   836,   838,   848,   756,   793,   734,
1988
 
     840,   734,   734,   855,   856,   722,   918,   858,   920,  -260,
1989
 
     801,   723,   921,   845,   201,   201,   849,   867,   201,   866,
1990
 
     875,   206,   871,   868,   876,   847,   742,   743,   851,   744,
1991
 
     877,    80,   798,   879,   206,    44,    45,   881,    80,    80,
1992
 
     843,   883,    80,   886,   233,   236,   890,   889,  -261,   201,
1993
 
     201,   913,   914,   808,   951,   334,   953,   922,    80,   954,
1994
 
     282,   283,   925,   927,   814,   594,   903,   734,   734,   930,
1995
 
     734,   933,   734,   734,   965,   943,   945,   967,   343,   888,
1996
 
    -543,   721,  -544,   611,   612,   613,   614,   678,   478,   358,
1997
 
     924,   961,   810,   487,   376,   960,   973,   899,   377,   273,
1998
 
       0,    80,   370,   912,   260,   674,   781,   861,   304,   891,
1999
 
     819,   828,    80,   611,   612,   613,   614,     0,   615,   937,
2000
 
       0,   938,   260,   317,   318,   617,     0,   939,   721,     0,
2001
 
     611,   612,   613,   614,     0,     0,     0,   863,     0,   734,
2002
 
     734,   734,     0,   734,   734,   618,     0,   721,   869,   611,
2003
 
     612,   613,   614,   874,    80,     0,    80,   325,   326,   327,
2004
 
     328,   329,    80,     0,    80,   722,   734,   734,   734,   734,
2005
 
     199,   872,     0,     0,     0,     0,     0,     0,     0,   576,
2006
 
     578,     0,     0,   406,   722,   668,   781,   206,   251,     0,
2007
 
       0,   201,     0,     0,   201,   201,   282,     0,     0,   734,
2008
 
     734,   734,   734,   656,     0,   518,   747,     0,   611,   612,
2009
 
     613,   614,   201,   734,   201,   201,   518,     0,     0,   578,
2010
 
       0,   734,   251,     0,   788,   610,     0,   611,   612,   613,
2011
 
     614,     0,   527,     0,     0,     0,     0,     0,     0,     0,
2012
 
       0,   797,     0,   615,     0,     0,     0,     0,     0,   616,
2013
 
     617,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2014
 
       0,     0,   615,     0,     0,     0,   645,     0,   616,   617,
2015
 
     618,     0,     0,   619,     0,     0,     0,     0,     0,     0,
2016
 
       0,     0,     0,   104,     0,   104,     0,     0,     0,   618,
2017
 
       0,     0,   619,     0,     0,     0,   201,     0,     0,   748,
2018
 
       0,   486,   489,   490,   491,   492,   493,   494,   495,   496,
2019
 
     497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
2020
 
     507,   508,   509,   510,   511,   512,   513,   514,   487,   201,
2021
 
     104,   853,     0,   854,   262,   610,     0,   611,   612,   613,
2022
 
     614,     0,     0,   862,     0,     0,     0,     0,   864,     0,
2023
 
       0,     0,     0,     0,     0,     0,   262,     0,     0,     0,
2024
 
       0,   107,     0,   107,     0,     0,     0,   708,   347,   356,
2025
 
     356,   356,   615,     0,     0,     0,   569,   571,   616,   617,
2026
 
       0,     0,     0,     0,     0,     0,   575,   201,   201,     0,
2027
 
       0,     0,   201,     0,   569,   571,   201,     0,     0,   618,
2028
 
       0,     0,   619,   905,   906,     0,     0,     0,   107,   736,
2029
 
       0,   739,   263,   593,     0,     0,   304,   610,   598,   611,
2030
 
     612,   613,   614,     0,     0,   620,     0,   201,     0,     0,
2031
 
     201,   317,   318,    77,   263,    77,   759,     0,     0,     0,
2032
 
       0,     0,   201,     0,     0,     0,   348,   357,   357,     0,
2033
 
     106,     0,   106,     0,   615,     0,   775,     0,     0,   940,
2034
 
     616,   617,   638,   639,   324,   325,   326,   327,   328,   329,
2035
 
       0,     0,     0,     0,   201,     0,   104,     0,     0,     0,
2036
 
      77,   618,     0,     0,   619,  -565,     0,   962,     0,   963,
2037
 
       0,     0,     0,  -565,  -565,  -565,     0,   106,  -565,  -565,
2038
 
    -565,   747,  -565,   611,   612,   613,   614,   695,   104,     0,
2039
 
     809,     0,  -565,     0,     0,     0,     0,     0,   344,   104,
2040
 
     104,     0,  -565,  -565,     0,  -565,  -565,  -565,  -565,  -565,
2041
 
       0,     0,   835,     0,   837,   839,   201,     0,   615,   262,
2042
 
     201,   304,     0,     0,   616,   617,     0,     0,   841,     0,
2043
 
       0,     0,   201,     0,   107,     0,   317,   318,     0,     0,
2044
 
       0,     0,     0,     0,     0,   618,     0,     0,   619,   104,
2045
 
    -565,     0,     0,     0,   104,   201,     0,     0,     0,   857,
2046
 
       0,   104,   262,     0,     0,     0,   107,   322,   323,   324,
2047
 
     325,   326,   327,   328,   329,     0,     0,   107,   107,     0,
2048
 
     878,   880,     0,   882,     0,   884,   885,     0,     0,     0,
2049
 
       0,     0,     0,     0,   104,     0,     0,   263,     0,     0,
2050
 
       0,     0,  -565,     0,  -565,     0,    77,   217,  -565,     0,
2051
 
    -565,     0,  -565,     0,     0,     0,     0,     0,     0,     0,
2052
 
       0,     0,     0,   106,   201,     0,     0,   107,   761,     0,
2053
 
     764,   766,   107,     0,     0,     0,   771,   773,    77,   107,
2054
 
     263,     0,     0,     0,   201,     0,     0,     0,     0,    77,
2055
 
      77,     0,   926,   928,   929,   106,   931,   932,     0,     0,
2056
 
       0,     0,     0,     0,     0,     0,   106,   106,     0,     0,
2057
 
       0,     0,   107,     0,     0,     0,     0,   104,     0,   944,
2058
 
     946,   947,   948,   805,     0,     0,   104,     0,   764,   766,
2059
 
       0,   771,   773,     0,     0,     0,     0,     0,   201,    77,
2060
 
       0,     0,     0,   262,    77,     0,     0,     0,     0,     0,
2061
 
       0,    77,   966,   968,   969,   970,   106,     0,     0,     0,
2062
 
       0,   106,     0,     0,     0,     0,   972,     0,   106,     0,
2063
 
       0,     0,     0,     0,   974,     0,   201,     0,     0,     0,
2064
 
     842,     0,     0,   262,    77,     0,     0,   844,     0,     0,
2065
 
       0,     0,     0,     0,     0,   107,     0,     0,     0,     0,
2066
 
       0,   106,     0,     0,   107,     0,     0,   201,     0,     0,
2067
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2068
 
       0,   263,     0,     0,     0,   844,     0,     0,     0,     0,
2069
 
       0,     0,     0,   104,     0,   104,     0,     0,     0,     0,
2070
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2071
 
     304,  -566,  -566,  -566,  -566,   309,   310,   104,     0,  -566,
2072
 
    -566,   263,     0,     0,     0,   317,   318,    77,     0,     0,
2073
 
       0,     0,     0,     0,     0,     0,    77,     0,     0,     0,
2074
 
       0,     0,     0,     0,   106,     0,     0,     0,     0,     0,
2075
 
     650,     0,     0,   106,   320,   321,   322,   323,   324,   325,
2076
 
     326,   327,   328,   329,   262,     0,     0,     0,     0,     0,
2077
 
       0,   107,     0,   107,   304,   305,   306,   307,   308,   309,
2078
 
     310,   311,   312,   313,   314,   315,   316,     0,     0,   317,
2079
 
     318,     0,     0,     0,     0,   107,     0,     0,     0,     0,
2080
 
       0,     0,     0,   104,     0,     0,     0,     0,     0,     0,
2081
 
     262,     0,     0,   201,     0,     0,   319,     0,   320,   321,
2082
 
     322,   323,   324,   325,   326,   327,   328,   329,     0,     0,
2083
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2084
 
       0,     0,   263,    77,     0,    77,  -237,     0,     0,   104,
2085
 
       0,     0,     0,     0,     0,     0,     0,   104,     0,     0,
2086
 
     106,     0,   106,     0,   104,   104,     0,    77,     0,     0,
2087
 
       0,     0,     0,   746,     0,     0,     0,     0,     0,     0,
2088
 
       0,   107,     0,     0,   106,     0,     0,     0,   263,     0,
2089
 
     104,   104,     0,     0,   515,   516,     0,     0,   517,     0,
2090
 
       0,     0,   104,     0,     0,     0,     0,     0,   155,   156,
2091
 
     157,   158,   159,   160,   161,   162,   163,     0,     0,   164,
2092
 
     165,     0,     0,   166,   167,   168,   169,   107,     0,     0,
2093
 
       0,     0,     0,     0,     0,   107,     0,   170,     0,     0,
2094
 
     104,     0,   107,   107,     0,     0,     0,   104,   104,     0,
2095
 
       0,   104,     0,    77,   171,   172,   173,   174,   175,   176,
2096
 
     177,   178,   179,   180,     0,   181,   182,   104,   107,   107,
2097
 
     106,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2098
 
     107,     0,     0,   183,   217,     0,     0,     0,   356,     0,
2099
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,    77,
2100
 
       0,     0,     0,     0,     0,     0,   900,    77,     0,     0,
2101
 
     104,     0,     0,     0,    77,    77,   106,     0,   107,     0,
2102
 
       0,   104,     0,     0,   106,   107,   107,     0,     0,   107,
2103
 
       0,   106,   106,     0,     0,     0,     0,     0,     0,     0,
2104
 
      77,    77,     0,     0,     0,   107,     0,     0,     0,     0,
2105
 
       0,     0,    77,     0,     0,     0,     0,   106,   106,     0,
2106
 
       0,     0,     0,   104,     0,   104,   357,     0,     0,   106,
2107
 
       0,   104,     0,   104,     0,     0,     0,   304,   305,   306,
2108
 
     307,   308,   309,   310,   901,     0,   313,   314,   107,     0,
2109
 
      77,     0,   317,   318,     0,     0,     0,    77,    77,   107,
2110
 
       0,    77,     0,   235,   235,     0,     0,   106,   235,   235,
2111
 
     235,     0,     0,     0,   106,   106,     0,    77,   106,     0,
2112
 
     235,   320,   321,   322,   323,   324,   325,   326,   327,   328,
2113
 
     329,     0,   235,     0,   106,     0,     0,     0,     0,     0,
2114
 
       0,   107,     0,   107,   235,   235,   235,     0,     0,   107,
2115
 
       0,   107,     0,     0,     0,     0,   898,     0,     0,     0,
2116
 
      77,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2117
 
       0,    77,     0,     0,     0,     0,     0,   106,     0,     0,
2118
 
       0,     0,     0,     0,     0,     0,     0,     0,   106,     0,
2119
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2120
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2121
 
       0,     0,     0,    77,     0,    77,     0,     0,     0,     0,
2122
 
       0,    77,     0,    77,     0,     0,     0,     0,     0,     0,
2123
 
     106,     0,   106,     0,     0,     0,     0,     0,   106,     0,
2124
 
     106,     0,   523,   524,     0,     0,   525,     0,     0,     0,
2125
 
     235,     0,     0,   235,   235,   235,   155,   156,   157,   158,
2126
 
     159,   160,   161,   162,   163,     0,     0,   164,   165,     0,
2127
 
       0,   166,   167,   168,   169,     0,     0,   304,   305,   306,
2128
 
     307,   308,   309,   310,   311,   170,   313,   314,     0,     0,
2129
 
       0,     0,   317,   318,     0,     0,     0,     0,     0,     0,
2130
 
       0,     0,   171,   172,   173,   174,   175,   176,   177,   178,
2131
 
     179,   180,     0,   181,   182,   235,     0,     0,     0,     0,
2132
 
       0,   320,   321,   322,   323,   324,   325,   326,   327,   328,
2133
 
     329,   183,   217,     0,     0,     0,     0,     0,     0,     0,
2134
 
       0,     0,     0,     0,   304,   305,   306,   307,   308,   309,
2135
 
     310,   311,   312,   313,   314,  -566,  -566,     0,   235,   317,
2136
 
     318,   235,   235,   235,   235,   235,   235,   235,   235,   235,
2137
 
     235,   235,   235,   235,   235,   235,   235,   235,   235,   235,
2138
 
     235,   235,   235,   235,   235,   235,   235,     0,   320,   321,
2139
 
     322,   323,   324,   325,   326,   327,   328,   329,   581,   516,
2140
 
       0,     0,   582,     0,     0,     0,     0,     0,     0,     0,
2141
 
       0,     0,   155,   156,   157,   158,   159,   160,   161,   162,
2142
 
     163,     0,     0,   164,   165,     0,     0,   166,   167,   168,
2143
 
     169,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2144
 
       0,   170,     0,     0,     0,   235,   235,   235,     0,     0,
2145
 
       0,     0,     0,   235,   235,   235,     0,     0,   171,   172,
2146
 
     173,   174,   175,   176,   177,   178,   179,   180,     0,   181,
2147
 
     182,     0,   235,     0,     0,     0,     0,   235,     0,     0,
2148
 
       0,     0,     0,     0,     0,     0,   235,   183,   217,   235,
2149
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,   235,
2150
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2151
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2152
 
       0,   235,   235,     0,  -565,     4,     0,     5,     6,     7,
2153
 
       8,     9,     0,   235,     0,    10,    11,     0,     0,   235,
2154
 
      12,     0,    13,    14,    15,    16,    17,    18,    19,     0,
2155
 
       0,     0,     0,     0,    20,    21,    22,    23,    24,    25,
2156
 
      26,     0,     0,    27,     0,     0,     0,     0,     0,    28,
2157
 
      29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
2158
 
      39,    40,     0,    41,    42,     0,    43,    44,    45,     0,
2159
 
      46,    47,     0,     0,     0,   235,     0,     0,     0,     0,
2160
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2161
 
      48,     0,     0,    49,    50,     0,    51,    52,     0,    53,
2162
 
       0,    54,    55,    56,    57,    58,    59,    60,     0,     0,
2163
 
       0,     0,     0,     0,   235,     0,     0,     0,     0,     0,
2164
 
       0,     0,     0,     0,     0,     0,    61,    62,    63,     0,
2165
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2166
 
     235,     0,     0,     0,     0,     0,     0,     0,     0,  -565,
2167
 
       0,  -565,     0,     0,     0,     0,     0,     0,     0,     0,
2168
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2169
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2170
 
       0,     0,     0,   235,     0,     0,   235,   235,     0,     0,
2171
 
       0,  -279,     0,     0,     0,     0,     0,     0,     0,  -279,
2172
 
    -279,  -279,     0,   235,  -279,  -279,  -279,     0,  -279,     0,
2173
 
       0,     0,     0,     0,     0,     0,     0,     0,  -279,  -279,
2174
 
    -279,     0,     0,     0,     0,     0,     0,     0,  -279,  -279,
2175
 
       0,  -279,  -279,  -279,  -279,  -279,     0,     0,     0,     0,
2176
 
       0,     0,   235,     0,     0,     0,     0,   235,   235,     0,
2177
 
     235,   235,     0,     0,     0,     0,     0,   235,     0,  -279,
2178
 
    -279,  -279,  -279,  -279,  -279,  -279,  -279,  -279,  -279,  -279,
2179
 
    -279,  -279,     0,     0,  -279,  -279,  -279,     0,   711,  -279,
2180
 
       0,     0,     0,     0,     0,  -279,     0,     0,     0,     0,
2181
 
       0,     0,     0,     0,     0,   235,     0,     0,  -279,   235,
2182
 
    -101,  -279,  -279,  -279,  -279,  -279,  -279,  -279,  -279,  -279,
2183
 
    -279,  -279,  -279,     0,     0,     0,     0,     0,     0,     0,
2184
 
       0,     0,     0,     0,     0,     0,   235,     0,  -279,  -279,
2185
 
    -279,  -279,  -405,     0,  -279,  -279,  -279,     0,  -279,     0,
2186
 
    -405,  -405,  -405,     0,   235,  -405,  -405,  -405,     0,  -405,
2187
 
       0,     0,     0,     0,     0,     0,     0,     0,  -405,  -405,
2188
 
    -405,     0,     0,     0,   235,     0,     0,     0,     0,  -405,
2189
 
    -405,     0,  -405,  -405,  -405,  -405,  -405,     0,     0,     0,
2190
 
       0,     0,   235,   304,   305,   306,   307,   308,   309,   310,
2191
 
     311,   312,   313,   314,   315,   316,     0,     0,   317,   318,
2192
 
    -405,  -405,  -405,  -405,  -405,  -405,  -405,  -405,  -405,  -405,
2193
 
    -405,  -405,  -405,     0,     0,  -405,  -405,  -405,     0,     0,
2194
 
    -405,     0,     0,     0,     0,   319,  -405,   320,   321,   322,
2195
 
     323,   324,   325,   326,   327,   328,   329,     0,     0,     0,
2196
 
       0,     0,  -405,     0,  -405,  -405,  -405,  -405,  -405,  -405,
2197
 
    -405,  -405,  -405,  -405,     0,     0,     0,     0,     0,     0,
2198
 
       0,     0,   221,     0,     0,     0,     0,     0,  -405,  -405,
2199
 
    -405,  -405,  -405,  -273,   217,  -405,  -405,  -405,     0,  -405,
2200
 
       0,  -273,  -273,  -273,     0,     0,  -273,  -273,  -273,     0,
2201
 
    -273,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2202
 
    -273,  -273,  -273,     0,     0,     0,     0,     0,     0,     0,
2203
 
    -273,  -273,     0,  -273,  -273,  -273,  -273,  -273,     0,     0,
2204
 
       0,     0,     0,     0,   304,   305,   306,   307,   308,   309,
2205
 
     310,   311,   312,   313,   314,   315,   316,     0,     0,   317,
2206
 
     318,  -273,  -273,  -273,  -273,  -273,  -273,  -273,  -273,  -273,
2207
 
    -273,  -273,  -273,  -273,     0,     0,  -273,  -273,  -273,     0,
2208
 
       0,  -273,     0,     0,     0,     0,   319,  -273,   320,   321,
2209
 
     322,   323,   324,   325,   326,   327,   328,   329,     0,     0,
2210
 
    -273,     0,     0,  -273,  -273,  -273,  -273,  -273,  -273,  -273,
2211
 
    -273,  -273,  -273,  -273,  -273,     0,     0,     0,     0,     0,
2212
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2213
 
    -273,  -273,  -273,  -273,  -565,     0,  -273,  -273,  -273,     0,
2214
 
    -273,     0,  -565,  -565,  -565,     0,     0,  -565,  -565,  -565,
2215
 
       0,  -565,     0,     0,     0,     0,     0,     0,     0,     0,
2216
 
    -565,  -565,  -565,     0,     0,     0,     0,     0,     0,     0,
2217
 
       0,  -565,  -565,     0,  -565,  -565,  -565,  -565,  -565,     0,
2218
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2219
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2220
 
       0,     0,  -565,  -565,  -565,  -565,  -565,  -565,  -565,  -565,
2221
 
    -565,  -565,  -565,  -565,  -565,     0,     0,  -565,  -565,  -565,
2222
 
       0,     0,  -565,     0,     0,     0,     0,     0,  -565,     0,
2223
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2224
 
       0,     0,     0,     0,  -565,     0,  -565,  -565,  -565,  -565,
2225
 
    -565,  -565,  -565,  -565,  -565,  -565,     0,     0,     0,     0,
2226
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2227
 
    -565,  -565,  -565,  -565,  -565,  -286,   217,  -565,  -565,  -565,
2228
 
       0,  -565,     0,  -286,  -286,  -286,     0,     0,  -286,  -286,
2229
 
    -286,     0,  -286,     0,     0,     0,     0,     0,     0,     0,
2230
 
       0,     0,  -286,  -286,     0,     0,     0,     0,     0,     0,
2231
 
       0,     0,  -286,  -286,     0,  -286,  -286,  -286,  -286,  -286,
2232
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2233
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2234
 
       0,     0,     0,  -286,  -286,  -286,  -286,  -286,  -286,  -286,
2235
 
    -286,  -286,  -286,  -286,  -286,  -286,     0,     0,  -286,  -286,
2236
 
    -286,     0,     0,  -286,     0,     0,     0,     0,     0,  -286,
2237
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2238
 
       0,     0,     0,     0,     0,  -286,     0,  -286,  -286,  -286,
2239
 
    -286,  -286,  -286,  -286,  -286,  -286,  -286,     0,     0,     0,
2240
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2241
 
       0,     0,  -286,  -286,  -286,  -286,  -547,   214,  -286,  -286,
2242
 
    -286,     0,  -286,     0,  -547,  -547,  -547,     0,     0,     0,
2243
 
    -547,  -547,     0,  -547,     0,     0,     0,     0,     0,     0,
2244
 
       0,     0,  -547,     0,     0,     0,     0,     0,     0,     0,
2245
 
       0,     0,     0,  -547,  -547,     0,  -547,  -547,  -547,  -547,
2246
 
    -547,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2247
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2248
 
       0,     0,     0,     0,  -547,  -547,  -547,  -547,  -547,  -547,
2249
 
    -547,  -547,  -547,  -547,  -547,  -547,  -547,     0,     0,  -547,
2250
 
    -547,  -547,  -279,   652,     0,     0,     0,     0,     0,     0,
2251
 
    -279,  -279,  -279,     0,     0,     0,  -279,  -279,     0,  -279,
2252
 
       0,     0,     0,     0,     0,   -99,  -547,     0,  -547,  -547,
2253
 
    -547,  -547,  -547,  -547,  -547,  -547,  -547,  -547,     0,  -279,
2254
 
    -279,     0,  -279,  -279,  -279,  -279,  -279,     0,     0,     0,
2255
 
       0,     0,  -547,  -547,  -547,  -547,   -91,     0,     0,  -547,
2256
 
       0,  -547,     0,  -547,     0,     0,     0,     0,     0,     0,
2257
 
    -279,  -279,  -279,  -279,  -279,  -279,  -279,  -279,  -279,  -279,
2258
 
    -279,  -279,  -279,     0,     0,  -279,  -279,  -279,     0,   653,
2259
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2260
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2261
 
       0,  -101,  -279,     0,  -279,  -279,  -279,  -279,  -279,  -279,
2262
 
    -279,  -279,  -279,  -279,     0,     0,     0,     0,     0,     0,
2263
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,  -279,
2264
 
    -279,  -279,   -93,     0,     0,  -279,     0,  -279,   238,  -279,
2265
 
       5,     6,     7,     8,     9,  -565,  -565,  -565,    10,    11,
2266
 
       0,     0,  -565,    12,     0,    13,    14,    15,    16,    17,
2267
 
      18,    19,     0,     0,     0,     0,     0,    20,    21,    22,
2268
 
      23,    24,    25,    26,     0,     0,    27,     0,     0,     0,
2269
 
       0,     0,    28,    29,     0,    31,    32,    33,    34,    35,
2270
 
      36,    37,    38,    39,    40,     0,    41,    42,     0,    43,
2271
 
      44,    45,     0,    46,    47,     0,     0,     0,     0,     0,
2272
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2273
 
       0,     0,     0,    48,     0,     0,    49,    50,     0,    51,
2274
 
      52,     0,    53,     0,    54,    55,    56,    57,    58,    59,
2275
 
      60,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2276
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,    61,
2277
 
      62,    63,     0,     0,     0,     0,     0,     0,     0,     0,
2278
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2279
 
       0,     0,  -565,   238,  -565,     5,     6,     7,     8,     9,
2280
 
       0,     0,  -565,    10,    11,     0,  -565,  -565,    12,     0,
 
1922
     111,   273,   544,   227,    81,   644,    81,   254,   725,   201,
 
1923
     201,   532,   498,   201,   493,   192,   689,   405,   208,   208,
 
1924
     193,   706,   208,   225,   262,   228,   340,   222,   190,   343,
 
1925
     688,   344,   112,   221,   733,   192,   247,   375,   441,   306,
 
1926
     193,    67,   443,    67,   596,   558,   559,   292,   190,   253,
 
1927
     257,    81,   208,   838,   616,   264,   833,   541,   530,   741,
 
1928
     538,   263,   794,   -93,   208,   846,   799,   634,  -103,   207,
 
1929
     207,   291,   380,   207,   589,   190,   593,   380,   264,   -99,
 
1930
     596,     3,   589,   685,   263,   208,   208,   716,   717,   208,
 
1931
     349,   360,   360,   291,   660,   743,   263,   263,   263,   541,
 
1932
     430,  -100,   574,   575,   251,   909,   888,  -330,   652,   805,
 
1933
     230,   190,  -489,   213,   213,   387,   224,   213,   378,   644,
 
1934
     810,   386,   279,   530,  -107,   538,   334,   768,   619,   470,
 
1935
    -489,   205,   215,   285,   -99,   216,   461,  -106,   464,   240,
 
1936
     468,  -102,   830,   298,   299,  -490,   653,   -93,   252,   256,
 
1937
     390,   609,   -99,   392,   393,   885,   809,   300,   560,   833,
 
1938
    -330,  -330,   489,   847,   814,   -90,  -102,  -100,   741,   827,
 
1939
    -104,  -104,   379,   744,   471,   281,  -101,   609,   -93,   335,
 
1940
     336,   -93,   381,   644,   803,   -93,   302,   381,   432,   288,
 
1941
     288,   289,   289,   220,   -90,   909,   838,  -551,   -91,    81,
 
1942
    -103,   288,  -103,   289,   769,   398,   833,   846,   888,   303,
 
1943
     201,   398,   201,   201,  -101,   931,   -91,   405,   414,   208,
 
1944
     835,   208,   208,   839,   448,   208,   433,   208,   694,   247,
 
1945
     820,   288,    81,   289,   249,   476,   477,   478,   479,   -98,
 
1946
     705,   596,   223,    81,    81,   742,   221,   224,   307,   386,
 
1947
     291,   704,   -97,   224,   444,   923,    56,   486,   741,   644,
 
1948
     741,   958,   497,   264,  -103,   774,   384,   338,   338,   263,
 
1949
     207,   338,   207,  -102,   389,  -102,   491,   609,   589,   589,
 
1950
     429,   -93,  -105,   545,   546,   -95,   -95,   547,   980,   609,
 
1951
     874,   247,   399,  -490,    81,   208,   208,   208,   208,    81,
 
1952
     208,   208,  -481,  -104,   208,  -104,    81,   264,  -101,   208,
 
1953
    -101,   283,   284,   263,   213,  -100,   213,  -412,   741,   933,
 
1954
     475,   813,   -71,   907,   223,   910,   243,   648,   201,   -92,
 
1955
     927,    67,   406,   414,   409,   391,   480,   208,   288,    81,
 
1956
     289,   403,   924,   208,   208,   400,   401,   537,   395,   291,
 
1957
     586,   588,   804,   -85,   528,   487,  -481,  -548,   208,   254,
 
1958
     487,   437,   741,  -107,   741,   562,   935,  -285,   438,   493,
 
1959
     -95,  -480,   394,   485,   455,  -549,  -412,   396,   494,   -94,
 
1960
     793,  -551,   548,   957,   790,   402,   208,   208,   987,   426,
 
1961
    -482,   741,   588,   201,   722,   254,   603,   -96,   414,  -552,
 
1962
     731,   -95,   208,  -483,   -95,   404,  -485,   415,   -95,   417,
 
1963
     398,   398,   537,   448,   422,   968,  -475,   456,   457,   528,
 
1964
    -285,  -285,   111,   424,  -552,  -480,    81,  -412,   192,  -412,
 
1965
    -412,   644,  -484,   193,  -478,    81,   451,   217,   537,   657,
 
1966
     440,   190,   400,   427,  -482,   201,   528,   438,  -486,   220,
 
1967
     414,  -487,   264,   448,   208,   578,   580,  -483,   263,   647,
 
1968
    -485,  -475,   596,    67,   537,   308,  -478,  -548,  -488,  -475,
 
1969
    -475,   528,   612,  -548,   243,   428,   569,   338,   338,   338,
 
1970
     338,   656,   481,   482,   308,  -549,  -484,  -478,  -478,   452,
 
1971
     453,  -549,   264,   590,  -278,   298,   299,  -106,   263,   781,
 
1972
     589,   416,  -486,   497,  -487,  -487,   788,   425,   -70,   735,
 
1973
     664,   623,   624,   625,   626,  -475,   331,   332,   333,   243,
 
1974
    -478,  -488,  -488,   918,   434,   338,   338,   431,   669,   920,
 
1975
     570,  -555,   722,   556,   614,   668,   676,   557,   681,   551,
 
1976
     555,   667,   721,   675,    81,   201,    81,  -278,  -278,   673,
 
1977
     414,   687,   687,   445,   208,   588,   254,   201,   563,   720,
 
1978
     446,   447,   414,   436,   537,   699,   208,   442,    81,   208,
 
1979
     465,   528,   676,   676,   656,   656,   537,   726,   732,   713,
 
1980
     715,   243,   450,   528,   469,   673,   673,   727,   398,   669,
 
1981
    -555,   192,   552,   553,   821,  -286,   193,   826,   472,  -102,
 
1982
     473,   690,   796,   793,   190,   939,   208,   676,   950,  -104,
 
1983
     492,   564,   565,   773,   548,   669,  -101,   264,   550,   667,
 
1984
     673,   712,   714,   263,   448,   474,   554,   973,   761,   582,
 
1985
     623,   624,   625,   626,   789,   598,   748,   649,   748,   806,
 
1986
     748,  -555,   808,  -555,  -555,   607,   600,  -551,  -286,  -286,
 
1987
     735,   770,   623,   624,   625,   626,    81,   816,   564,   565,
 
1988
     677,   951,   952,   264,   208,   627,   455,   208,   208,   263,
 
1989
     463,   628,   629,   208,   208,   662,   609,   792,   795,   601,
 
1990
     795,   -85,   795,   615,   597,  -264,   658,   627,   599,   824,
 
1991
     669,   661,   630,   602,   629,   631,   679,   728,   683,   208,
 
1992
     385,   669,   208,    81,   807,   455,   428,   730,   611,   456,
 
1993
     457,    81,   734,   613,   630,   418,   815,   656,    81,    81,
 
1994
     746,   762,  -107,   749,   419,   420,   398,   856,  -106,   752,
 
1995
     308,   190,   487,   494,   671,   751,   777,   779,   867,   754,
 
1996
     770,   776,   784,   786,  -265,    81,    81,   672,   456,   457,
 
1997
     458,   707,   782,   -98,   691,   793,  -102,    81,   872,   -97,
 
1998
     110,   770,   110,   748,   783,   748,   748,   659,   735,  -104,
 
1999
     623,   624,   625,   626,   110,   110,   822,   254,   110,   329,
 
2000
     330,   331,   332,   333,   762,   208,  -101,   -93,   729,   862,
 
2001
     842,   828,   866,   848,   849,    81,   851,   853,   208,   855,
 
2002
     -95,   860,    81,    81,  -266,   864,    81,   110,   110,   881,
 
2003
     882,   886,   687,   890,   876,   455,   892,   -92,   894,   682,
 
2004
     110,   684,    81,   891,   896,   905,   622,   901,   623,   624,
 
2005
     625,   626,   748,   748,   898,   748,   308,   748,   748,   904,
 
2006
    -267,   110,   110,   929,   903,   110,   938,   930,   941,   308,
 
2007
     263,   321,   322,   949,   858,   943,   932,   946,   456,   457,
 
2008
     460,   959,   914,   627,   321,   322,    81,   961,   263,   628,
 
2009
     629,   795,  -551,  -552,   455,   983,   606,    81,   364,   347,
 
2010
     455,   338,   977,   825,   338,   329,   330,   331,   332,   333,
 
2011
     630,   382,   940,   631,   802,   326,   327,   328,   329,   330,
 
2012
     331,   332,   333,   976,   748,   748,   748,   383,   748,   748,
 
2013
     750,   811,   753,   277,   376,   928,   632,   456,   457,   462,
 
2014
      81,   906,    81,   456,   457,   466,   765,   834,    81,     0,
 
2015
      81,   771,   748,   748,   748,   748,   735,     0,   623,   624,
 
2016
     625,   626,     0,     0,   201,     0,     0,   756,   757,   414,
 
2017
     758,   681,   795,   208,     0,   110,    44,    45,     0,   528,
 
2018
       0,     0,     0,   537,     0,   748,   748,   748,   748,   669,
 
2019
     528,     0,     0,   736,     0,   110,     0,   110,   110,   748,
 
2020
     338,   110,     0,   110,     0,   812,     0,   748,   110,     0,
 
2021
       0,     0,     0,   817,   818,   308,     0,     0,     0,   110,
 
2022
     110,     0,   868,     0,   869,     0,     0,   823,     0,     0,
 
2023
     321,   322,     0,     0,   877,     0,     0,     0,   829,   879,
 
2024
     831,   832,   837,     0,   735,   840,   623,   624,   625,   626,
 
2025
       0,     0,   841,     0,     0,   850,     0,   852,   854,     0,
 
2026
       0,     0,     0,   328,   329,   330,   331,   332,   333,     0,
 
2027
     110,   110,   110,   110,   110,   110,   110,   110,     0,     0,
 
2028
     110,   736,   110,     0,     0,   110,     0,   737,     0,   843,
 
2029
     863,   623,   624,   625,   626,   921,   922,   870,   871,     0,
 
2030
       0,   873,   203,   203,     0,     0,   203,     0,     0,     0,
 
2031
       0,   878,     0,   110,     0,   110,     0,   883,     0,   110,
 
2032
     110,     0,     0,   884,   893,   895,     0,   897,   889,   899,
 
2033
     900,     0,   236,   239,   110,     0,     0,   203,   203,     0,
 
2034
       0,     0,     0,     0,   908,     0,   911,     0,   286,   287,
 
2035
       0,   735,   956,   623,   624,   625,   626,     0,     0,     0,
 
2036
       0,   919,   110,   110,   293,   294,   295,   296,   297,     0,
 
2037
       0,     0,     0,     0,     0,     0,     0,     0,   110,     0,
 
2038
     978,     0,   979,     0,     0,   934,     0,   936,   736,     0,
 
2039
       0,   937,     0,     0,   887,     0,   942,   944,   945,     0,
 
2040
     947,   948,   110,   622,     0,   623,   624,   625,   626,     0,
 
2041
       0,   110,     0,     0,     0,   953,     0,   954,     0,     0,
 
2042
       0,     0,     0,   955,   960,   962,   963,   964,     0,     0,
 
2043
     110,     0,     0,     0,   967,     0,   969,     0,     0,   970,
 
2044
     627,     0,     0,     0,     0,     0,   628,   629,     0,     0,
 
2045
       0,     0,     0,     0,   981,     0,     0,   982,   984,   985,
 
2046
     986,     0,     0,     0,     0,     0,     0,   630,     0,     0,
 
2047
     631,   988,     0,     0,     0,     0,   989,     0,     0,   990,
 
2048
       0,   203,     0,     0,   203,   203,   286,     0,     0,     0,
 
2049
     105,     0,   105,   708,     0,   622,     0,   623,   624,   625,
 
2050
     626,     0,     0,   203,     0,   203,   203,     0,     0,     0,
 
2051
       0,   108,     0,   108,     0,     0,     0,     0,     0,     0,
 
2052
     110,     0,   110,   761,     0,   623,   624,   625,   626,     0,
 
2053
     110,     0,   627,     0,     0,     0,     0,   105,   628,   629,
 
2054
       0,   265,   110,     0,   110,   110,     0,     0,     0,     0,
 
2055
       0,     0,     0,     0,     0,     0,     0,     0,   108,   630,
 
2056
     627,     0,   631,     0,   265,     0,   628,   629,     0,     0,
 
2057
       0,     0,     0,     0,     0,     0,   351,   361,   361,   361,
 
2058
       0,     0,   110,     0,     0,     0,     0,   630,   203,     0,
 
2059
     631,     0,     0,   496,   499,   500,   501,   502,   503,   504,
 
2060
     505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
 
2061
     515,   516,   517,   518,   519,   520,   521,   522,   523,   524,
 
2062
       0,   203,     0,     0,     0,     0,     0,     0,     0,     0,
 
2063
       0,     0,   110,     0,     0,     0,     0,     0,     0,     0,
 
2064
     110,     0,     0,   110,   110,     0,     0,     0,     0,   110,
 
2065
     110,     0,   308,   309,   310,   311,   312,   313,   314,   315,
 
2066
     316,   317,   318,  -574,  -574,     0,     0,   321,   322,     0,
 
2067
     579,   581,     0,     0,     0,   110,     0,     0,   110,   110,
 
2068
     585,   203,   203,     0,     0,   105,   203,   110,   579,   581,
 
2069
     203,     0,     0,     0,   110,   110,   324,   325,   326,   327,
 
2070
     328,   329,   330,   331,   332,   333,   108,     0,     0,   605,
 
2071
       0,     0,     0,     0,   610,     0,     0,     0,   105,     0,
 
2072
       0,   110,   110,   203,     0,     0,   203,     0,     0,   105,
 
2073
     105,     0,     0,   110,     0,     0,     0,     0,   203,   108,
 
2074
       0,     0,     0,     0,     0,     0,     0,     0,     0,   265,
 
2075
     108,   108,     0,     0,     0,     0,     0,     0,   650,   651,
 
2076
       0,   110,     0,     0,     0,     0,     0,     0,     0,     0,
 
2077
     203,   110,     0,     0,   110,     0,     0,     0,   110,   110,
 
2078
     105,     0,   110,     0,     0,   105,     0,     0,     0,     0,
 
2079
       0,     0,   105,   265,     0,     0,     0,   109,   110,   109,
 
2080
       0,   108,     0,     0,     0,     0,   108,     0,     0,     0,
 
2081
       0,     0,     0,   108,     0,     0,     0,     0,     0,     0,
 
2082
       0,     0,     0,     0,     0,   105,     0,   106,     0,   106,
 
2083
       0,     0,     0,     0,   203,     0,     0,     0,   203,     0,
 
2084
       0,     0,   110,     0,   109,    78,   108,    78,   267,     0,
 
2085
     203,     0,     0,   110,     0,     0,     0,     0,     0,     0,
 
2086
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2087
       0,   267,     0,   203,   106,     0,     0,     0,   266,     0,
 
2088
       0,     0,     0,   353,   363,   363,   203,   203,     0,     0,
 
2089
       0,     0,    78,     0,     0,     0,   110,     0,   110,     0,
 
2090
       0,   266,     0,     0,   110,     0,   110,     0,     0,     0,
 
2091
       0,     0,   105,   352,   362,   362,   362,     0,     0,     0,
 
2092
       0,   105,     0,     0,     0,     0,     0,     0,     0,   110,
 
2093
       0,   348,     0,   108,     0,     0,     0,     0,   265,     0,
 
2094
       0,     0,   108,     0,   203,     0,     0,     0,   585,   775,
 
2095
       0,   778,   780,     0,     0,     0,     0,   785,   787,  -573,
 
2096
       0,     0,     0,     0,     0,   203,     0,  -573,  -573,  -573,
 
2097
       0,     0,  -573,  -573,  -573,     0,  -573,     0,   265,     0,
 
2098
       0,     0,     0,     0,     0,     0,  -573,     0,     0,     0,
 
2099
       0,     0,   109,     0,     0,     0,  -573,  -573,     0,  -573,
 
2100
    -573,  -573,  -573,  -573,   819,     0,     0,     0,     0,   778,
 
2101
     780,     0,   785,   787,     0,     0,     0,     0,     0,     0,
 
2102
     203,     0,   106,     0,     0,   109,     0,     0,     0,     0,
 
2103
     105,     0,   105,     0,     0,     0,   109,   109,     0,     0,
 
2104
      78,     0,     0,     0,  -573,     0,     0,     0,     0,     0,
 
2105
       0,   108,     0,   108,   105,   106,   267,     0,   203,     0,
 
2106
       0,     0,   857,     0,     0,     0,   106,   106,     0,   859,
 
2107
       0,     0,     0,    78,     0,   108,     0,     0,     0,     0,
 
2108
       0,     0,     0,     0,    78,    78,   266,   109,     0,   203,
 
2109
       0,     0,   109,     0,     0,     0,  -573,     0,  -573,   109,
 
2110
     267,   220,  -573,   265,  -573,     0,  -573,   859,   203,     0,
 
2111
       0,     0,     0,     0,     0,     0,     0,   106,     0,     0,
 
2112
       0,     0,   106,     0,     0,     0,     0,     0,     0,   106,
 
2113
     266,     0,   109,     0,     0,    78,     0,     0,     0,     0,
 
2114
      78,     0,   105,     0,     0,     0,     0,    78,     0,   265,
 
2115
     495,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2116
       0,     0,   106,   108,     0,     0,     0,     0,     0,     0,
 
2117
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2118
      78,     0,     0,     0,     0,     0,     0,     0,     0,   105,
 
2119
       0,     0,     0,     0,     0,     0,     0,   105,     0,     0,
 
2120
       0,     0,     0,     0,   105,   105,     0,     0,     0,     0,
 
2121
     108,     0,     0,     0,     0,     0,     0,     0,   108,   109,
 
2122
       0,     0,     0,     0,     0,   108,   108,     0,   109,     0,
 
2123
       0,   105,   105,     0,     0,     0,     0,   203,     0,     0,
 
2124
       0,     0,     0,   105,     0,   267,     0,     0,     0,   106,
 
2125
       0,     0,   108,   108,     0,     0,     0,     0,   106,     0,
 
2126
       0,     0,     0,     0,   108,     0,     0,    78,     0,     0,
 
2127
       0,     0,     0,     0,     0,   266,    78,     0,     0,     0,
 
2128
       0,   105,     0,     0,     0,   267,     0,     0,   105,   105,
 
2129
       0,     0,   105,     0,     0,     0,     0,     0,     0,     0,
 
2130
       0,     0,   108,     0,     0,     0,     0,     0,   105,   108,
 
2131
     108,     0,     0,   108,     0,   266,     0,     0,     0,     0,
 
2132
       0,     0,     0,     0,     0,     0,     0,     0,     0,   108,
 
2133
     361,     0,     0,     0,     0,     0,     0,   109,     0,   109,
 
2134
       0,     0,     0,     0,     0,     0,     0,     0,   915,     0,
 
2135
       0,     0,   105,     0,     0,     0,     0,     0,     0,     0,
 
2136
       0,   109,     0,   105,     0,     0,     0,   106,     0,   106,
 
2137
       0,     0,     0,   108,     0,     0,     0,     0,     0,     0,
 
2138
       0,     0,     0,     0,   108,    78,     0,    78,     0,     0,
 
2139
       0,   106,     0,     0,     0,     0,     0,     0,     0,     0,
 
2140
       0,     0,     0,     0,     0,     0,   105,     0,   105,    78,
 
2141
     267,     0,     0,     0,   105,     0,   105,     0,     0,     0,
 
2142
       0,     0,     0,     0,     0,     0,     0,   108,     0,   108,
 
2143
       0,     0,     0,     0,     0,   108,     0,   108,     0,     0,
 
2144
     266,   760,     0,     0,     0,     0,     0,     0,     0,   109,
 
2145
       0,     0,     0,     0,     0,     0,   267,     0,     0,     0,
 
2146
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2147
       0,     0,   308,  -574,  -574,  -574,  -574,   313,   314,   106,
 
2148
       0,  -574,  -574,     0,     0,     0,   266,   321,   322,     0,
 
2149
       0,     0,     0,     0,     0,     0,   109,    78,     0,     0,
 
2150
       0,     0,     0,     0,   109,   495,     0,     0,     0,     0,
 
2151
       0,   109,   109,     0,     0,     0,   324,   325,   326,   327,
 
2152
     328,   329,   330,   331,   332,   333,   106,     0,     0,     0,
 
2153
       0,     0,     0,     0,   106,     0,     0,     0,   109,   109,
 
2154
       0,   106,   106,     0,    78,     0,     0,     0,     0,     0,
 
2155
     109,     0,    78,     0,     0,     0,     0,     0,     0,    78,
 
2156
      78,   308,   309,   310,   311,   312,   313,   314,   106,   106,
 
2157
     317,   318,     0,     0,     0,     0,   321,   322,     0,     0,
 
2158
     106,     0,     0,     0,     0,     0,    78,    78,   109,     0,
 
2159
       0,     0,     0,     0,     0,   109,   109,     0,    78,   109,
 
2160
       0,     0,     0,     0,     0,   324,   325,   326,   327,   328,
 
2161
     329,   330,   331,   332,   333,   109,     0,     0,   106,     0,
 
2162
       0,     0,     0,     0,     0,   106,   106,     0,     0,   106,
 
2163
       0,     0,     0,     0,     0,     0,    78,   363,     0,     0,
 
2164
       0,     0,     0,    78,    78,   106,     0,    78,     0,     0,
 
2165
       0,     0,     0,     0,     0,   917,     0,     0,     0,   109,
 
2166
       0,     0,     0,    78,     0,     0,     0,   362,     0,     0,
 
2167
     109,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2168
       0,     0,     0,     0,     0,   916,     0,     0,     0,   106,
 
2169
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2170
     106,     0,     0,   913,     0,     0,     0,    78,     0,     0,
 
2171
       0,     0,     0,   109,     0,   109,     0,     0,    78,     0,
 
2172
       0,   109,     0,   109,     0,     0,     0,     0,     0,     0,
 
2173
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2174
       0,     0,     0,   106,     0,   106,     0,     0,     0,     0,
 
2175
       0,   106,     0,   106,     0,     0,     0,     0,     0,     0,
 
2176
       0,    78,     0,    78,     0,     0,     0,     0,     0,    78,
 
2177
       0,    78,  -573,     4,     0,     5,     6,     7,     8,     9,
 
2178
       0,     0,     0,    10,    11,     0,     0,     0,    12,     0,
2281
2179
      13,    14,    15,    16,    17,    18,    19,     0,     0,     0,
2282
2180
       0,     0,    20,    21,    22,    23,    24,    25,    26,     0,
2283
 
       0,    27,     0,     0,     0,     0,     0,    28,    29,     0,
 
2181
       0,    27,     0,     0,     0,     0,     0,    28,    29,    30,
2284
2182
      31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
2285
2183
       0,    41,    42,     0,    43,    44,    45,     0,    46,    47,
2286
2184
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2288
2186
       0,    49,    50,     0,    51,    52,     0,    53,     0,    54,
2289
2187
      55,    56,    57,    58,    59,    60,     0,     0,     0,     0,
2290
2188
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2291
 
       0,     0,     0,     0,    61,    62,    63,     0,     0,     0,
2292
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2293
 
       0,     0,     0,     0,     0,     0,     0,  -565,   238,  -565,
2294
 
       5,     6,     7,     8,     9,     0,     0,  -565,    10,    11,
2295
 
       0,     0,  -565,    12,  -565,    13,    14,    15,    16,    17,
2296
 
      18,    19,     0,     0,     0,     0,     0,    20,    21,    22,
2297
 
      23,    24,    25,    26,     0,     0,    27,     0,     0,     0,
2298
 
       0,     0,    28,    29,     0,    31,    32,    33,    34,    35,
2299
 
      36,    37,    38,    39,    40,     0,    41,    42,     0,    43,
2300
 
      44,    45,     0,    46,    47,     0,     0,     0,     0,     0,
2301
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2302
 
       0,     0,     0,    48,     0,     0,    49,    50,     0,    51,
2303
 
      52,     0,    53,     0,    54,    55,    56,    57,    58,    59,
2304
 
      60,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2305
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,    61,
2306
 
      62,    63,     0,     0,     0,     0,     0,     0,     4,     0,
 
2189
       0,     0,     0,  -285,    61,    62,    63,     0,     0,     0,
 
2190
       0,  -285,  -285,  -285,     0,     0,  -285,  -285,  -285,     0,
 
2191
    -285,     0,     0,     0,     0,     0,     0,  -573,     0,  -573,
 
2192
    -285,  -285,  -285,     0,     0,     0,     0,     0,     0,     0,
 
2193
    -285,  -285,     0,  -285,  -285,  -285,  -285,  -285,     0,     0,
 
2194
       0,     0,     0,     0,   308,   309,   310,   311,   312,   313,
 
2195
     314,   315,   316,   317,   318,   319,   320,     0,     0,   321,
 
2196
     322,  -285,  -285,  -285,  -285,  -285,  -285,  -285,  -285,  -285,
 
2197
    -285,  -285,  -285,  -285,     0,     0,  -285,  -285,  -285,     0,
 
2198
     724,  -285,     0,     0,     0,     0,   323,  -285,   324,   325,
 
2199
     326,   327,   328,   329,   330,   331,   332,   333,     0,     0,
 
2200
    -285,     0,  -105,  -285,  -285,  -285,  -285,  -285,  -285,  -285,
 
2201
    -285,  -285,  -285,  -285,  -285,     0,     0,     0,     0,     0,
 
2202
       0,     0,     0,   224,     0,     0,     0,     0,     0,     0,
 
2203
    -285,  -285,  -285,  -285,  -411,     0,  -285,  -285,  -285,     0,
 
2204
    -285,     0,  -411,  -411,  -411,     0,     0,  -411,  -411,  -411,
 
2205
       0,  -411,     0,     0,     0,     0,     0,     0,     0,     0,
 
2206
    -411,  -411,  -411,     0,     0,     0,     0,     0,     0,     0,
 
2207
       0,  -411,  -411,     0,  -411,  -411,  -411,  -411,  -411,     0,
 
2208
       0,     0,     0,     0,     0,   308,   309,   310,   311,   312,
 
2209
     313,   314,   315,   316,   317,   318,   319,   320,     0,     0,
 
2210
     321,   322,  -411,  -411,  -411,  -411,  -411,  -411,  -411,  -411,
 
2211
    -411,  -411,  -411,  -411,  -411,     0,     0,  -411,  -411,  -411,
 
2212
       0,     0,  -411,     0,     0,     0,     0,   323,  -411,   324,
 
2213
     325,   326,   327,   328,   329,   330,   331,   332,   333,     0,
 
2214
       0,     0,     0,     0,  -411,     0,  -411,  -411,  -411,  -411,
 
2215
    -411,  -411,  -411,  -411,  -411,  -411,     0,     0,     0,     0,
 
2216
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2217
    -411,  -411,  -411,  -411,  -411,  -279,   220,  -411,  -411,  -411,
 
2218
       0,  -411,     0,  -279,  -279,  -279,     0,     0,  -279,  -279,
 
2219
    -279,     0,  -279,     0,     0,     0,     0,     0,     0,     0,
 
2220
       0,     0,  -279,  -279,  -279,     0,     0,     0,     0,     0,
 
2221
       0,     0,  -279,  -279,     0,  -279,  -279,  -279,  -279,  -279,
 
2222
       0,     0,     0,     0,     0,     0,   308,   309,   310,   311,
 
2223
     312,   313,   314,   315,     0,   317,   318,     0,     0,     0,
 
2224
       0,   321,   322,  -279,  -279,  -279,  -279,  -279,  -279,  -279,
 
2225
    -279,  -279,  -279,  -279,  -279,  -279,     0,     0,  -279,  -279,
 
2226
    -279,     0,     0,  -279,     0,     0,     0,     0,     0,  -279,
 
2227
     324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
 
2228
       0,     0,  -279,     0,     0,  -279,  -279,  -279,  -279,  -279,
 
2229
    -279,  -279,  -279,  -279,  -279,  -279,  -279,     0,     0,     0,
 
2230
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2231
       0,     0,  -279,  -279,  -279,  -279,  -573,     0,  -279,  -279,
 
2232
    -279,     0,  -279,     0,  -573,  -573,  -573,     0,     0,  -573,
 
2233
    -573,  -573,     0,  -573,     0,     0,     0,     0,     0,     0,
 
2234
       0,     0,  -573,  -573,  -573,     0,     0,     0,     0,     0,
 
2235
       0,     0,     0,  -573,  -573,     0,  -573,  -573,  -573,  -573,
 
2236
    -573,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2237
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2238
       0,     0,     0,     0,  -573,  -573,  -573,  -573,  -573,  -573,
 
2239
    -573,  -573,  -573,  -573,  -573,  -573,  -573,     0,     0,  -573,
 
2240
    -573,  -573,     0,     0,  -573,     0,     0,     0,     0,     0,
 
2241
    -573,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2242
       0,     0,     0,     0,     0,     0,  -573,     0,  -573,  -573,
 
2243
    -573,  -573,  -573,  -573,  -573,  -573,  -573,  -573,     0,     0,
 
2244
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2245
       0,     0,  -573,  -573,  -573,  -573,  -573,  -292,   220,  -573,
 
2246
    -573,  -573,     0,  -573,     0,  -292,  -292,  -292,     0,     0,
 
2247
    -292,  -292,  -292,     0,  -292,     0,     0,     0,     0,     0,
 
2248
       0,     0,     0,     0,  -292,  -292,     0,     0,     0,     0,
 
2249
       0,     0,     0,     0,  -292,  -292,     0,  -292,  -292,  -292,
 
2250
    -292,  -292,     0,     0,     0,     0,     0,     0,     0,     0,
 
2251
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2252
       0,     0,     0,     0,     0,  -292,  -292,  -292,  -292,  -292,
 
2253
    -292,  -292,  -292,  -292,  -292,  -292,  -292,  -292,     0,     0,
 
2254
    -292,  -292,  -292,     0,     0,  -292,     0,     0,     0,     0,
 
2255
       0,  -292,     0,     0,     0,     0,     0,     0,     0,     0,
 
2256
       0,     0,     0,     0,     0,     0,     0,  -292,     0,  -292,
 
2257
    -292,  -292,  -292,  -292,  -292,  -292,  -292,  -292,  -292,     0,
 
2258
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2259
       0,     0,     0,     0,  -292,  -292,  -292,  -292,  -555,   217,
 
2260
    -292,  -292,  -292,     0,  -292,     0,  -555,  -555,  -555,     0,
 
2261
       0,     0,  -555,  -555,     0,  -555,     0,     0,     0,     0,
 
2262
       0,     0,     0,     0,  -555,     0,     0,     0,     0,     0,
 
2263
       0,     0,     0,     0,     0,  -555,  -555,     0,  -555,  -555,
 
2264
    -555,  -555,  -555,     0,     0,     0,     0,     0,     0,     0,
 
2265
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2266
       0,     0,     0,     0,     0,     0,  -555,  -555,  -555,  -555,
 
2267
    -555,  -555,  -555,  -555,  -555,  -555,  -555,  -555,  -555,     0,
 
2268
       0,  -555,  -555,  -555,  -285,   665,     0,     0,     0,     0,
 
2269
       0,     0,  -285,  -285,  -285,     0,     0,     0,  -285,  -285,
 
2270
       0,  -285,     0,     0,     0,     0,     0,  -103,  -555,     0,
 
2271
    -555,  -555,  -555,  -555,  -555,  -555,  -555,  -555,  -555,  -555,
 
2272
       0,  -285,  -285,     0,  -285,  -285,  -285,  -285,  -285,     0,
 
2273
       0,     0,     0,     0,  -555,  -555,  -555,  -555,   -94,     0,
 
2274
       0,  -555,     0,  -555,     0,  -555,     0,     0,     0,     0,
 
2275
       0,     0,  -285,  -285,  -285,  -285,  -285,  -285,  -285,  -285,
 
2276
    -285,  -285,  -285,  -285,  -285,     0,     0,  -285,  -285,  -285,
 
2277
       0,   666,     0,     0,     0,     0,     0,     0,     0,     0,
 
2278
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2279
       0,     0,     0,  -105,  -285,     0,  -285,  -285,  -285,  -285,
 
2280
    -285,  -285,  -285,  -285,  -285,  -285,     0,     0,     0,     0,
 
2281
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2282
       0,  -285,  -285,  -285,   -96,     0,     0,  -285,     0,  -285,
 
2283
     241,  -285,     5,     6,     7,     8,     9,  -573,  -573,  -573,
 
2284
      10,    11,     0,     0,  -573,    12,     0,    13,    14,    15,
 
2285
      16,    17,    18,    19,     0,     0,     0,     0,     0,    20,
 
2286
      21,    22,    23,    24,    25,    26,     0,     0,    27,     0,
 
2287
       0,     0,     0,     0,    28,    29,     0,    31,    32,    33,
 
2288
      34,    35,    36,    37,    38,    39,    40,     0,    41,    42,
 
2289
       0,    43,    44,    45,     0,    46,    47,     0,     0,     0,
 
2290
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2291
       0,     0,     0,     0,     0,    48,     0,     0,    49,    50,
 
2292
       0,    51,    52,     0,    53,     0,    54,    55,    56,    57,
 
2293
      58,    59,    60,     0,     0,     0,     0,     0,     0,     0,
 
2294
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2295
       0,    61,    62,    63,     0,     0,     0,     0,     0,     0,
 
2296
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2297
       0,     0,     0,     0,  -573,   241,  -573,     5,     6,     7,
 
2298
       8,     9,     0,     0,  -573,    10,    11,     0,  -573,  -573,
 
2299
      12,     0,    13,    14,    15,    16,    17,    18,    19,     0,
 
2300
       0,     0,     0,     0,    20,    21,    22,    23,    24,    25,
 
2301
      26,     0,     0,    27,     0,     0,     0,     0,     0,    28,
 
2302
      29,     0,    31,    32,    33,    34,    35,    36,    37,    38,
 
2303
      39,    40,     0,    41,    42,     0,    43,    44,    45,     0,
 
2304
      46,    47,     0,     0,     0,     0,     0,     0,     0,     0,
 
2305
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2306
      48,     0,     0,    49,    50,     0,    51,    52,     0,    53,
 
2307
       0,    54,    55,    56,    57,    58,    59,    60,     0,     0,
 
2308
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2309
       0,     0,     0,     0,     0,     0,    61,    62,    63,     0,
 
2310
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2311
       0,     0,     0,     0,     0,     0,     0,     0,     0,  -573,
 
2312
     241,  -573,     5,     6,     7,     8,     9,     0,     0,  -573,
 
2313
      10,    11,     0,     0,  -573,    12,  -573,    13,    14,    15,
 
2314
      16,    17,    18,    19,     0,     0,     0,     0,     0,    20,
 
2315
      21,    22,    23,    24,    25,    26,     0,     0,    27,     0,
 
2316
       0,     0,     0,     0,    28,    29,     0,    31,    32,    33,
 
2317
      34,    35,    36,    37,    38,    39,    40,     0,    41,    42,
 
2318
       0,    43,    44,    45,     0,    46,    47,     0,     0,     0,
 
2319
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2320
       0,     0,     0,     0,     0,    48,     0,     0,    49,    50,
 
2321
       0,    51,    52,     0,    53,     0,    54,    55,    56,    57,
 
2322
      58,    59,    60,     0,     0,     0,     0,     0,     0,     0,
 
2323
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2324
       0,    61,    62,    63,     0,     0,     0,     0,     0,     0,
 
2325
       4,     0,     5,     6,     7,     8,     9,     0,     0,     0,
 
2326
      10,    11,     0,     0,  -573,    12,  -573,    13,    14,    15,
 
2327
      16,    17,    18,    19,     0,     0,     0,     0,     0,    20,
 
2328
      21,    22,    23,    24,    25,    26,     0,     0,    27,     0,
 
2329
       0,     0,     0,     0,    28,    29,    30,    31,    32,    33,
 
2330
      34,    35,    36,    37,    38,    39,    40,     0,    41,    42,
 
2331
       0,    43,    44,    45,     0,    46,    47,     0,     0,     0,
 
2332
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2333
       0,     0,     0,     0,     0,    48,     0,     0,    49,    50,
 
2334
       0,    51,    52,     0,    53,     0,    54,    55,    56,    57,
 
2335
      58,    59,    60,     0,     0,     0,     0,     0,     0,     0,
 
2336
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2337
       0,    61,    62,    63,     0,     0,     0,     0,     0,     0,
 
2338
       0,     0,     0,     0,     0,     0,  -573,     0,     0,     0,
 
2339
       0,     0,     0,     0,  -573,   241,  -573,     5,     6,     7,
 
2340
       8,     9,     0,     0,  -573,    10,    11,     0,     0,  -573,
 
2341
      12,     0,    13,    14,    15,    16,    17,    18,    19,     0,
 
2342
       0,     0,     0,     0,    20,    21,    22,    23,    24,    25,
 
2343
      26,     0,     0,    27,     0,     0,     0,     0,     0,    28,
 
2344
      29,     0,    31,    32,    33,    34,    35,    36,    37,    38,
 
2345
      39,    40,     0,    41,    42,     0,    43,    44,    45,     0,
 
2346
      46,    47,     0,     0,     0,     0,     0,     0,     0,     0,
 
2347
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2348
      48,     0,     0,    49,    50,     0,    51,    52,     0,    53,
 
2349
       0,    54,    55,    56,    57,    58,    59,    60,     0,     0,
 
2350
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2351
       0,     0,     0,     0,     0,     0,    61,    62,    63,     0,
 
2352
       0,     0,     0,     0,     0,   241,     0,     5,     6,     7,
 
2353
       8,     9,     0,  -573,  -573,    10,    11,     0,     0,  -573,
 
2354
      12,  -573,    13,    14,    15,    16,    17,    18,    19,     0,
 
2355
       0,     0,     0,     0,    20,    21,    22,    23,    24,    25,
 
2356
      26,     0,     0,    27,     0,     0,     0,     0,     0,    28,
 
2357
      29,     0,    31,    32,    33,    34,    35,    36,    37,    38,
 
2358
      39,    40,     0,    41,    42,     0,    43,    44,    45,     0,
 
2359
      46,    47,     0,     0,     0,     0,     0,     0,     0,     0,
 
2360
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2361
      48,     0,     0,    49,    50,     0,    51,    52,     0,    53,
 
2362
       0,    54,    55,    56,    57,    58,    59,    60,     0,     0,
 
2363
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2364
       0,     0,     0,     0,     0,     0,    61,    62,    63,     0,
 
2365
       0,     0,     0,     0,     0,   241,     0,     5,     6,     7,
 
2366
       8,     9,     0,     0,     0,    10,    11,     0,     0,  -573,
 
2367
      12,  -573,    13,    14,    15,    16,    17,    18,    19,     0,
 
2368
       0,     0,     0,     0,    20,    21,    22,    23,    24,    25,
 
2369
      26,     0,     0,    27,     0,     0,     0,     0,     0,    28,
 
2370
      29,     0,    31,    32,    33,    34,    35,    36,    37,    38,
 
2371
      39,    40,     0,    41,    42,     0,    43,    44,    45,     0,
 
2372
      46,    47,     0,     0,     0,     0,     0,     0,     0,     0,
 
2373
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2374
      48,     0,     0,   242,    50,     0,    51,    52,     0,    53,
 
2375
       0,    54,    55,    56,    57,    58,    59,    60,     0,     0,
 
2376
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2377
       0,     0,     0,     0,     0,     0,    61,    62,    63,     0,
 
2378
       0,     0,     0,     0,     0,   241,     0,     5,     6,     7,
 
2379
       8,     9,     0,     0,     0,    10,    11,  -573,     0,  -573,
 
2380
      12,  -573,    13,    14,    15,    16,    17,    18,    19,     0,
 
2381
       0,     0,     0,     0,    20,    21,    22,    23,    24,    25,
 
2382
      26,     0,     0,    27,     0,     0,     0,     0,     0,    28,
 
2383
      29,     0,    31,    32,    33,    34,    35,    36,    37,    38,
 
2384
      39,    40,     0,    41,    42,     0,    43,    44,    45,     0,
 
2385
      46,    47,     0,     0,     0,     0,     0,     0,     0,     0,
 
2386
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2387
      48,     0,     0,    49,    50,     0,    51,    52,     0,    53,
 
2388
       0,    54,    55,    56,    57,    58,    59,    60,     0,     0,
 
2389
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2390
       0,     0,     0,     0,     0,     0,    61,    62,    63,     0,
 
2391
       0,     0,     0,     0,     0,   241,     0,     5,     6,     7,
 
2392
       8,     9,     0,     0,     0,    10,    11,  -573,     0,  -573,
 
2393
      12,  -573,    13,    14,    15,    16,    17,    18,    19,     0,
 
2394
       0,     0,     0,     0,    20,    21,    22,    23,    24,    25,
 
2395
      26,     0,     0,    27,     0,     0,     0,     0,     0,    28,
 
2396
      29,     0,    31,    32,    33,    34,    35,    36,    37,    38,
 
2397
      39,    40,     0,    41,    42,     0,    43,    44,    45,     0,
 
2398
      46,    47,     0,     0,     0,     0,     0,     0,     0,     0,
 
2399
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2400
      48,     0,     0,    49,    50,     0,    51,    52,     0,    53,
 
2401
       0,    54,    55,    56,    57,    58,    59,    60,     0,     0,
 
2402
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2403
       0,     0,     0,     0,     0,     0,    61,    62,    63,     0,
 
2404
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2405
       0,  -573,     0,     0,     0,     0,     0,     0,     0,  -573,
 
2406
     241,  -573,     5,     6,     7,     8,     9,     0,     0,  -573,
 
2407
      10,    11,     0,     0,     0,    12,     0,    13,    14,    15,
 
2408
      16,    17,    18,    19,     0,     0,     0,     0,     0,    20,
 
2409
      21,    22,    23,    24,    25,    26,     0,     0,    27,     0,
 
2410
       0,     0,     0,     0,    28,    29,     0,    31,    32,    33,
 
2411
      34,    35,    36,    37,    38,    39,    40,     0,    41,    42,
 
2412
       0,    43,    44,    45,     0,    46,    47,     0,     0,     0,
 
2413
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2414
       0,     0,     0,     0,     0,    48,     0,     0,    49,    50,
 
2415
       0,    51,    52,     0,    53,     0,    54,    55,    56,    57,
 
2416
      58,    59,    60,     0,     0,     0,     0,     0,     0,     0,
 
2417
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2418
       0,    61,    62,    63,     0,     0,     0,     0,     0,     0,
 
2419
       0,     0,     5,     6,     7,     0,     9,     0,     0,     0,
 
2420
      10,    11,     0,     0,  -573,    12,  -573,    13,    14,    15,
 
2421
      16,    17,    18,    19,     0,     0,     0,     0,     0,    20,
 
2422
      21,    22,    23,    24,    25,    26,     0,     0,   194,     0,
 
2423
       0,     0,     0,     0,     0,    29,     0,     0,    32,    33,
 
2424
      34,    35,    36,    37,    38,    39,    40,   195,    41,    42,
 
2425
       0,    43,    44,    45,     0,    46,    47,     0,     0,     0,
 
2426
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2427
       0,     0,     0,     0,     0,   196,     0,     0,   197,    50,
 
2428
       0,    51,    52,     0,   198,   199,    54,    55,    56,    57,
 
2429
      58,    59,    60,     0,     0,     0,     0,     0,     0,     0,
 
2430
       0,     5,     6,     7,     0,     9,     0,     0,     0,    10,
 
2431
      11,    61,   200,    63,    12,     0,    13,    14,    15,    16,
 
2432
      17,    18,    19,     0,     0,     0,     0,     0,    20,    21,
 
2433
      22,    23,    24,    25,    26,     0,   224,    27,     0,     0,
 
2434
       0,     0,     0,     0,    29,     0,     0,    32,    33,    34,
 
2435
      35,    36,    37,    38,    39,    40,     0,    41,    42,     0,
 
2436
      43,    44,    45,     0,    46,    47,     0,     0,     0,     0,
 
2437
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2438
       0,     0,     0,     0,   196,     0,     0,   197,    50,     0,
 
2439
      51,    52,     0,     0,     0,    54,    55,    56,    57,    58,
 
2440
      59,    60,     0,     0,     0,     0,     0,     0,     0,     0,
 
2441
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2442
      61,    62,    63,     0,     0,     0,     0,     0,     0,     0,
 
2443
       0,     5,     6,     7,     0,     9,     0,     0,     0,    10,
 
2444
      11,     0,     0,   288,    12,   289,    13,    14,    15,    16,
 
2445
      17,    18,    19,     0,     0,     0,     0,     0,    20,    21,
 
2446
      22,    23,    24,    25,    26,     0,     0,    27,     0,     0,
 
2447
       0,     0,     0,     0,    29,     0,     0,    32,    33,    34,
 
2448
      35,    36,    37,    38,    39,    40,     0,    41,    42,     0,
 
2449
      43,    44,    45,     0,    46,    47,     0,     0,     0,     0,
 
2450
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2451
       0,     0,     0,     0,   196,     0,     0,   197,    50,     0,
 
2452
      51,    52,     0,     0,     0,    54,    55,    56,    57,    58,
 
2453
      59,    60,     0,     0,     0,     0,     0,     0,     0,     0,
2307
2454
       5,     6,     7,     8,     9,     0,     0,     0,    10,    11,
2308
 
       0,     0,  -565,    12,  -565,    13,    14,    15,    16,    17,
 
2455
      61,    62,    63,    12,     0,    13,    14,    15,    16,    17,
2309
2456
      18,    19,     0,     0,     0,     0,     0,    20,    21,    22,
2310
 
      23,    24,    25,    26,     0,     0,    27,     0,     0,     0,
 
2457
      23,    24,    25,    26,     0,   224,    27,     0,     0,     0,
2311
2458
       0,     0,    28,    29,    30,    31,    32,    33,    34,    35,
2312
2459
      36,    37,    38,    39,    40,     0,    41,    42,     0,    43,
2313
2460
      44,    45,     0,    46,    47,     0,     0,     0,     0,     0,
2316
2463
      52,     0,    53,     0,    54,    55,    56,    57,    58,    59,
2317
2464
      60,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2318
2465
       0,     0,     0,     0,     0,     0,     0,     0,     0,    61,
2319
 
      62,    63,     0,     0,     0,     0,     0,     0,     0,     0,
2320
 
       0,     0,     0,     0,  -565,     0,     0,     0,     0,     0,
2321
 
       0,     0,  -565,   238,  -565,     5,     6,     7,     8,     9,
2322
 
       0,     0,  -565,    10,    11,     0,     0,  -565,    12,     0,
2323
 
      13,    14,    15,    16,    17,    18,    19,     0,     0,     0,
2324
 
       0,     0,    20,    21,    22,    23,    24,    25,    26,     0,
2325
 
       0,    27,     0,     0,     0,     0,     0,    28,    29,     0,
2326
 
      31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
2327
 
       0,    41,    42,     0,    43,    44,    45,     0,    46,    47,
2328
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2329
 
       0,     0,     0,     0,     0,     0,     0,     0,    48,     0,
2330
 
       0,    49,    50,     0,    51,    52,     0,    53,     0,    54,
2331
 
      55,    56,    57,    58,    59,    60,     0,     0,     0,     0,
2332
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2333
 
       0,     0,     0,     0,    61,    62,    63,     0,     0,     0,
2334
 
       0,     0,     0,   238,     0,     5,     6,     7,     8,     9,
2335
 
       0,  -565,  -565,    10,    11,     0,     0,  -565,    12,  -565,
2336
 
      13,    14,    15,    16,    17,    18,    19,     0,     0,     0,
2337
 
       0,     0,    20,    21,    22,    23,    24,    25,    26,     0,
2338
 
       0,    27,     0,     0,     0,     0,     0,    28,    29,     0,
2339
 
      31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
2340
 
       0,    41,    42,     0,    43,    44,    45,     0,    46,    47,
2341
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2342
 
       0,     0,     0,     0,     0,     0,     0,     0,    48,     0,
2343
 
       0,    49,    50,     0,    51,    52,     0,    53,     0,    54,
2344
 
      55,    56,    57,    58,    59,    60,     0,     0,     0,     0,
2345
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2346
 
       0,     0,     0,     0,    61,    62,    63,     0,     0,     0,
2347
 
       0,     0,     0,   238,     0,     5,     6,     7,     8,     9,
2348
 
       0,     0,     0,    10,    11,     0,     0,  -565,    12,  -565,
2349
 
      13,    14,    15,    16,    17,    18,    19,     0,     0,     0,
2350
 
       0,     0,    20,    21,    22,    23,    24,    25,    26,     0,
2351
 
       0,    27,     0,     0,     0,     0,     0,    28,    29,     0,
2352
 
      31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
2353
 
       0,    41,    42,     0,    43,    44,    45,     0,    46,    47,
2354
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2355
 
       0,     0,     0,     0,     0,     0,     0,     0,    48,     0,
2356
 
       0,   239,    50,     0,    51,    52,     0,    53,     0,    54,
2357
 
      55,    56,    57,    58,    59,    60,     0,     0,     0,     0,
2358
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2359
 
       0,     0,     0,     0,    61,    62,    63,     0,     0,     0,
2360
 
       0,     0,     0,   238,     0,     5,     6,     7,     8,     9,
2361
 
       0,     0,     0,    10,    11,  -565,     0,  -565,    12,  -565,
2362
 
      13,    14,    15,    16,    17,    18,    19,     0,     0,     0,
2363
 
       0,     0,    20,    21,    22,    23,    24,    25,    26,     0,
2364
 
       0,    27,     0,     0,     0,     0,     0,    28,    29,     0,
2365
 
      31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
2366
 
       0,    41,    42,     0,    43,    44,    45,     0,    46,    47,
2367
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2368
 
       0,     0,     0,     0,     0,     0,     0,     0,    48,     0,
2369
 
       0,    49,    50,     0,    51,    52,     0,    53,     0,    54,
2370
 
      55,    56,    57,    58,    59,    60,     0,     0,     0,     0,
2371
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2372
 
       0,     0,     0,     0,    61,    62,    63,     0,     0,     0,
2373
 
       0,     0,     0,   238,     0,     5,     6,     7,     8,     9,
2374
 
       0,     0,     0,    10,    11,  -565,     0,  -565,    12,  -565,
2375
 
      13,    14,    15,    16,    17,    18,    19,     0,     0,     0,
2376
 
       0,     0,    20,    21,    22,    23,    24,    25,    26,     0,
2377
 
       0,    27,     0,     0,     0,     0,     0,    28,    29,     0,
2378
 
      31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
2379
 
       0,    41,    42,     0,    43,    44,    45,     0,    46,    47,
2380
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2381
 
       0,     0,     0,     0,     0,     0,     0,     0,    48,     0,
2382
 
       0,    49,    50,     0,    51,    52,     0,    53,     0,    54,
2383
 
      55,    56,    57,    58,    59,    60,     0,     0,     0,     0,
2384
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2385
 
       0,     0,     0,     0,    61,    62,    63,     0,     0,     0,
2386
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,  -565,
2387
 
       0,     0,     0,     0,     0,     0,     0,  -565,   238,  -565,
2388
 
       5,     6,     7,     8,     9,     0,     0,  -565,    10,    11,
2389
 
       0,     0,     0,    12,     0,    13,    14,    15,    16,    17,
2390
 
      18,    19,     0,     0,     0,     0,     0,    20,    21,    22,
2391
 
      23,    24,    25,    26,     0,     0,    27,     0,     0,     0,
2392
 
       0,     0,    28,    29,     0,    31,    32,    33,    34,    35,
2393
 
      36,    37,    38,    39,    40,     0,    41,    42,     0,    43,
2394
 
      44,    45,     0,    46,    47,     0,     0,     0,     0,     0,
2395
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2396
 
       0,     0,     0,    48,     0,     0,    49,    50,     0,    51,
2397
 
      52,     0,    53,     0,    54,    55,    56,    57,    58,    59,
2398
 
      60,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2399
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,    61,
2400
 
      62,    63,     0,     0,     0,     0,     0,     0,     0,     0,
2401
 
       5,     6,     7,     0,     9,     0,     0,     0,    10,    11,
2402
 
       0,     0,  -565,    12,  -565,    13,    14,    15,    16,    17,
2403
 
      18,    19,     0,     0,     0,     0,     0,    20,    21,    22,
2404
 
      23,    24,    25,    26,     0,     0,   192,     0,     0,     0,
2405
 
       0,     0,     0,    29,     0,     0,    32,    33,    34,    35,
2406
 
      36,    37,    38,    39,    40,   193,    41,    42,     0,    43,
2407
 
      44,    45,     0,    46,    47,     0,     0,     0,     0,     0,
2408
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2409
 
       0,     0,     0,   194,     0,     0,   195,    50,     0,    51,
2410
 
      52,     0,   196,   197,    54,    55,    56,    57,    58,    59,
2411
 
      60,     0,     0,     0,     0,     0,     0,     0,     0,     5,
2412
 
       6,     7,     0,     9,     0,     0,     0,    10,    11,    61,
2413
 
     198,    63,    12,     0,    13,    14,    15,    16,    17,    18,
2414
 
      19,     0,     0,     0,     0,     0,    20,    21,    22,    23,
2415
 
      24,    25,    26,     0,   221,    27,     0,     0,     0,     0,
2416
 
       0,     0,    29,     0,     0,    32,    33,    34,    35,    36,
2417
 
      37,    38,    39,    40,     0,    41,    42,     0,    43,    44,
2418
 
      45,     0,    46,    47,     0,     0,     0,     0,     0,     0,
2419
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2420
 
       0,     0,   194,     0,     0,   195,    50,     0,    51,    52,
2421
 
       0,     0,     0,    54,    55,    56,    57,    58,    59,    60,
2422
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2423
 
       0,     0,     0,     0,     0,     0,     0,     0,    61,    62,
2424
 
      63,     0,     0,     0,     0,     0,     0,     0,     0,     5,
2425
 
       6,     7,     0,     9,     0,     0,     0,    10,    11,     0,
2426
 
       0,   284,    12,   285,    13,    14,    15,    16,    17,    18,
2427
 
      19,     0,     0,     0,     0,     0,    20,    21,    22,    23,
2428
 
      24,    25,    26,     0,     0,    27,     0,     0,     0,     0,
2429
 
       0,     0,    29,     0,     0,    32,    33,    34,    35,    36,
2430
 
      37,    38,    39,    40,     0,    41,    42,     0,    43,    44,
2431
 
      45,     0,    46,    47,     0,     0,     0,     0,     0,     0,
2432
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2433
 
       0,     0,   194,     0,     0,   195,    50,     0,    51,    52,
2434
 
       0,     0,     0,    54,    55,    56,    57,    58,    59,    60,
2435
 
       0,     0,     0,     0,     0,     0,     0,     0,     5,     6,
2436
 
       7,     8,     9,     0,     0,     0,    10,    11,    61,    62,
2437
 
      63,    12,     0,    13,    14,    15,    16,    17,    18,    19,
 
2466
      62,    63,     0,     0,     0,     0,     0,     0,     5,     6,
 
2467
       7,     8,     9,     0,     0,     0,    10,    11,     0,     0,
 
2468
       0,    12,   474,    13,    14,    15,    16,    17,    18,    19,
2438
2469
       0,     0,     0,     0,     0,    20,    21,    22,    23,    24,
2439
 
      25,    26,     0,   221,    27,     0,     0,     0,     0,     0,
2440
 
      28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
 
2470
      25,    26,     0,     0,    27,     0,     0,     0,     0,     0,
 
2471
      28,    29,     0,    31,    32,    33,    34,    35,    36,    37,
2441
2472
      38,    39,    40,     0,    41,    42,     0,    43,    44,    45,
2442
2473
       0,    46,    47,     0,     0,     0,     0,     0,     0,     0,
2443
2474
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2445
2476
      53,     0,    54,    55,    56,    57,    58,    59,    60,     0,
2446
2477
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2447
2478
       0,     0,     0,     0,     0,     0,     0,    61,    62,    63,
2448
 
       0,     0,     0,     0,     0,     0,     5,     6,     7,     8,
2449
 
       9,     0,     0,     0,    10,    11,     0,     0,     0,    12,
2450
 
     466,    13,    14,    15,    16,    17,    18,    19,     0,     0,
2451
 
       0,     0,     0,    20,    21,    22,    23,    24,    25,    26,
2452
 
       0,     0,    27,     0,     0,     0,     0,     0,    28,    29,
2453
 
       0,    31,    32,    33,    34,    35,    36,    37,    38,    39,
2454
 
      40,     0,    41,    42,     0,    43,    44,    45,     0,    46,
2455
 
      47,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2456
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,    48,
2457
 
       0,     0,    49,    50,     0,    51,    52,     0,    53,     0,
2458
 
      54,    55,    56,    57,    58,    59,    60,     0,     0,     0,
2459
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2460
 
       0,     0,     0,     0,     0,    61,    62,    63,     0,     0,
2461
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2462
 
       0,     0,     0,     0,     0,     0,     0,     0,   466,   111,
2463
 
     112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
 
2479
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2480
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2481
     474,   113,   114,   115,   116,   117,   118,   119,   120,   121,
2464
2482
     122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
2465
 
     132,   133,   134,     0,     0,     0,   135,   136,   137,   359,
2466
 
     360,   361,   362,   142,   143,   144,     0,     0,     0,     0,
2467
 
       0,   145,   146,   147,   148,   363,   364,   365,   366,   153,
2468
 
      37,    38,   367,    40,     0,     0,     0,     0,     0,     0,
2469
 
       0,     0,   155,   156,   157,   158,   159,   160,   161,   162,
2470
 
     163,     0,     0,   164,   165,     0,     0,   166,   167,   168,
2471
 
     169,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2472
 
       0,   170,     0,     0,     0,     0,     0,     0,     0,     0,
2473
 
       0,     0,     0,     0,     0,     0,     0,     0,   171,   172,
2474
 
     173,   174,   175,   176,   177,   178,   179,   180,     0,   181,
2475
 
     182,     0,     0,     0,     0,     0,  -540,  -540,  -540,     0,
2476
 
    -540,     0,     0,     0,  -540,  -540,     0,   183,   368,  -540,
2477
 
       0,  -540,  -540,  -540,  -540,  -540,  -540,  -540,     0,  -540,
2478
 
       0,     0,     0,  -540,  -540,  -540,  -540,  -540,  -540,  -540,
2479
 
       0,     0,  -540,     0,     0,     0,     0,     0,     0,  -540,
2480
 
       0,     0,  -540,  -540,  -540,  -540,  -540,  -540,  -540,  -540,
2481
 
    -540,  -540,  -540,  -540,     0,  -540,  -540,  -540,     0,  -540,
2482
 
    -540,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2483
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,  -540,
2484
 
       0,     0,  -540,  -540,     0,  -540,  -540,     0,  -540,  -540,
2485
 
    -540,  -540,  -540,  -540,  -540,  -540,  -540,     0,     0,     0,
2486
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2487
 
       0,     0,     0,     0,     0,  -540,  -540,  -540,     0,     0,
2488
 
       0,     0,     0,  -541,  -541,  -541,     0,  -541,     0,  -540,
2489
 
       0,  -541,  -541,     0,     0,  -540,  -541,     0,  -541,  -541,
2490
 
    -541,  -541,  -541,  -541,  -541,     0,  -541,     0,     0,     0,
2491
 
    -541,  -541,  -541,  -541,  -541,  -541,  -541,     0,     0,  -541,
2492
 
       0,     0,     0,     0,     0,     0,  -541,     0,     0,  -541,
2493
 
    -541,  -541,  -541,  -541,  -541,  -541,  -541,  -541,  -541,  -541,
2494
 
    -541,     0,  -541,  -541,  -541,     0,  -541,  -541,     0,     0,
2495
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2496
 
       0,     0,     0,     0,     0,     0,  -541,     0,     0,  -541,
2497
 
    -541,     0,  -541,  -541,     0,  -541,  -541,  -541,  -541,  -541,
2498
 
    -541,  -541,  -541,  -541,     0,     0,     0,     0,     0,     0,
2499
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2500
 
       0,     0,  -541,  -541,  -541,     0,     0,     0,     0,     0,
2501
 
    -543,  -543,  -543,     0,  -543,     0,  -541,     0,  -543,  -543,
2502
 
       0,     0,  -541,  -543,     0,  -543,  -543,  -543,  -543,  -543,
2503
 
    -543,  -543,     0,     0,     0,     0,     0,  -543,  -543,  -543,
2504
 
    -543,  -543,  -543,  -543,     0,     0,  -543,     0,     0,     0,
2505
 
       0,     0,     0,  -543,     0,     0,  -543,  -543,  -543,  -543,
2506
 
    -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,     0,  -543,
2507
 
    -543,  -543,     0,  -543,  -543,     0,     0,     0,     0,     0,
2508
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2509
 
       0,     0,     0,  -543,   710,     0,  -543,  -543,     0,  -543,
2510
 
    -543,     0,  -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,
2511
 
    -543,     0,     0,     0,     0,     0,   -99,     0,     0,     0,
2512
 
       0,     0,     0,     0,  -545,  -545,  -545,     0,  -545,  -543,
2513
 
    -543,  -543,  -545,  -545,     0,     0,     0,  -545,     0,  -545,
2514
 
    -545,  -545,  -545,  -545,  -545,  -545,     0,     0,     0,  -543,
2515
 
       0,  -545,  -545,  -545,  -545,  -545,  -545,  -545,     0,     0,
2516
 
    -545,     0,     0,     0,     0,     0,     0,  -545,     0,     0,
2517
 
    -545,  -545,  -545,  -545,  -545,  -545,  -545,  -545,  -545,  -545,
2518
 
    -545,  -545,     0,  -545,  -545,  -545,     0,  -545,  -545,     0,
2519
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2520
 
       0,     0,     0,     0,     0,     0,     0,  -545,     0,     0,
2521
 
    -545,  -545,     0,  -545,  -545,     0,  -545,  -545,  -545,  -545,
2522
 
    -545,  -545,  -545,  -545,  -545,     0,     0,     0,     0,     0,
2523
 
       0,     0,     0,     0,     0,     0,     0,     0,  -546,  -546,
2524
 
    -546,     0,  -546,  -545,  -545,  -545,  -546,  -546,     0,     0,
2525
 
       0,  -546,     0,  -546,  -546,  -546,  -546,  -546,  -546,  -546,
2526
 
       0,     0,     0,  -545,     0,  -546,  -546,  -546,  -546,  -546,
2527
 
    -546,  -546,     0,     0,  -546,     0,     0,     0,     0,     0,
2528
 
       0,  -546,     0,     0,  -546,  -546,  -546,  -546,  -546,  -546,
2529
 
    -546,  -546,  -546,  -546,  -546,  -546,     0,  -546,  -546,  -546,
2530
 
       0,  -546,  -546,     0,     0,     0,     0,     0,     0,     0,
2531
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2532
 
       0,  -546,     0,     0,  -546,  -546,     0,  -546,  -546,     0,
2533
 
    -546,  -546,  -546,  -546,  -546,  -546,  -546,  -546,  -546,     0,
2534
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2535
 
       0,     0,     0,     0,     0,     0,     0,  -546,  -546,  -546,
2536
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2537
 
       0,     0,     0,     0,     0,     0,     0,  -546,   111,   112,
 
2483
     132,   133,   134,   135,   136,     0,     0,     0,   137,   138,
 
2484
     139,   365,   366,   367,   368,   144,   145,   146,     0,     0,
 
2485
       0,     0,     0,   147,   148,   149,   150,   369,   370,   371,
 
2486
     372,   155,    37,    38,   373,    40,     0,     0,     0,     0,
 
2487
       0,     0,     0,     0,   157,   158,   159,   160,   161,   162,
 
2488
     163,   164,   165,     0,     0,   166,   167,     0,     0,   168,
 
2489
     169,   170,   171,     0,     0,     0,     0,     0,     0,     0,
 
2490
       0,     0,     0,   172,     0,     0,     0,     0,     0,     0,
 
2491
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2492
     173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
 
2493
       0,   183,   184,     0,     0,     0,     0,     0,  -548,  -548,
 
2494
    -548,     0,  -548,     0,     0,     0,  -548,  -548,     0,   185,
 
2495
     374,  -548,     0,  -548,  -548,  -548,  -548,  -548,  -548,  -548,
 
2496
       0,  -548,     0,     0,     0,  -548,  -548,  -548,  -548,  -548,
 
2497
    -548,  -548,     0,     0,  -548,     0,     0,     0,     0,     0,
 
2498
       0,  -548,     0,     0,  -548,  -548,  -548,  -548,  -548,  -548,
 
2499
    -548,  -548,  -548,  -548,  -548,  -548,     0,  -548,  -548,  -548,
 
2500
       0,  -548,  -548,     0,     0,     0,     0,     0,     0,     0,
 
2501
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2502
       0,  -548,     0,     0,  -548,  -548,     0,  -548,  -548,     0,
 
2503
    -548,  -548,  -548,  -548,  -548,  -548,  -548,  -548,  -548,     0,
 
2504
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2505
       0,     0,     0,     0,     0,     0,     0,  -548,  -548,  -548,
 
2506
       0,     0,     0,     0,     0,  -549,  -549,  -549,     0,  -549,
 
2507
       0,  -548,     0,  -549,  -549,     0,     0,  -548,  -549,     0,
 
2508
    -549,  -549,  -549,  -549,  -549,  -549,  -549,     0,  -549,     0,
 
2509
       0,     0,  -549,  -549,  -549,  -549,  -549,  -549,  -549,     0,
 
2510
       0,  -549,     0,     0,     0,     0,     0,     0,  -549,     0,
 
2511
       0,  -549,  -549,  -549,  -549,  -549,  -549,  -549,  -549,  -549,
 
2512
    -549,  -549,  -549,     0,  -549,  -549,  -549,     0,  -549,  -549,
 
2513
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2514
       0,     0,     0,     0,     0,     0,     0,     0,  -549,     0,
 
2515
       0,  -549,  -549,     0,  -549,  -549,     0,  -549,  -549,  -549,
 
2516
    -549,  -549,  -549,  -549,  -549,  -549,     0,     0,     0,     0,
 
2517
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2518
       0,     0,     0,     0,  -549,  -549,  -549,     0,     0,     0,
 
2519
       0,     0,  -551,  -551,  -551,     0,  -551,     0,  -549,     0,
 
2520
    -551,  -551,     0,     0,  -549,  -551,     0,  -551,  -551,  -551,
 
2521
    -551,  -551,  -551,  -551,     0,     0,     0,     0,     0,  -551,
 
2522
    -551,  -551,  -551,  -551,  -551,  -551,     0,     0,  -551,     0,
 
2523
       0,     0,     0,     0,     0,  -551,     0,     0,  -551,  -551,
 
2524
    -551,  -551,  -551,  -551,  -551,  -551,  -551,  -551,  -551,  -551,
 
2525
       0,  -551,  -551,  -551,     0,  -551,  -551,     0,     0,     0,
 
2526
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2527
       0,     0,     0,     0,     0,  -551,   723,     0,  -551,  -551,
 
2528
       0,  -551,  -551,     0,  -551,  -551,  -551,  -551,  -551,  -551,
 
2529
    -551,  -551,  -551,     0,     0,     0,     0,     0,  -103,     0,
 
2530
       0,     0,     0,     0,     0,     0,  -553,  -553,  -553,     0,
 
2531
    -553,  -551,  -551,  -551,  -553,  -553,     0,     0,     0,  -553,
 
2532
       0,  -553,  -553,  -553,  -553,  -553,  -553,  -553,     0,     0,
 
2533
       0,  -551,     0,  -553,  -553,  -553,  -553,  -553,  -553,  -553,
 
2534
       0,     0,  -553,     0,     0,     0,     0,     0,     0,  -553,
 
2535
       0,     0,  -553,  -553,  -553,  -553,  -553,  -553,  -553,  -553,
 
2536
    -553,  -553,  -553,  -553,     0,  -553,  -553,  -553,     0,  -553,
 
2537
    -553,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2538
       0,     0,     0,     0,     0,     0,     0,     0,     0,  -553,
 
2539
       0,     0,  -553,  -553,     0,  -553,  -553,     0,  -553,  -553,
 
2540
    -553,  -553,  -553,  -553,  -553,  -553,  -553,     0,     0,     0,
 
2541
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2542
    -554,  -554,  -554,     0,  -554,  -553,  -553,  -553,  -554,  -554,
 
2543
       0,     0,     0,  -554,     0,  -554,  -554,  -554,  -554,  -554,
 
2544
    -554,  -554,     0,     0,     0,  -553,     0,  -554,  -554,  -554,
 
2545
    -554,  -554,  -554,  -554,     0,     0,  -554,     0,     0,     0,
 
2546
       0,     0,     0,  -554,     0,     0,  -554,  -554,  -554,  -554,
 
2547
    -554,  -554,  -554,  -554,  -554,  -554,  -554,  -554,     0,  -554,
 
2548
    -554,  -554,     0,  -554,  -554,     0,     0,     0,     0,     0,
 
2549
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2550
       0,     0,     0,  -554,     0,     0,  -554,  -554,     0,  -554,
 
2551
    -554,     0,  -554,  -554,  -554,  -554,  -554,  -554,  -554,  -554,
 
2552
    -554,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2553
       0,     0,     0,     0,     0,     0,     0,     0,     0,  -554,
 
2554
    -554,  -554,     0,     0,     0,     0,     0,     0,     0,     0,
 
2555
       0,     0,     0,     0,     0,     0,     0,     0,     0,  -554,
2538
2556
     113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
2539
2557
     123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
2540
 
     133,   134,     0,     0,     0,   135,   136,   137,   138,   139,
2541
 
     140,   141,   142,   143,   144,     0,     0,     0,     0,     0,
2542
 
     145,   146,   147,   148,   149,   150,   151,   152,   153,   266,
2543
 
     267,   154,   268,     0,     0,     0,     0,     0,     0,     0,
2544
 
       0,   155,   156,   157,   158,   159,   160,   161,   162,   163,
2545
 
       0,     0,   164,   165,     0,     0,   166,   167,   168,   169,
2546
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2547
 
     170,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2548
 
       0,     0,     0,     0,     0,     0,     0,   171,   172,   173,
2549
 
     174,   175,   176,   177,   178,   179,   180,     0,   181,   182,
2550
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2551
 
       0,     0,     0,     0,     0,     0,   183,   111,   112,   113,
 
2558
     133,   134,   135,   136,     0,     0,     0,   137,   138,   139,
 
2559
     140,   141,   142,   143,   144,   145,   146,     0,     0,     0,
 
2560
       0,     0,   147,   148,   149,   150,   151,   152,   153,   154,
 
2561
     155,   270,   271,   156,   272,     0,     0,     0,     0,     0,
 
2562
       0,     0,     0,   157,   158,   159,   160,   161,   162,   163,
 
2563
     164,   165,     0,     0,   166,   167,     0,     0,   168,   169,
 
2564
     170,   171,     0,     0,     0,     0,     0,     0,     0,     0,
 
2565
       0,     0,   172,     0,     0,     0,     0,     0,     0,     0,
 
2566
       0,     0,     0,     0,     0,     0,     0,     0,     0,   173,
 
2567
     174,   175,   176,   177,   178,   179,   180,   181,   182,     0,
 
2568
     183,   184,     0,     0,     0,     0,     0,     0,     0,     0,
 
2569
       0,     0,     0,     0,     0,     0,     0,     0,   185,   113,
2552
2570
     114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
2553
2571
     124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
2554
 
     134,     0,     0,     0,   135,   136,   137,   138,   139,   140,
2555
 
     141,   142,   143,   144,     0,     0,     0,     0,     0,   145,
2556
 
     146,   147,   148,   149,   150,   151,   152,   153,   223,     0,
2557
 
     154,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2558
 
     155,   156,   157,   158,   159,   160,   161,   162,   163,     0,
2559
 
       0,   164,   165,     0,     0,   166,   167,   168,   169,     0,
2560
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,   170,
2561
 
       0,     0,    55,     0,     0,     0,     0,     0,     0,     0,
2562
 
       0,     0,     0,     0,     0,     0,   171,   172,   173,   174,
2563
 
     175,   176,   177,   178,   179,   180,     0,   181,   182,     0,
2564
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2565
 
       0,     0,     0,     0,     0,   183,   111,   112,   113,   114,
 
2572
     134,   135,   136,     0,     0,     0,   137,   138,   139,   140,
 
2573
     141,   142,   143,   144,   145,   146,     0,     0,     0,     0,
 
2574
       0,   147,   148,   149,   150,   151,   152,   153,   154,   155,
 
2575
     226,     0,   156,     0,     0,     0,     0,     0,     0,     0,
 
2576
       0,     0,   157,   158,   159,   160,   161,   162,   163,   164,
 
2577
     165,     0,     0,   166,   167,     0,     0,   168,   169,   170,
 
2578
     171,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2579
       0,   172,     0,     0,    55,     0,     0,     0,     0,     0,
 
2580
       0,     0,     0,     0,     0,     0,     0,     0,   173,   174,
 
2581
     175,   176,   177,   178,   179,   180,   181,   182,     0,   183,
 
2582
     184,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2583
       0,     0,     0,     0,     0,     0,     0,   185,   113,   114,
2566
2584
     115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
2567
2585
     125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
2568
 
       0,     0,     0,   135,   136,   137,   138,   139,   140,   141,
2569
 
     142,   143,   144,     0,     0,     0,     0,     0,   145,   146,
2570
 
     147,   148,   149,   150,   151,   152,   153,     0,     0,   154,
2571
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,   155,
2572
 
     156,   157,   158,   159,   160,   161,   162,   163,     0,     0,
2573
 
     164,   165,     0,     0,   166,   167,   168,   169,     0,     0,
2574
 
       0,     0,     0,     0,     0,     0,     0,     0,   170,     0,
2575
 
       0,    55,     0,     0,     0,     0,     0,     0,     0,     0,
2576
 
       0,     0,     0,     0,     0,   171,   172,   173,   174,   175,
2577
 
     176,   177,   178,   179,   180,     0,   181,   182,     0,     0,
2578
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2579
 
       0,     0,     0,     0,   183,   111,   112,   113,   114,   115,
 
2586
     135,   136,     0,     0,     0,   137,   138,   139,   140,   141,
 
2587
     142,   143,   144,   145,   146,     0,     0,     0,     0,     0,
 
2588
     147,   148,   149,   150,   151,   152,   153,   154,   155,     0,
 
2589
       0,   156,     0,     0,     0,     0,     0,     0,     0,     0,
 
2590
       0,   157,   158,   159,   160,   161,   162,   163,   164,   165,
 
2591
       0,     0,   166,   167,     0,     0,   168,   169,   170,   171,
 
2592
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2593
     172,     0,     0,    55,     0,     0,     0,     0,     0,     0,
 
2594
       0,     0,     0,     0,     0,     0,     0,   173,   174,   175,
 
2595
     176,   177,   178,   179,   180,   181,   182,     0,   183,   184,
 
2596
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2597
       0,     0,     0,     0,     0,     0,   185,   113,   114,   115,
2580
2598
     116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
2581
 
     126,   127,   128,   129,   130,   131,   132,   133,   134,     0,
2582
 
       0,     0,   135,   136,   137,   138,   139,   140,   141,   142,
2583
 
     143,   144,     0,     0,     0,     0,     0,   145,   146,   147,
2584
 
     148,   149,   150,   151,   152,   153,     0,     0,   154,     0,
2585
 
       0,     0,     0,     0,     0,     0,     0,     0,   155,   156,
2586
 
     157,   158,   159,   160,   161,   162,   163,     0,     0,   164,
2587
 
     165,     0,     0,   166,   167,   168,   169,     0,     0,     0,
2588
 
       0,     0,     0,     0,     0,     0,     0,   170,     0,     0,
2589
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2590
 
       0,     0,     0,     0,   171,   172,   173,   174,   175,   176,
2591
 
     177,   178,   179,   180,     0,   181,   182,     0,     0,     5,
2592
 
       6,     7,     0,     9,     0,     0,     0,    10,    11,     0,
2593
 
       0,     0,    12,   183,    13,    14,    15,   228,   229,    18,
2594
 
      19,     0,     0,     0,     0,     0,   230,   231,   232,    23,
2595
 
      24,    25,    26,     0,     0,   192,     0,     0,     0,     0,
2596
 
       0,     0,   255,     0,     0,    32,    33,    34,    35,    36,
2597
 
      37,    38,    39,    40,     0,    41,    42,     0,    43,    44,
2598
 
      45,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2599
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2600
 
       0,     0,   256,     0,     0,   195,    50,     0,    51,    52,
2601
 
       0,     0,     0,    54,    55,    56,    57,    58,    59,    60,
2602
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2603
 
       0,     5,     6,     7,     0,     9,     0,     0,   257,    10,
2604
 
      11,     0,     0,     0,    12,     0,    13,    14,    15,   228,
2605
 
     229,    18,    19,     0,     0,     0,   258,     0,   230,   231,
2606
 
     232,    23,    24,    25,    26,     0,     0,   192,     0,     0,
2607
 
       0,     0,     0,     0,   255,     0,     0,    32,    33,    34,
 
2599
     126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
 
2600
     136,     0,     0,     0,   137,   138,   139,   140,   141,   142,
 
2601
     143,   144,   145,   146,     0,     0,     0,     0,     0,   147,
 
2602
     148,   149,   150,   151,   152,   153,   154,   155,     0,     0,
 
2603
     156,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2604
     157,   158,   159,   160,   161,   162,   163,   164,   165,     0,
 
2605
       0,   166,   167,     0,     0,   168,   169,   170,   171,     0,
 
2606
       0,     0,     0,     0,     0,     0,     0,     0,     0,   172,
 
2607
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2608
       0,     0,     0,     0,     0,     0,   173,   174,   175,   176,
 
2609
     177,   178,   179,   180,   181,   182,     0,   183,   184,     0,
 
2610
       0,     5,     6,     7,     0,     9,     0,     0,     0,    10,
 
2611
      11,     0,     0,     0,    12,   185,    13,    14,    15,   231,
 
2612
     232,    18,    19,     0,     0,     0,     0,     0,   233,   234,
 
2613
     235,    23,    24,    25,    26,     0,     0,   194,     0,     0,
 
2614
       0,     0,     0,     0,   258,     0,     0,    32,    33,    34,
2608
2615
      35,    36,    37,    38,    39,    40,     0,    41,    42,     0,
2609
2616
      43,    44,    45,     0,     0,     0,     0,     0,     0,     0,
2610
2617
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2611
 
       0,     0,     0,     0,   256,     0,     0,   195,    50,     0,
 
2618
       0,     0,     0,     0,   259,     0,     0,   197,    50,     0,
2612
2619
      51,    52,     0,     0,     0,    54,    55,    56,    57,    58,
2613
2620
      59,    60,     0,     0,     0,     0,     0,     0,     0,     0,
2614
 
       0,     0,     0,     5,     6,     7,     8,     9,     0,     0,
2615
 
     257,    10,    11,     0,     0,     0,    12,     0,    13,    14,
2616
 
      15,    16,    17,    18,    19,     0,     0,     0,   482,     0,
2617
 
      20,    21,    22,    23,    24,    25,    26,     0,     0,    27,
2618
 
       0,     0,     0,     0,     0,    28,    29,    30,    31,    32,
 
2621
       0,     0,     0,     5,     6,     7,     0,     9,     0,     0,
 
2622
     260,    10,    11,     0,     0,     0,    12,     0,    13,    14,
 
2623
      15,   231,   232,    18,    19,     0,     0,     0,   261,     0,
 
2624
     233,   234,   235,    23,    24,    25,    26,     0,     0,   194,
 
2625
       0,     0,     0,     0,     0,     0,   258,     0,     0,    32,
2619
2626
      33,    34,    35,    36,    37,    38,    39,    40,     0,    41,
 
2627
      42,     0,    43,    44,    45,     0,     0,     0,     0,     0,
 
2628
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2629
       0,     0,     0,     0,     0,     0,   259,     0,     0,   197,
 
2630
      50,     0,    51,    52,     0,     0,     0,    54,    55,    56,
 
2631
      57,    58,    59,    60,     0,     0,     0,     0,     0,     0,
 
2632
       0,     0,     0,     0,     0,     5,     6,     7,     8,     9,
 
2633
       0,     0,   260,    10,    11,     0,     0,     0,    12,     0,
 
2634
      13,    14,    15,    16,    17,    18,    19,     0,     0,     0,
 
2635
     490,     0,    20,    21,    22,    23,    24,    25,    26,     0,
 
2636
       0,    27,     0,     0,     0,     0,     0,    28,    29,    30,
 
2637
      31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
 
2638
       0,    41,    42,     0,    43,    44,    45,     0,    46,    47,
 
2639
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2640
       0,     0,     0,     0,     0,     0,     0,     0,    48,     0,
 
2641
       0,    49,    50,     0,    51,    52,     0,    53,     0,    54,
 
2642
      55,    56,    57,    58,    59,    60,     0,     0,     0,     0,
 
2643
       0,     0,     0,     0,     5,     6,     7,     8,     9,     0,
 
2644
       0,     0,    10,    11,    61,    62,    63,    12,     0,    13,
 
2645
      14,    15,    16,    17,    18,    19,     0,     0,     0,     0,
 
2646
       0,    20,    21,    22,    23,    24,    25,    26,     0,     0,
 
2647
      27,     0,     0,     0,     0,     0,    28,    29,     0,    31,
 
2648
      32,    33,    34,    35,    36,    37,    38,    39,    40,     0,
 
2649
      41,    42,     0,    43,    44,    45,     0,    46,    47,     0,
 
2650
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2651
       0,     0,     0,     0,     0,     0,     0,    48,     0,     0,
 
2652
      49,    50,     0,    51,    52,     0,    53,     0,    54,    55,
 
2653
      56,    57,    58,    59,    60,     0,     0,     0,     0,     0,
 
2654
       0,     0,     0,     5,     6,     7,     0,     9,     0,     0,
 
2655
       0,    10,    11,    61,    62,    63,    12,     0,    13,    14,
 
2656
      15,    16,    17,    18,    19,     0,     0,     0,     0,     0,
 
2657
      20,    21,    22,    23,    24,    25,    26,     0,     0,   194,
 
2658
       0,     0,     0,     0,     0,     0,    29,     0,     0,    32,
 
2659
      33,    34,    35,    36,    37,    38,    39,    40,   195,    41,
2620
2660
      42,     0,    43,    44,    45,     0,    46,    47,     0,     0,
2621
2661
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2622
 
       0,     0,     0,     0,     0,     0,    48,     0,     0,    49,
2623
 
      50,     0,    51,    52,     0,    53,     0,    54,    55,    56,
 
2662
       0,     0,     0,     0,     0,     0,   196,     0,     0,   197,
 
2663
      50,     0,    51,    52,     0,   198,   199,    54,    55,    56,
2624
2664
      57,    58,    59,    60,     0,     0,     0,     0,     0,     0,
2625
 
       0,     0,     5,     6,     7,     8,     9,     0,     0,     0,
2626
 
      10,    11,    61,    62,    63,    12,     0,    13,    14,    15,
2627
 
      16,    17,    18,    19,     0,     0,     0,     0,     0,    20,
2628
 
      21,    22,    23,    24,    25,    26,     0,     0,    27,     0,
2629
 
       0,     0,     0,     0,    28,    29,     0,    31,    32,    33,
2630
 
      34,    35,    36,    37,    38,    39,    40,     0,    41,    42,
 
2665
       0,     0,     5,     6,     7,     0,     9,     0,     0,     0,
 
2666
      10,    11,    61,   200,    63,    12,     0,    13,    14,    15,
 
2667
     231,   232,    18,    19,     0,     0,     0,     0,     0,   233,
 
2668
     234,   235,    23,    24,    25,    26,     0,     0,   194,     0,
 
2669
       0,     0,     0,     0,     0,    29,     0,     0,    32,    33,
 
2670
      34,    35,    36,    37,    38,    39,    40,   195,    41,    42,
2631
2671
       0,    43,    44,    45,     0,    46,    47,     0,     0,     0,
2632
2672
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2633
 
       0,     0,     0,     0,     0,    48,     0,     0,    49,    50,
2634
 
       0,    51,    52,     0,    53,     0,    54,    55,    56,    57,
 
2673
       0,     0,     0,     0,     0,   196,     0,     0,   197,    50,
 
2674
       0,    51,    52,     0,   587,   199,    54,    55,    56,    57,
2635
2675
      58,    59,    60,     0,     0,     0,     0,     0,     0,     0,
2636
2676
       0,     5,     6,     7,     0,     9,     0,     0,     0,    10,
2637
 
      11,    61,    62,    63,    12,     0,    13,    14,    15,    16,
2638
 
      17,    18,    19,     0,     0,     0,     0,     0,    20,    21,
2639
 
      22,    23,    24,    25,    26,     0,     0,   192,     0,     0,
 
2677
      11,    61,   200,    63,    12,     0,    13,    14,    15,   231,
 
2678
     232,    18,    19,     0,     0,     0,     0,     0,   233,   234,
 
2679
     235,    23,    24,    25,    26,     0,     0,   194,     0,     0,
2640
2680
       0,     0,     0,     0,    29,     0,     0,    32,    33,    34,
2641
 
      35,    36,    37,    38,    39,    40,   193,    41,    42,     0,
 
2681
      35,    36,    37,    38,    39,    40,   195,    41,    42,     0,
2642
2682
      43,    44,    45,     0,    46,    47,     0,     0,     0,     0,
2643
2683
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2644
 
       0,     0,     0,     0,   194,     0,     0,   195,    50,     0,
2645
 
      51,    52,     0,   196,   197,    54,    55,    56,    57,    58,
 
2684
       0,     0,     0,     0,   196,     0,     0,   197,    50,     0,
 
2685
      51,    52,     0,   198,     0,    54,    55,    56,    57,    58,
2646
2686
      59,    60,     0,     0,     0,     0,     0,     0,     0,     0,
2647
2687
       5,     6,     7,     0,     9,     0,     0,     0,    10,    11,
2648
 
      61,   198,    63,    12,     0,    13,    14,    15,   228,   229,
2649
 
      18,    19,     0,     0,     0,     0,     0,   230,   231,   232,
2650
 
      23,    24,    25,    26,     0,     0,   192,     0,     0,     0,
 
2688
      61,   200,    63,    12,     0,    13,    14,    15,   231,   232,
 
2689
      18,    19,     0,     0,     0,     0,     0,   233,   234,   235,
 
2690
      23,    24,    25,    26,     0,     0,   194,     0,     0,     0,
2651
2691
       0,     0,     0,    29,     0,     0,    32,    33,    34,    35,
2652
 
      36,    37,    38,    39,    40,   193,    41,    42,     0,    43,
 
2692
      36,    37,    38,    39,    40,   195,    41,    42,     0,    43,
2653
2693
      44,    45,     0,    46,    47,     0,     0,     0,     0,     0,
2654
2694
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2655
 
       0,     0,     0,   194,     0,     0,   195,    50,     0,    51,
2656
 
      52,     0,   577,   197,    54,    55,    56,    57,    58,    59,
 
2695
       0,     0,     0,   196,     0,     0,   197,    50,     0,    51,
 
2696
      52,     0,     0,   199,    54,    55,    56,    57,    58,    59,
2657
2697
      60,     0,     0,     0,     0,     0,     0,     0,     0,     5,
2658
2698
       6,     7,     0,     9,     0,     0,     0,    10,    11,    61,
2659
 
     198,    63,    12,     0,    13,    14,    15,   228,   229,    18,
2660
 
      19,     0,     0,     0,     0,     0,   230,   231,   232,    23,
2661
 
      24,    25,    26,     0,     0,   192,     0,     0,     0,     0,
 
2699
     200,    63,    12,     0,    13,    14,    15,   231,   232,    18,
 
2700
      19,     0,     0,     0,     0,     0,   233,   234,   235,    23,
 
2701
      24,    25,    26,     0,     0,   194,     0,     0,     0,     0,
2662
2702
       0,     0,    29,     0,     0,    32,    33,    34,    35,    36,
2663
 
      37,    38,    39,    40,   193,    41,    42,     0,    43,    44,
 
2703
      37,    38,    39,    40,   195,    41,    42,     0,    43,    44,
2664
2704
      45,     0,    46,    47,     0,     0,     0,     0,     0,     0,
2665
2705
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2666
 
       0,     0,   194,     0,     0,   195,    50,     0,    51,    52,
2667
 
       0,   196,     0,    54,    55,    56,    57,    58,    59,    60,
 
2706
       0,     0,   196,     0,     0,   197,    50,     0,    51,    52,
 
2707
       0,   587,     0,    54,    55,    56,    57,    58,    59,    60,
2668
2708
       0,     0,     0,     0,     0,     0,     0,     0,     5,     6,
2669
 
       7,     0,     9,     0,     0,     0,    10,    11,    61,   198,
2670
 
      63,    12,     0,    13,    14,    15,   228,   229,    18,    19,
2671
 
       0,     0,     0,     0,     0,   230,   231,   232,    23,    24,
2672
 
      25,    26,     0,     0,   192,     0,     0,     0,     0,     0,
 
2709
       7,     0,     9,     0,     0,     0,    10,    11,    61,   200,
 
2710
      63,    12,     0,    13,    14,    15,   231,   232,    18,    19,
 
2711
       0,     0,     0,     0,     0,   233,   234,   235,    23,    24,
 
2712
      25,    26,     0,     0,   194,     0,     0,     0,     0,     0,
2673
2713
       0,    29,     0,     0,    32,    33,    34,    35,    36,    37,
2674
 
      38,    39,    40,   193,    41,    42,     0,    43,    44,    45,
 
2714
      38,    39,    40,   195,    41,    42,     0,    43,    44,    45,
2675
2715
       0,    46,    47,     0,     0,     0,     0,     0,     0,     0,
2676
2716
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2677
 
       0,   194,     0,     0,   195,    50,     0,    51,    52,     0,
2678
 
       0,   197,    54,    55,    56,    57,    58,    59,    60,     0,
 
2717
       0,   196,     0,     0,   197,    50,     0,    51,    52,     0,
 
2718
       0,     0,    54,    55,    56,    57,    58,    59,    60,     0,
2679
2719
       0,     0,     0,     0,     0,     0,     0,     5,     6,     7,
2680
 
       0,     9,     0,     0,     0,    10,    11,    61,   198,    63,
2681
 
      12,     0,    13,    14,    15,   228,   229,    18,    19,     0,
2682
 
       0,     0,     0,     0,   230,   231,   232,    23,    24,    25,
2683
 
      26,     0,     0,   192,     0,     0,     0,     0,     0,     0,
 
2720
       0,     9,     0,     0,     0,    10,    11,    61,   200,    63,
 
2721
      12,     0,    13,    14,    15,    16,    17,    18,    19,     0,
 
2722
       0,     0,     0,     0,    20,    21,    22,    23,    24,    25,
 
2723
      26,     0,     0,   194,     0,     0,     0,     0,     0,     0,
2684
2724
      29,     0,     0,    32,    33,    34,    35,    36,    37,    38,
2685
 
      39,    40,   193,    41,    42,     0,    43,    44,    45,     0,
 
2725
      39,    40,     0,    41,    42,     0,    43,    44,    45,     0,
2686
2726
      46,    47,     0,     0,     0,     0,     0,     0,     0,     0,
2687
2727
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2688
 
     194,     0,     0,   195,    50,     0,    51,    52,     0,   577,
 
2728
     196,     0,     0,   197,    50,     0,    51,    52,     0,   484,
2689
2729
       0,    54,    55,    56,    57,    58,    59,    60,     0,     0,
2690
2730
       0,     0,     0,     0,     0,     0,     5,     6,     7,     0,
2691
 
       9,     0,     0,     0,    10,    11,    61,   198,    63,    12,
2692
 
       0,    13,    14,    15,   228,   229,    18,    19,     0,     0,
2693
 
       0,     0,     0,   230,   231,   232,    23,    24,    25,    26,
2694
 
       0,     0,   192,     0,     0,     0,     0,     0,     0,    29,
 
2731
       9,     0,     0,     0,    10,    11,    61,   200,    63,    12,
 
2732
       0,    13,    14,    15,   231,   232,    18,    19,     0,     0,
 
2733
       0,     0,     0,   233,   234,   235,    23,    24,    25,    26,
 
2734
       0,     0,   194,     0,     0,     0,     0,     0,     0,    29,
2695
2735
       0,     0,    32,    33,    34,    35,    36,    37,    38,    39,
2696
 
      40,   193,    41,    42,     0,    43,    44,    45,     0,    46,
 
2736
      40,     0,    41,    42,     0,    43,    44,    45,     0,    46,
2697
2737
      47,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2698
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,   194,
2699
 
       0,     0,   195,    50,     0,    51,    52,     0,     0,     0,
 
2738
       0,     0,     0,     0,     0,     0,     0,     0,     0,   196,
 
2739
       0,     0,   197,    50,     0,    51,    52,     0,   198,     0,
2700
2740
      54,    55,    56,    57,    58,    59,    60,     0,     0,     0,
2701
2741
       0,     0,     0,     0,     0,     5,     6,     7,     0,     9,
2702
 
       0,     0,     0,    10,    11,    61,   198,    63,    12,     0,
2703
 
      13,    14,    15,    16,    17,    18,    19,     0,     0,     0,
2704
 
       0,     0,    20,    21,    22,    23,    24,    25,    26,     0,
2705
 
       0,   192,     0,     0,     0,     0,     0,     0,    29,     0,
 
2742
       0,     0,     0,    10,    11,    61,   200,    63,    12,     0,
 
2743
      13,    14,    15,   231,   232,    18,    19,     0,     0,     0,
 
2744
       0,     0,   233,   234,   235,    23,    24,    25,    26,     0,
 
2745
       0,   194,     0,     0,     0,     0,     0,     0,    29,     0,
2706
2746
       0,    32,    33,    34,    35,    36,    37,    38,    39,    40,
2707
2747
       0,    41,    42,     0,    43,    44,    45,     0,    46,    47,
2708
2748
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2709
 
       0,     0,     0,     0,     0,     0,     0,     0,   194,     0,
2710
 
       0,   195,    50,     0,    51,    52,     0,   476,     0,    54,
 
2749
       0,     0,     0,     0,     0,     0,     0,     0,   196,     0,
 
2750
       0,   197,    50,     0,    51,    52,     0,   772,     0,    54,
2711
2751
      55,    56,    57,    58,    59,    60,     0,     0,     0,     0,
2712
2752
       0,     0,     0,     0,     5,     6,     7,     0,     9,     0,
2713
 
       0,     0,    10,    11,    61,   198,    63,    12,     0,    13,
2714
 
      14,    15,   228,   229,    18,    19,     0,     0,     0,     0,
2715
 
       0,   230,   231,   232,    23,    24,    25,    26,     0,     0,
2716
 
     192,     0,     0,     0,     0,     0,     0,    29,     0,     0,
 
2753
       0,     0,    10,    11,    61,   200,    63,    12,     0,    13,
 
2754
      14,    15,   231,   232,    18,    19,     0,     0,     0,     0,
 
2755
       0,   233,   234,   235,    23,    24,    25,    26,     0,     0,
 
2756
     194,     0,     0,     0,     0,     0,     0,    29,     0,     0,
2717
2757
      32,    33,    34,    35,    36,    37,    38,    39,    40,     0,
2718
2758
      41,    42,     0,    43,    44,    45,     0,    46,    47,     0,
2719
2759
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2720
 
       0,     0,     0,     0,     0,     0,     0,   194,     0,     0,
2721
 
     195,    50,     0,    51,    52,     0,   196,     0,    54,    55,
 
2760
       0,     0,     0,     0,     0,     0,     0,   196,     0,     0,
 
2761
     197,    50,     0,    51,    52,     0,   484,     0,    54,    55,
2722
2762
      56,    57,    58,    59,    60,     0,     0,     0,     0,     0,
2723
2763
       0,     0,     0,     5,     6,     7,     0,     9,     0,     0,
2724
 
       0,    10,    11,    61,   198,    63,    12,     0,    13,    14,
2725
 
      15,   228,   229,    18,    19,     0,     0,     0,     0,     0,
2726
 
     230,   231,   232,    23,    24,    25,    26,     0,     0,   192,
 
2764
       0,    10,    11,    61,   200,    63,    12,     0,    13,    14,
 
2765
      15,   231,   232,    18,    19,     0,     0,     0,     0,     0,
 
2766
     233,   234,   235,    23,    24,    25,    26,     0,     0,   194,
2727
2767
       0,     0,     0,     0,     0,     0,    29,     0,     0,    32,
2728
2768
      33,    34,    35,    36,    37,    38,    39,    40,     0,    41,
2729
2769
      42,     0,    43,    44,    45,     0,    46,    47,     0,     0,
2730
2770
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2731
 
       0,     0,     0,     0,     0,     0,   194,     0,     0,   195,
2732
 
      50,     0,    51,    52,     0,   758,     0,    54,    55,    56,
 
2771
       0,     0,     0,     0,     0,     0,   196,     0,     0,   197,
 
2772
      50,     0,    51,    52,     0,   587,     0,    54,    55,    56,
2733
2773
      57,    58,    59,    60,     0,     0,     0,     0,     0,     0,
2734
2774
       0,     0,     5,     6,     7,     0,     9,     0,     0,     0,
2735
 
      10,    11,    61,   198,    63,    12,     0,    13,    14,    15,
2736
 
     228,   229,    18,    19,     0,     0,     0,     0,     0,   230,
2737
 
     231,   232,    23,    24,    25,    26,     0,     0,   192,     0,
 
2775
      10,    11,    61,   200,    63,    12,     0,    13,    14,    15,
 
2776
     231,   232,    18,    19,     0,     0,     0,     0,     0,   233,
 
2777
     234,   235,    23,    24,    25,    26,     0,     0,   194,     0,
2738
2778
       0,     0,     0,     0,     0,    29,     0,     0,    32,    33,
2739
2779
      34,    35,    36,    37,    38,    39,    40,     0,    41,    42,
2740
2780
       0,    43,    44,    45,     0,    46,    47,     0,     0,     0,
2741
2781
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2742
 
       0,     0,     0,     0,     0,   194,     0,     0,   195,    50,
2743
 
       0,    51,    52,     0,   476,     0,    54,    55,    56,    57,
 
2782
       0,     0,     0,     0,     0,   196,     0,     0,   197,    50,
 
2783
       0,    51,    52,     0,     0,     0,    54,    55,    56,    57,
2744
2784
      58,    59,    60,     0,     0,     0,     0,     0,     0,     0,
2745
2785
       0,     5,     6,     7,     0,     9,     0,     0,     0,    10,
2746
 
      11,    61,   198,    63,    12,     0,    13,    14,    15,   228,
2747
 
     229,    18,    19,     0,     0,     0,     0,     0,   230,   231,
2748
 
     232,    23,    24,    25,    26,     0,     0,   192,     0,     0,
 
2786
      11,    61,   200,    63,    12,     0,    13,    14,    15,    16,
 
2787
      17,    18,    19,     0,     0,     0,     0,     0,    20,    21,
 
2788
      22,    23,    24,    25,    26,     0,     0,    27,     0,     0,
2749
2789
       0,     0,     0,     0,    29,     0,     0,    32,    33,    34,
2750
2790
      35,    36,    37,    38,    39,    40,     0,    41,    42,     0,
2751
2791
      43,    44,    45,     0,    46,    47,     0,     0,     0,     0,
2752
2792
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2753
 
       0,     0,     0,     0,   194,     0,     0,   195,    50,     0,
2754
 
      51,    52,     0,   577,     0,    54,    55,    56,    57,    58,
 
2793
       0,     0,     0,     0,   196,     0,     0,   197,    50,     0,
 
2794
      51,    52,     0,     0,     0,    54,    55,    56,    57,    58,
2755
2795
      59,    60,     0,     0,     0,     0,     0,     0,     0,     0,
2756
2796
       5,     6,     7,     0,     9,     0,     0,     0,    10,    11,
2757
 
      61,   198,    63,    12,     0,    13,    14,    15,   228,   229,
2758
 
      18,    19,     0,     0,     0,     0,     0,   230,   231,   232,
2759
 
      23,    24,    25,    26,     0,     0,   192,     0,     0,     0,
 
2797
      61,    62,    63,    12,     0,    13,    14,    15,    16,    17,
 
2798
      18,    19,     0,     0,     0,     0,     0,    20,    21,    22,
 
2799
      23,    24,    25,    26,     0,     0,   194,     0,     0,     0,
2760
2800
       0,     0,     0,    29,     0,     0,    32,    33,    34,    35,
2761
2801
      36,    37,    38,    39,    40,     0,    41,    42,     0,    43,
2762
2802
      44,    45,     0,    46,    47,     0,     0,     0,     0,     0,
2763
2803
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2764
 
       0,     0,     0,   194,     0,     0,   195,    50,     0,    51,
 
2804
       0,     0,     0,   196,     0,     0,   197,    50,     0,    51,
2765
2805
      52,     0,     0,     0,    54,    55,    56,    57,    58,    59,
2766
2806
      60,     0,     0,     0,     0,     0,     0,     0,     0,     5,
2767
2807
       6,     7,     0,     9,     0,     0,     0,    10,    11,    61,
2768
 
     198,    63,    12,     0,    13,    14,    15,    16,    17,    18,
2769
 
      19,     0,     0,     0,     0,     0,    20,    21,    22,    23,
2770
 
      24,    25,    26,     0,     0,    27,     0,     0,     0,     0,
2771
 
       0,     0,    29,     0,     0,    32,    33,    34,    35,    36,
2772
 
      37,    38,    39,    40,     0,    41,    42,     0,    43,    44,
2773
 
      45,     0,    46,    47,     0,     0,     0,     0,     0,     0,
2774
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2775
 
       0,     0,   194,     0,     0,   195,    50,     0,    51,    52,
2776
 
       0,     0,     0,    54,    55,    56,    57,    58,    59,    60,
2777
 
       0,     0,     0,     0,     0,     0,     0,     0,     5,     6,
2778
 
       7,     0,     9,     0,     0,     0,    10,    11,    61,    62,
2779
 
      63,    12,     0,    13,    14,    15,    16,    17,    18,    19,
2780
 
       0,     0,     0,     0,     0,    20,    21,    22,    23,    24,
2781
 
      25,    26,     0,     0,   192,     0,     0,     0,     0,     0,
2782
 
       0,    29,     0,     0,    32,    33,    34,    35,    36,    37,
2783
 
      38,    39,    40,     0,    41,    42,     0,    43,    44,    45,
2784
 
       0,    46,    47,     0,     0,     0,     0,     0,     0,     0,
2785
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2786
 
       0,   194,     0,     0,   195,    50,     0,    51,    52,     0,
2787
 
       0,     0,    54,    55,    56,    57,    58,    59,    60,     0,
2788
 
       0,     0,     0,     0,     0,     0,     0,     5,     6,     7,
2789
 
       0,     9,     0,     0,     0,    10,    11,    61,   198,    63,
2790
 
      12,     0,    13,    14,    15,   228,   229,    18,    19,     0,
2791
 
       0,     0,     0,     0,   230,   231,   232,    23,    24,    25,
2792
 
      26,     0,     0,   192,     0,     0,     0,     0,     0,     0,
2793
 
     255,     0,     0,    32,    33,    34,    35,    36,    37,    38,
2794
 
      39,    40,     0,    41,    42,     0,    43,    44,    45,     0,
2795
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2796
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2797
 
     256,     0,     0,   300,    50,     0,    51,    52,     0,   301,
2798
 
       0,    54,    55,    56,    57,    58,    59,    60,     0,     0,
2799
 
       0,     0,     5,     6,     7,     0,     9,     0,     0,     0,
2800
 
      10,    11,     0,     0,     0,    12,   257,    13,    14,    15,
2801
 
     228,   229,    18,    19,     0,     0,     0,     0,     0,   230,
2802
 
     231,   232,    23,    24,    25,    26,     0,     0,   192,     0,
2803
 
       0,     0,     0,     0,     0,   255,     0,     0,    32,    33,
2804
 
      34,    35,    36,    37,    38,    39,    40,     0,    41,    42,
2805
 
       0,    43,    44,    45,     0,     0,     0,     0,     0,     0,
2806
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2807
 
       0,     0,     0,     0,     0,   342,     0,     0,    49,    50,
2808
 
       0,    51,    52,     0,    53,     0,    54,    55,    56,    57,
2809
 
      58,    59,    60,     0,     0,     0,     0,     5,     6,     7,
2810
 
       0,     9,     0,     0,     0,    10,    11,     0,     0,     0,
2811
 
      12,   257,    13,    14,    15,   228,   229,    18,    19,     0,
2812
 
       0,     0,     0,     0,   230,   231,   232,    23,    24,    25,
2813
 
      26,     0,     0,   192,     0,     0,     0,     0,     0,     0,
2814
 
     255,     0,     0,    32,    33,    34,   349,    36,    37,    38,
2815
 
     350,    40,     0,    41,    42,     0,    43,    44,    45,     0,
2816
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2817
 
       0,     0,     0,     0,     0,     0,     0,   351,     0,     0,
2818
 
     352,     0,     0,   195,    50,     0,    51,    52,     0,     0,
2819
 
       0,    54,    55,    56,    57,    58,    59,    60,     0,     0,
2820
 
       0,     0,     5,     6,     7,     0,     9,     0,     0,     0,
2821
 
      10,    11,     0,     0,     0,    12,   257,    13,    14,    15,
2822
 
     228,   229,    18,    19,     0,     0,     0,     0,     0,   230,
2823
 
     231,   232,    23,    24,    25,    26,     0,     0,   192,     0,
2824
 
       0,     0,     0,     0,     0,   255,     0,     0,    32,    33,
2825
 
      34,   349,    36,    37,    38,   350,    40,     0,    41,    42,
2826
 
       0,    43,    44,    45,     0,     0,     0,     0,     0,     0,
2827
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2828
 
       0,     0,     0,     0,     0,   352,     0,     0,   195,    50,
2829
 
       0,    51,    52,     0,     0,     0,    54,    55,    56,    57,
2830
 
      58,    59,    60,     0,     0,     0,     0,     5,     6,     7,
2831
 
       0,     9,     0,     0,     0,    10,    11,     0,     0,     0,
2832
 
      12,   257,    13,    14,    15,   228,   229,    18,    19,     0,
2833
 
       0,     0,     0,     0,   230,   231,   232,    23,    24,    25,
2834
 
      26,     0,     0,   192,     0,     0,     0,     0,     0,     0,
2835
 
     255,     0,     0,    32,    33,    34,    35,    36,    37,    38,
2836
 
      39,    40,     0,    41,    42,     0,    43,    44,    45,     0,
2837
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2838
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2839
 
     256,     0,     0,   300,    50,     0,    51,    52,     0,     0,
2840
 
       0,    54,    55,    56,    57,    58,    59,    60,     0,     0,
2841
 
       0,     0,     5,     6,     7,     0,     9,     0,     0,     0,
2842
 
      10,    11,     0,     0,     0,    12,   257,    13,    14,    15,
2843
 
     228,   229,    18,    19,     0,     0,     0,     0,     0,   230,
2844
 
     231,   232,    23,    24,    25,    26,     0,     0,   192,     0,
2845
 
       0,     0,     0,     0,     0,   255,     0,     0,    32,    33,
2846
 
      34,    35,    36,    37,    38,    39,    40,     0,    41,    42,
2847
 
       0,    43,    44,    45,     0,     0,     0,     0,     0,     0,
2848
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2849
 
       0,     0,     0,     0,     0,   887,     0,     0,   195,    50,
2850
 
       0,    51,    52,     0,     0,     0,    54,    55,    56,    57,
2851
 
      58,    59,    60,     0,     0,     0,     0,     5,     6,     7,
2852
 
       0,     9,     0,     0,     0,    10,    11,     0,     0,     0,
2853
 
      12,   257,    13,    14,    15,   228,   229,    18,    19,     0,
2854
 
       0,     0,     0,     0,   230,   231,   232,    23,    24,    25,
2855
 
      26,     0,     0,   192,     0,     0,     0,     0,     0,     0,
2856
 
     255,     0,     0,    32,    33,    34,    35,    36,    37,    38,
2857
 
      39,    40,     0,    41,    42,     0,    43,    44,    45,     0,
2858
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2859
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2860
 
     897,     0,     0,   195,    50,     0,    51,    52,     0,     0,
2861
 
       0,    54,    55,    56,    57,    58,    59,    60,     0,     0,
2862
 
       0,     0,     0,   584,   524,     0,     0,   585,     0,     0,
2863
 
       0,     0,     0,     0,     0,     0,   257,   155,   156,   157,
2864
 
     158,   159,   160,   161,   162,   163,     0,     0,   164,   165,
2865
 
       0,     0,   166,   167,   168,   169,     0,     0,     0,     0,
2866
 
       0,     0,     0,     0,     0,     0,   170,     0,     0,     0,
2867
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2868
 
       0,     0,     0,   171,   172,   173,   174,   175,   176,   177,
2869
 
     178,   179,   180,     0,   181,   182,     0,     0,     0,     0,
2870
 
     605,   516,     0,     0,   606,     0,     0,     0,     0,     0,
2871
 
       0,     0,   183,   217,   155,   156,   157,   158,   159,   160,
2872
 
     161,   162,   163,     0,     0,   164,   165,     0,     0,   166,
2873
 
     167,   168,   169,     0,     0,     0,     0,     0,     0,     0,
2874
 
       0,     0,     0,   170,     0,     0,     0,     0,     0,     0,
2875
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2876
 
     171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
2877
 
       0,   181,   182,     0,     0,     0,     0,   608,   524,     0,
2878
 
       0,   609,     0,     0,     0,     0,     0,     0,     0,   183,
2879
 
     217,   155,   156,   157,   158,   159,   160,   161,   162,   163,
2880
 
       0,     0,   164,   165,     0,     0,   166,   167,   168,   169,
2881
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2882
 
     170,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2883
 
       0,     0,     0,     0,     0,     0,     0,   171,   172,   173,
2884
 
     174,   175,   176,   177,   178,   179,   180,     0,   181,   182,
2885
 
       0,     0,     0,     0,   679,   516,     0,     0,   680,     0,
2886
 
       0,     0,     0,     0,     0,     0,   183,   217,   155,   156,
2887
 
     157,   158,   159,   160,   161,   162,   163,     0,     0,   164,
2888
 
     165,     0,     0,   166,   167,   168,   169,     0,     0,     0,
2889
 
       0,     0,     0,     0,     0,     0,     0,   170,     0,     0,
2890
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2891
 
       0,     0,     0,     0,   171,   172,   173,   174,   175,   176,
2892
 
     177,   178,   179,   180,     0,   181,   182,     0,     0,     0,
2893
 
       0,   682,   524,     0,     0,   683,     0,     0,     0,     0,
2894
 
       0,     0,     0,   183,   217,   155,   156,   157,   158,   159,
2895
 
     160,   161,   162,   163,     0,     0,   164,   165,     0,     0,
2896
 
     166,   167,   168,   169,     0,     0,     0,     0,     0,     0,
2897
 
       0,     0,     0,     0,   170,     0,     0,     0,     0,     0,
2898
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2899
 
       0,   171,   172,   173,   174,   175,   176,   177,   178,   179,
2900
 
     180,     0,   181,   182,     0,     0,     0,     0,   689,   516,
2901
 
       0,     0,   690,     0,     0,     0,     0,     0,     0,     0,
2902
 
     183,   217,   155,   156,   157,   158,   159,   160,   161,   162,
2903
 
     163,     0,     0,   164,   165,     0,     0,   166,   167,   168,
2904
 
     169,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2905
 
       0,   170,     0,     0,     0,     0,     0,     0,     0,     0,
2906
 
       0,     0,     0,     0,     0,     0,     0,     0,   171,   172,
2907
 
     173,   174,   175,   176,   177,   178,   179,   180,     0,   181,
2908
 
     182,     0,     0,     0,     0,   562,   524,     0,     0,   563,
2909
 
       0,     0,     0,     0,     0,     0,     0,   183,   217,   155,
2910
 
     156,   157,   158,   159,   160,   161,   162,   163,     0,     0,
2911
 
     164,   165,     0,     0,   166,   167,   168,   169,     0,     0,
2912
 
       0,     0,     0,     0,     0,     0,     0,     0,   170,     0,
2913
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2914
 
       0,     0,     0,     0,     0,   171,   172,   173,   174,   175,
2915
 
     176,   177,   178,   179,   180,     0,   181,   182,     0,     0,
2916
 
       0,     0,   949,   516,     0,     0,   950,     0,     0,     0,
2917
 
       0,     0,     0,     0,   183,   217,   155,   156,   157,   158,
2918
 
     159,   160,   161,   162,   163,     0,     0,   164,   165,     0,
2919
 
       0,   166,   167,   168,   169,     0,     0,     0,     0,     0,
2920
 
       0,     0,     0,     0,     0,   170,     0,     0,     0,     0,
2921
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2922
 
       0,     0,   171,   172,   173,   174,   175,   176,   177,   178,
2923
 
     179,   180,     0,   181,   182,     0,     0,     0,     0,   955,
2924
 
     516,     0,     0,   956,     0,     0,     0,     0,     0,     0,
2925
 
       0,   183,   217,   155,   156,   157,   158,   159,   160,   161,
2926
 
     162,   163,     0,     0,   164,   165,     0,     0,   166,   167,
2927
 
     168,   169,     0,     0,     0,     0,     0,     0,     0,     0,
2928
 
       0,     0,   170,     0,     0,     0,     0,     0,     0,     0,
2929
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,   171,
2930
 
     172,   173,   174,   175,   176,   177,   178,   179,   180,     0,
2931
 
     181,   182,     0,     0,     0,     0,   958,   524,     0,     0,
2932
 
     959,     0,     0,     0,     0,     0,     0,     0,   183,   217,
2933
 
     155,   156,   157,   158,   159,   160,   161,   162,   163,     0,
2934
 
       0,   164,   165,     0,     0,   166,   167,   168,   169,     0,
2935
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,   170,
2936
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2937
 
       0,     0,     0,     0,     0,     0,   171,   172,   173,   174,
2938
 
     175,   176,   177,   178,   179,   180,     0,   181,   182,     0,
2939
 
       0,     0,     0,   562,   524,     0,     0,   563,     0,     0,
2940
 
       0,     0,     0,     0,     0,   183,   217,   155,   156,   157,
2941
 
     158,   159,   160,   161,   162,   163,     0,     0,   164,   165,
2942
 
       0,     0,   166,   167,   168,   169,     0,     0,     0,     0,
2943
 
       0,     0,     0,     0,     0,     0,   170,     0,     0,     0,
2944
 
       0,     0,     0,     0,   705,     0,     0,     0,     0,     0,
2945
 
       0,     0,     0,   171,   172,   173,   174,   175,   176,   177,
2946
 
     178,   179,   180,   650,   181,   182,     0,     0,   304,   305,
2947
 
     306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
2948
 
     316,     0,   183,   317,   318,     0,     0,   304,   305,   306,
2949
 
     307,   308,   309,   310,   311,   312,   313,   314,   315,   316,
2950
 
       0,     0,   317,   318,     0,     0,     0,     0,     0,     0,
2951
 
     319,     0,   320,   321,   322,   323,   324,   325,   326,   327,
2952
 
     328,   329,     0,     0,     0,     0,     0,     0,     0,   319,
2953
 
       0,   320,   321,   322,   323,   324,   325,   326,   327,   328,
2954
 
     329
 
2808
     200,    63,    12,     0,    13,    14,    15,   231,   232,    18,
 
2809
      19,     0,     0,     0,     0,     0,   233,   234,   235,    23,
 
2810
      24,    25,    26,     0,     0,   194,     0,     0,     0,     0,
 
2811
       0,     0,   258,     0,     0,    32,    33,    34,    35,    36,
 
2812
      37,    38,    39,    40,     0,    41,    42,     0,    43,    44,
 
2813
      45,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2814
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2815
       0,     0,   259,     0,     0,   304,    50,     0,    51,    52,
 
2816
       0,   305,     0,    54,    55,    56,    57,    58,    59,    60,
 
2817
       0,     0,     0,     0,     5,     6,     7,     0,     9,     0,
 
2818
       0,     0,    10,    11,     0,     0,     0,    12,   260,    13,
 
2819
      14,    15,   231,   232,    18,    19,     0,     0,     0,     0,
 
2820
       0,   233,   234,   235,    23,    24,    25,    26,     0,     0,
 
2821
     194,     0,     0,     0,     0,     0,     0,   258,     0,     0,
 
2822
      32,    33,    34,    35,    36,    37,    38,    39,    40,     0,
 
2823
      41,    42,     0,    43,    44,    45,     0,     0,     0,     0,
 
2824
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2825
       0,     0,     0,     0,     0,     0,     0,   346,     0,     0,
 
2826
      49,    50,     0,    51,    52,     0,    53,     0,    54,    55,
 
2827
      56,    57,    58,    59,    60,     0,     0,     0,     0,     5,
 
2828
       6,     7,     0,     9,     0,     0,     0,    10,    11,     0,
 
2829
       0,     0,    12,   260,    13,    14,    15,   231,   232,    18,
 
2830
      19,     0,     0,     0,     0,     0,   233,   234,   235,    23,
 
2831
      24,    25,    26,     0,     0,   194,     0,     0,     0,     0,
 
2832
       0,     0,   258,     0,     0,    32,    33,    34,   354,    36,
 
2833
      37,    38,   355,    40,     0,    41,    42,     0,    43,    44,
 
2834
      45,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2835
       0,     0,     0,     0,     0,     0,     0,     0,     0,   356,
 
2836
       0,     0,   357,     0,     0,   197,    50,     0,    51,    52,
 
2837
       0,     0,     0,    54,    55,    56,    57,    58,    59,    60,
 
2838
       0,     0,     0,     0,     5,     6,     7,     0,     9,     0,
 
2839
       0,     0,    10,    11,     0,     0,     0,    12,   260,    13,
 
2840
      14,    15,   231,   232,    18,    19,     0,     0,     0,     0,
 
2841
       0,   233,   234,   235,    23,    24,    25,    26,     0,     0,
 
2842
     194,     0,     0,     0,     0,     0,     0,   258,     0,     0,
 
2843
      32,    33,    34,   354,    36,    37,    38,   355,    40,     0,
 
2844
      41,    42,     0,    43,    44,    45,     0,     0,     0,     0,
 
2845
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2846
       0,     0,     0,     0,     0,     0,     0,   357,     0,     0,
 
2847
     197,    50,     0,    51,    52,     0,     0,     0,    54,    55,
 
2848
      56,    57,    58,    59,    60,     0,     0,     0,     0,     5,
 
2849
       6,     7,     0,     9,     0,     0,     0,    10,    11,     0,
 
2850
       0,     0,    12,   260,    13,    14,    15,   231,   232,    18,
 
2851
      19,     0,     0,     0,     0,     0,   233,   234,   235,    23,
 
2852
      24,    25,    26,     0,     0,   194,     0,     0,     0,     0,
 
2853
       0,     0,   258,     0,     0,    32,    33,    34,    35,    36,
 
2854
      37,    38,    39,    40,     0,    41,    42,     0,    43,    44,
 
2855
      45,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2856
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2857
       0,     0,   259,     0,     0,   304,    50,     0,    51,    52,
 
2858
       0,     0,     0,    54,    55,    56,    57,    58,    59,    60,
 
2859
       0,     0,     0,     0,     5,     6,     7,     0,     9,     0,
 
2860
       0,     0,    10,    11,     0,     0,     0,    12,   260,    13,
 
2861
      14,    15,   231,   232,    18,    19,     0,     0,     0,     0,
 
2862
       0,   233,   234,   235,    23,    24,    25,    26,     0,     0,
 
2863
     194,     0,     0,     0,     0,     0,     0,   258,     0,     0,
 
2864
      32,    33,    34,    35,    36,    37,    38,    39,    40,     0,
 
2865
      41,    42,     0,    43,    44,    45,     0,     0,     0,     0,
 
2866
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2867
       0,     0,     0,     0,     0,     0,     0,   902,     0,     0,
 
2868
     197,    50,     0,    51,    52,     0,     0,     0,    54,    55,
 
2869
      56,    57,    58,    59,    60,     0,     0,     0,     0,     5,
 
2870
       6,     7,     0,     9,     0,     0,     0,    10,    11,     0,
 
2871
       0,     0,    12,   260,    13,    14,    15,   231,   232,    18,
 
2872
      19,     0,     0,     0,     0,     0,   233,   234,   235,    23,
 
2873
      24,    25,    26,     0,     0,   194,     0,   663,     0,     0,
 
2874
       0,     0,   258,     0,     0,    32,    33,    34,    35,    36,
 
2875
      37,    38,    39,    40,     0,    41,    42,     0,    43,    44,
 
2876
      45,   308,   309,   310,   311,   312,   313,   314,   315,   316,
 
2877
     317,   318,   319,   320,     0,     0,   321,   322,     0,     0,
 
2878
       0,     0,   912,     0,     0,   197,    50,     0,    51,    52,
 
2879
       0,     0,     0,    54,    55,    56,    57,    58,    59,    60,
 
2880
       0,     0,     0,   323,     0,   324,   325,   326,   327,   328,
 
2881
     329,   330,   331,   332,   333,     0,     0,     0,   260,     0,
 
2882
     525,   526,     0,     0,   527,     0,     0,     0,     0,     0,
 
2883
       0,     0,     0,  -241,   157,   158,   159,   160,   161,   162,
 
2884
     163,   164,   165,     0,     0,   166,   167,     0,     0,   168,
 
2885
     169,   170,   171,     0,     0,     0,     0,     0,     0,     0,
 
2886
       0,     0,     0,   172,     0,     0,     0,     0,     0,     0,
 
2887
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2888
     173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
 
2889
       0,   183,   184,     0,     0,     0,     0,   533,   534,     0,
 
2890
       0,   535,     0,     0,     0,     0,     0,     0,     0,   185,
 
2891
     220,   157,   158,   159,   160,   161,   162,   163,   164,   165,
 
2892
       0,     0,   166,   167,     0,     0,   168,   169,   170,   171,
 
2893
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2894
     172,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2895
       0,     0,     0,     0,     0,     0,     0,   173,   174,   175,
 
2896
     176,   177,   178,   179,   180,   181,   182,     0,   183,   184,
 
2897
       0,     0,     0,     0,   591,   526,     0,     0,   592,     0,
 
2898
       0,     0,     0,     0,     0,     0,   185,   220,   157,   158,
 
2899
     159,   160,   161,   162,   163,   164,   165,     0,     0,   166,
 
2900
     167,     0,     0,   168,   169,   170,   171,     0,     0,     0,
 
2901
       0,     0,     0,     0,     0,     0,     0,   172,     0,     0,
 
2902
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2903
       0,     0,     0,     0,   173,   174,   175,   176,   177,   178,
 
2904
     179,   180,   181,   182,     0,   183,   184,     0,     0,     0,
 
2905
       0,   594,   534,     0,     0,   595,     0,     0,     0,     0,
 
2906
       0,     0,     0,   185,   220,   157,   158,   159,   160,   161,
 
2907
     162,   163,   164,   165,     0,     0,   166,   167,     0,     0,
 
2908
     168,   169,   170,   171,     0,     0,     0,     0,     0,     0,
 
2909
       0,     0,     0,     0,   172,     0,     0,     0,     0,     0,
 
2910
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2911
       0,   173,   174,   175,   176,   177,   178,   179,   180,   181,
 
2912
     182,     0,   183,   184,     0,     0,     0,     0,   617,   526,
 
2913
       0,     0,   618,     0,     0,     0,     0,     0,     0,     0,
 
2914
     185,   220,   157,   158,   159,   160,   161,   162,   163,   164,
 
2915
     165,     0,     0,   166,   167,     0,     0,   168,   169,   170,
 
2916
     171,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2917
       0,   172,     0,     0,     0,     0,     0,     0,     0,     0,
 
2918
       0,     0,     0,     0,     0,     0,     0,     0,   173,   174,
 
2919
     175,   176,   177,   178,   179,   180,   181,   182,     0,   183,
 
2920
     184,     0,     0,     0,     0,   620,   534,     0,     0,   621,
 
2921
       0,     0,     0,     0,     0,     0,     0,   185,   220,   157,
 
2922
     158,   159,   160,   161,   162,   163,   164,   165,     0,     0,
 
2923
     166,   167,     0,     0,   168,   169,   170,   171,     0,     0,
 
2924
       0,     0,     0,     0,     0,     0,     0,     0,   172,     0,
 
2925
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2926
       0,     0,     0,     0,     0,   173,   174,   175,   176,   177,
 
2927
     178,   179,   180,   181,   182,     0,   183,   184,     0,     0,
 
2928
       0,     0,   692,   526,     0,     0,   693,     0,     0,     0,
 
2929
       0,     0,     0,     0,   185,   220,   157,   158,   159,   160,
 
2930
     161,   162,   163,   164,   165,     0,     0,   166,   167,     0,
 
2931
       0,   168,   169,   170,   171,     0,     0,     0,     0,     0,
 
2932
       0,     0,     0,     0,     0,   172,     0,     0,     0,     0,
 
2933
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2934
       0,     0,   173,   174,   175,   176,   177,   178,   179,   180,
 
2935
     181,   182,     0,   183,   184,     0,     0,     0,     0,   695,
 
2936
     534,     0,     0,   696,     0,     0,     0,     0,     0,     0,
 
2937
       0,   185,   220,   157,   158,   159,   160,   161,   162,   163,
 
2938
     164,   165,     0,     0,   166,   167,     0,     0,   168,   169,
 
2939
     170,   171,     0,     0,     0,     0,     0,     0,     0,     0,
 
2940
       0,     0,   172,     0,     0,     0,     0,     0,     0,     0,
 
2941
       0,     0,     0,     0,     0,     0,     0,     0,     0,   173,
 
2942
     174,   175,   176,   177,   178,   179,   180,   181,   182,     0,
 
2943
     183,   184,     0,     0,     0,     0,   702,   526,     0,     0,
 
2944
     703,     0,     0,     0,     0,     0,     0,     0,   185,   220,
 
2945
     157,   158,   159,   160,   161,   162,   163,   164,   165,     0,
 
2946
       0,   166,   167,     0,     0,   168,   169,   170,   171,     0,
 
2947
       0,     0,     0,     0,     0,     0,     0,     0,     0,   172,
 
2948
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2949
       0,     0,     0,     0,     0,     0,   173,   174,   175,   176,
 
2950
     177,   178,   179,   180,   181,   182,     0,   183,   184,     0,
 
2951
       0,     0,     0,   572,   534,     0,     0,   573,     0,     0,
 
2952
       0,     0,     0,     0,     0,   185,   220,   157,   158,   159,
 
2953
     160,   161,   162,   163,   164,   165,     0,     0,   166,   167,
 
2954
       0,     0,   168,   169,   170,   171,     0,     0,     0,     0,
 
2955
       0,     0,     0,     0,     0,     0,   172,     0,     0,     0,
 
2956
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2957
       0,     0,     0,   173,   174,   175,   176,   177,   178,   179,
 
2958
     180,   181,   182,     0,   183,   184,     0,     0,     0,     0,
 
2959
     965,   526,     0,     0,   966,     0,     0,     0,     0,     0,
 
2960
       0,     0,   185,   220,   157,   158,   159,   160,   161,   162,
 
2961
     163,   164,   165,     0,     0,   166,   167,     0,     0,   168,
 
2962
     169,   170,   171,     0,     0,     0,     0,     0,     0,     0,
 
2963
       0,     0,     0,   172,     0,     0,     0,     0,     0,     0,
 
2964
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2965
     173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
 
2966
       0,   183,   184,     0,     0,     0,     0,   971,   526,     0,
 
2967
       0,   972,     0,     0,     0,     0,     0,     0,     0,   185,
 
2968
     220,   157,   158,   159,   160,   161,   162,   163,   164,   165,
 
2969
       0,     0,   166,   167,     0,     0,   168,   169,   170,   171,
 
2970
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2971
     172,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2972
       0,     0,     0,     0,     0,     0,     0,   173,   174,   175,
 
2973
     176,   177,   178,   179,   180,   181,   182,     0,   183,   184,
 
2974
       0,     0,     0,     0,   974,   534,     0,     0,   975,     0,
 
2975
       0,     0,     0,     0,     0,     0,   185,   220,   157,   158,
 
2976
     159,   160,   161,   162,   163,   164,   165,     0,     0,   166,
 
2977
     167,     0,     0,   168,   169,   170,   171,     0,     0,     0,
 
2978
       0,     0,     0,     0,     0,     0,     0,   172,     0,     0,
 
2979
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
2980
       0,     0,     0,     0,   173,   174,   175,   176,   177,   178,
 
2981
     179,   180,   181,   182,     0,   183,   184,     0,     0,     0,
 
2982
       0,   572,   534,     0,     0,   573,     0,     0,     0,     0,
 
2983
       0,     0,     0,   185,   220,   157,   158,   159,   160,   161,
 
2984
     162,   163,   164,   165,     0,     0,   166,   167,     0,     0,
 
2985
     168,   169,   170,   171,     0,     0,     0,     0,     0,     0,
 
2986
       0,     0,     0,     0,   172,     0,     0,     0,     0,     0,
 
2987
       0,     0,   718,     0,     0,     0,     0,     0,     0,     0,
 
2988
       0,   173,   174,   175,   176,   177,   178,   179,   180,   181,
 
2989
     182,   663,   183,   184,     0,     0,   308,   309,   310,   311,
 
2990
     312,   313,   314,   315,   316,   317,   318,   319,   320,     0,
 
2991
     185,   321,   322,     0,     0,   308,   309,   310,   311,   312,
 
2992
     313,   314,   315,   316,   317,   318,   319,   320,     0,     0,
 
2993
     321,   322,     0,     0,     0,     0,     0,     0,   323,     0,
 
2994
     324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
 
2995
       0,     0,     0,     0,     0,     0,     0,   323,     0,   324,
 
2996
     325,   326,   327,   328,   329,   330,   331,   332,   333
2955
2997
};
2956
2998
 
 
2999
#define yypact_value_is_default(yystate) \
 
3000
  ((yystate) == (-747))
 
3001
 
 
3002
#define yytable_value_is_error(yytable_value) \
 
3003
  ((yytable_value) == (-574))
 
3004
 
2957
3005
static const yytype_int16 yycheck[] =
2958
3006
{
2959
 
       2,    16,    17,    55,     2,    20,     4,    51,    28,    75,
2960
 
      51,    52,   446,   336,   210,     8,    49,   537,    16,    17,
2961
 
     303,     8,    20,    27,   536,    29,   556,    53,    83,   583,
2962
 
     446,    86,   249,   331,    65,    28,   253,     4,    90,   442,
2963
 
       8,    28,   748,   272,    13,   274,   352,   276,    49,    51,
2964
 
      52,    49,    50,   607,    86,    53,   735,   667,   813,   836,
2965
 
      28,   671,   641,   811,    62,   732,   615,     1,    22,    27,
2966
 
      16,    17,    29,    50,    20,    25,   330,    75,   332,   482,
2967
 
      53,   566,   567,    62,    82,    83,    26,    55,    86,    87,
2968
 
      88,    89,   728,    13,    13,    61,   394,    25,    22,    13,
2969
 
      61,    85,    75,   239,    76,    82,    83,    37,    38,    86,
2970
 
     140,   398,   390,   749,    87,    88,    89,   147,   372,   373,
2971
 
     398,    85,    90,   871,   558,    87,    85,   681,    65,   109,
2972
 
      15,    13,    17,     0,    25,    25,   147,    13,   692,   393,
2973
 
     106,   395,   114,   104,   105,   432,   444,   109,   925,    86,
2974
 
     107,    25,    56,   732,   108,   139,   735,    25,   688,   914,
2975
 
     140,     2,   195,     4,   300,   419,   696,   834,   916,    25,
2976
 
     140,   140,    25,   722,   723,   139,   145,   147,   147,   113,
2977
 
     139,    59,    60,   889,   108,   146,   620,   145,    85,   147,
2978
 
     140,   445,   258,   655,   227,   943,   136,   195,   877,   214,
2979
 
     662,   216,   217,   205,   620,   136,   239,   641,   210,   241,
2980
 
     241,   145,   140,   147,   881,   217,   214,   147,   216,   217,
2981
 
     146,   706,   220,   142,   222,   145,   145,   147,   147,   227,
2982
 
     459,   145,    26,   147,   289,   290,   291,   292,   239,   146,
2983
 
     238,   239,   139,   220,   542,   222,   649,   553,   858,   140,
2984
 
     140,   255,   142,    25,   298,   834,   554,   836,    28,   303,
2985
 
     258,   695,   811,   145,   813,   147,   140,   300,   214,   145,
2986
 
     216,   147,   140,    99,   142,   301,   109,    26,   232,   695,
2987
 
     792,   235,   337,   338,   140,   258,    25,   140,    87,   543,
2988
 
     288,   289,   290,   291,   292,   293,   294,   295,   877,   300,
2989
 
     298,   555,   300,   301,   241,   303,   142,   339,   220,    85,
2990
 
     109,   147,   289,   290,   291,   292,   331,   294,   295,   298,
2991
 
     140,   288,   871,   872,   303,    37,    38,    26,   301,   331,
2992
 
     860,   243,   145,   331,   147,   333,    85,   109,   858,   337,
2993
 
     338,   140,   136,   109,    85,    87,   925,    26,   142,   390,
2994
 
      87,    85,   140,   351,   677,    87,    85,   142,    85,    56,
2995
 
     337,   338,   330,   139,    26,   914,   109,   916,   140,    87,
2996
 
     109,   143,   109,    88,   351,   147,   442,   109,   332,   394,
2997
 
     378,   379,   912,   666,   580,   602,    85,   136,   429,   138,
2998
 
     139,   109,   394,   413,   943,    85,   394,   238,   139,   378,
2999
 
     379,   140,   339,   957,   143,   139,    85,    85,   147,   138,
3000
 
     139,   138,   139,   142,   416,    52,   482,   354,   416,    56,
3001
 
     413,   140,   140,    85,    87,   393,   413,   425,    85,   444,
3002
 
     140,   865,    85,    85,    59,    60,    85,   136,   142,   138,
3003
 
     139,   395,   444,   142,   442,   413,   444,   288,   138,   139,
3004
 
     418,   136,   293,   142,    85,    14,    15,   136,    85,   138,
3005
 
     139,   139,    85,   142,    68,   419,   564,   565,    85,   442,
3006
 
     142,    85,   143,   475,   136,   443,   138,   139,    85,   109,
3007
 
     142,   138,   139,   144,   482,   138,   139,   139,   400,   138,
3008
 
     139,   445,   404,   137,   538,   407,    85,    87,    56,   532,
3009
 
     504,   534,    52,   106,    54,    55,    56,    57,   139,   482,
3010
 
     422,   138,   139,   106,    85,   427,   139,    85,   522,   109,
3011
 
     641,   138,   139,   846,   138,   139,   528,   542,   530,   852,
3012
 
     140,   138,   139,    87,   532,    87,   534,   603,    87,   554,
3013
 
     542,    68,    68,    52,   542,    54,    55,    56,    57,   138,
3014
 
     139,    17,   554,   140,   574,   109,   554,   109,   556,   557,
3015
 
     109,   145,   564,   565,   566,   567,   520,   138,   139,   481,
3016
 
     138,   139,    56,   541,   528,   416,    61,    94,   580,   583,
3017
 
     557,   574,    68,   649,   425,   553,   140,   574,   140,   543,
3018
 
     140,   140,    52,    25,   592,   597,   520,   143,   535,   536,
3019
 
     137,   555,   140,   607,   528,   603,   574,   140,   140,   642,
3020
 
     564,   565,   549,    61,   735,   592,    87,   738,   146,   104,
3021
 
     105,   106,   666,    87,   626,    87,   628,   140,   630,   684,
3022
 
     603,   140,   687,   119,   120,   121,   140,   935,   109,   641,
3023
 
     564,   565,   596,   597,   642,   109,   698,   109,    61,    10,
3024
 
      68,   649,     8,    54,   652,   653,   104,   105,   106,    13,
3025
 
     658,   659,    63,    64,   666,   667,   109,   669,    61,   671,
3026
 
     703,   704,   137,   652,   653,    52,   649,   681,   140,   658,
3027
 
     659,    61,   936,   140,   140,    65,   684,   140,   692,   687,
3028
 
     688,   104,   105,   106,    52,   140,   729,   730,   696,   117,
3029
 
     118,   119,   120,   121,   706,   703,   704,   684,   741,   111,
3030
 
     687,   104,   105,   106,   144,   836,    15,   838,    52,   140,
3031
 
      54,    55,    56,    57,   104,   105,   728,   782,   145,   114,
3032
 
     698,   729,   730,   193,   109,   140,   196,   197,    40,    41,
3033
 
      42,    43,    44,   741,   140,   140,   779,   749,   685,   751,
3034
 
      10,   753,   754,   786,   787,    89,   877,   790,   879,   140,
3035
 
     697,    95,   883,    88,    16,    17,     9,   137,    20,    10,
3036
 
      10,   769,   140,   806,   137,   777,    54,    55,   780,    57,
3037
 
     140,   779,   694,   140,   782,    63,    64,   140,   786,   787,
3038
 
     769,   140,   790,   137,    46,    47,   114,   140,   140,    51,
3039
 
      52,   137,   140,   715,   925,   782,   927,    56,   806,   930,
3040
 
      62,    63,   140,   140,   726,   416,   849,   819,   820,   140,
3041
 
     822,    56,   824,   825,   945,   140,   140,   140,    87,   827,
3042
 
     142,    52,   142,    54,    55,    56,    57,   539,   298,    89,
3043
 
     889,   938,   722,   303,    92,   937,   967,   845,    95,    57,
3044
 
      -1,   849,    90,   865,   827,   792,   858,   794,    68,   834,
3045
 
     732,    52,   860,    54,    55,    56,    57,    -1,    89,   902,
3046
 
      -1,   904,   845,    83,    84,    96,    -1,   910,    52,    -1,
3047
 
      54,    55,    56,    57,    -1,    -1,    -1,   799,    -1,   891,
3048
 
     892,   893,    -1,   895,   896,   116,    -1,    52,   810,    54,
3049
 
      55,    56,    57,   815,   902,    -1,   904,   117,   118,   119,
3050
 
     120,   121,   910,    -1,   912,    89,   918,   919,   920,   921,
3051
 
     935,    95,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   389,
3052
 
     390,    -1,    -1,   935,    89,   937,   938,   935,   398,    -1,
3053
 
      -1,   193,    -1,    -1,   196,   197,   198,    -1,    -1,   951,
3054
 
     952,   953,   954,   957,    -1,   923,    52,    -1,    54,    55,
3055
 
      56,    57,   214,   965,   216,   217,   934,    -1,    -1,   429,
3056
 
      -1,   973,   432,    -1,   676,    52,    -1,    54,    55,    56,
3057
 
      57,    -1,   936,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3058
 
      -1,   693,    -1,    89,    -1,    -1,    -1,    -1,    -1,    95,
3059
 
      96,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3060
 
      -1,    -1,    89,    -1,    -1,    -1,   476,    -1,    95,    96,
3061
 
     116,    -1,    -1,   119,    -1,    -1,    -1,    -1,    -1,    -1,
3062
 
      -1,    -1,    -1,     2,    -1,     4,    -1,    -1,    -1,   116,
3063
 
      -1,    -1,   119,    -1,    -1,    -1,   298,    -1,    -1,   145,
3064
 
      -1,   303,   304,   305,   306,   307,   308,   309,   310,   311,
3065
 
     312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
3066
 
     322,   323,   324,   325,   326,   327,   328,   329,   538,   331,
3067
 
      49,   783,    -1,   785,    53,    52,    -1,    54,    55,    56,
3068
 
      57,    -1,    -1,   795,    -1,    -1,    -1,    -1,   800,    -1,
3069
 
      -1,    -1,    -1,    -1,    -1,    -1,    75,    -1,    -1,    -1,
3070
 
      -1,     2,    -1,     4,    -1,    -1,    -1,   577,    87,    88,
3071
 
      89,    90,    89,    -1,    -1,    -1,   378,   379,    95,    96,
3072
 
      -1,    -1,    -1,    -1,    -1,    -1,   388,   389,   390,    -1,
3073
 
      -1,    -1,   394,    -1,   396,   397,   398,    -1,    -1,   116,
3074
 
      -1,    -1,   119,   855,   856,    -1,    -1,    -1,    49,   628,
3075
 
      -1,   630,    53,   415,    -1,    -1,    68,    52,   420,    54,
3076
 
      55,    56,    57,    -1,    -1,   142,    -1,   429,    -1,    -1,
3077
 
     432,    83,    84,     2,    75,     4,   646,    -1,    -1,    -1,
3078
 
      -1,    -1,   444,    -1,    -1,    -1,    87,    88,    89,    -1,
3079
 
       2,    -1,     4,    -1,    89,    -1,   666,    -1,    -1,   911,
3080
 
      95,    96,   464,   465,   116,   117,   118,   119,   120,   121,
3081
 
      -1,    -1,    -1,    -1,   476,    -1,   195,    -1,    -1,    -1,
3082
 
      49,   116,    -1,    -1,   119,     0,    -1,   939,    -1,   941,
3083
 
      -1,    -1,    -1,     8,     9,    10,    -1,    49,    13,    14,
3084
 
      15,    52,    17,    54,    55,    56,    57,   142,   227,    -1,
3085
 
     720,    -1,    27,    -1,    -1,    -1,    -1,    -1,    87,   238,
3086
 
     239,    -1,    37,    38,    -1,    40,    41,    42,    43,    44,
3087
 
      -1,    -1,   751,    -1,   753,   754,   538,    -1,    89,   258,
3088
 
     542,    68,    -1,    -1,    95,    96,    -1,    -1,   758,    -1,
3089
 
      -1,    -1,   554,    -1,   195,    -1,    83,    84,    -1,    -1,
3090
 
      -1,    -1,    -1,    -1,    -1,   116,    -1,    -1,   119,   288,
3091
 
      85,    -1,    -1,    -1,   293,   577,    -1,    -1,    -1,   789,
3092
 
      -1,   300,   301,    -1,    -1,    -1,   227,   114,   115,   116,
3093
 
     117,   118,   119,   120,   121,    -1,    -1,   238,   239,    -1,
3094
 
     819,   820,    -1,   822,    -1,   824,   825,    -1,    -1,    -1,
3095
 
      -1,    -1,    -1,    -1,   333,    -1,    -1,   258,    -1,    -1,
3096
 
      -1,    -1,   137,    -1,   139,    -1,   195,   142,   143,    -1,
3097
 
     145,    -1,   147,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3098
 
      -1,    -1,    -1,   195,   646,    -1,    -1,   288,   650,    -1,
3099
 
     652,   653,   293,    -1,    -1,    -1,   658,   659,   227,   300,
3100
 
     301,    -1,    -1,    -1,   666,    -1,    -1,    -1,    -1,   238,
3101
 
     239,    -1,   891,   892,   893,   227,   895,   896,    -1,    -1,
3102
 
      -1,    -1,    -1,    -1,    -1,    -1,   238,   239,    -1,    -1,
3103
 
      -1,    -1,   333,    -1,    -1,    -1,    -1,   416,    -1,   918,
3104
 
     919,   920,   921,   705,    -1,    -1,   425,    -1,   710,   711,
3105
 
      -1,   713,   714,    -1,    -1,    -1,    -1,    -1,   720,   288,
3106
 
      -1,    -1,    -1,   442,   293,    -1,    -1,    -1,    -1,    -1,
3107
 
      -1,   300,   951,   952,   953,   954,   288,    -1,    -1,    -1,
3108
 
      -1,   293,    -1,    -1,    -1,    -1,   965,    -1,   300,    -1,
3109
 
      -1,    -1,    -1,    -1,   973,    -1,   758,    -1,    -1,    -1,
3110
 
     762,    -1,    -1,   482,   333,    -1,    -1,   769,    -1,    -1,
3111
 
      -1,    -1,    -1,    -1,    -1,   416,    -1,    -1,    -1,    -1,
3112
 
      -1,   333,    -1,    -1,   425,    -1,    -1,   789,    -1,    -1,
3113
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3114
 
      -1,   442,    -1,    -1,    -1,   807,    -1,    -1,    -1,    -1,
3115
 
      -1,    -1,    -1,   532,    -1,   534,    -1,    -1,    -1,    -1,
3116
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3117
 
      68,    69,    70,    71,    72,    73,    74,   556,    -1,    77,
3118
 
      78,   482,    -1,    -1,    -1,    83,    84,   416,    -1,    -1,
3119
 
      -1,    -1,    -1,    -1,    -1,    -1,   425,    -1,    -1,    -1,
3120
 
      -1,    -1,    -1,    -1,   416,    -1,    -1,    -1,    -1,    -1,
3121
 
      44,    -1,    -1,   425,   112,   113,   114,   115,   116,   117,
3122
 
     118,   119,   120,   121,   603,    -1,    -1,    -1,    -1,    -1,
3123
 
      -1,   532,    -1,   534,    68,    69,    70,    71,    72,    73,
3124
 
      74,    75,    76,    77,    78,    79,    80,    -1,    -1,    83,
3125
 
      84,    -1,    -1,    -1,    -1,   556,    -1,    -1,    -1,    -1,
3126
 
      -1,    -1,    -1,   642,    -1,    -1,    -1,    -1,    -1,    -1,
3127
 
     649,    -1,    -1,   935,    -1,    -1,   110,    -1,   112,   113,
3128
 
     114,   115,   116,   117,   118,   119,   120,   121,    -1,    -1,
3129
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3130
 
      -1,    -1,   603,   532,    -1,   534,   140,    -1,    -1,   688,
3131
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   696,    -1,    -1,
3132
 
     532,    -1,   534,    -1,   703,   704,    -1,   556,    -1,    -1,
3133
 
      -1,    -1,    -1,   634,    -1,    -1,    -1,    -1,    -1,    -1,
3134
 
      -1,   642,    -1,    -1,   556,    -1,    -1,    -1,   649,    -1,
3135
 
     729,   730,    -1,    -1,    52,    53,    -1,    -1,    56,    -1,
3136
 
      -1,    -1,   741,    -1,    -1,    -1,    -1,    -1,    66,    67,
3137
 
      68,    69,    70,    71,    72,    73,    74,    -1,    -1,    77,
3138
 
      78,    -1,    -1,    81,    82,    83,    84,   688,    -1,    -1,
3139
 
      -1,    -1,    -1,    -1,    -1,   696,    -1,    95,    -1,    -1,
3140
 
     779,    -1,   703,   704,    -1,    -1,    -1,   786,   787,    -1,
3141
 
      -1,   790,    -1,   642,   112,   113,   114,   115,   116,   117,
3142
 
     118,   119,   120,   121,    -1,   123,   124,   806,   729,   730,
3143
 
     642,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3144
 
     741,    -1,    -1,   141,   142,    -1,    -1,    -1,   827,    -1,
3145
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   688,
3146
 
      -1,    -1,    -1,    -1,    -1,    -1,   845,   696,    -1,    -1,
3147
 
     849,    -1,    -1,    -1,   703,   704,   688,    -1,   779,    -1,
3148
 
      -1,   860,    -1,    -1,   696,   786,   787,    -1,    -1,   790,
3149
 
      -1,   703,   704,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3150
 
     729,   730,    -1,    -1,    -1,   806,    -1,    -1,    -1,    -1,
3151
 
      -1,    -1,   741,    -1,    -1,    -1,    -1,   729,   730,    -1,
3152
 
      -1,    -1,    -1,   902,    -1,   904,   827,    -1,    -1,   741,
3153
 
      -1,   910,    -1,   912,    -1,    -1,    -1,    68,    69,    70,
3154
 
      71,    72,    73,    74,   845,    -1,    77,    78,   849,    -1,
3155
 
     779,    -1,    83,    84,    -1,    -1,    -1,   786,   787,   860,
3156
 
      -1,   790,    -1,    46,    47,    -1,    -1,   779,    51,    52,
3157
 
      53,    -1,    -1,    -1,   786,   787,    -1,   806,   790,    -1,
3158
 
      63,   112,   113,   114,   115,   116,   117,   118,   119,   120,
3159
 
     121,    -1,    75,    -1,   806,    -1,    -1,    -1,    -1,    -1,
3160
 
      -1,   902,    -1,   904,    87,    88,    89,    -1,    -1,   910,
3161
 
      -1,   912,    -1,    -1,    -1,    -1,   845,    -1,    -1,    -1,
3162
 
     849,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3163
 
      -1,   860,    -1,    -1,    -1,    -1,    -1,   849,    -1,    -1,
 
3007
       2,    55,   340,    28,     2,   454,     4,    52,   593,    16,
 
3008
      17,   335,   307,    20,   307,     8,   547,   213,    16,    17,
 
3009
       8,   566,    20,    27,    53,    29,    84,    22,     8,    87,
 
3010
     546,    87,     4,    22,   619,    28,    49,    91,   252,    76,
 
3011
      28,     2,   256,     4,   404,   357,     1,    65,    28,    51,
 
3012
      52,    49,    50,   749,   450,    53,   746,    13,   334,   627,
 
3013
     336,    53,   680,    25,    62,   762,   684,   454,    13,    16,
 
3014
      17,    65,    26,    20,   396,    55,   400,    26,    76,    25,
 
3015
     440,     0,   404,    27,    76,    83,    84,   576,   577,    87,
 
3016
      88,    89,    90,    87,   490,    29,    88,    89,    90,    13,
 
3017
     242,    25,   378,   379,    51,   851,   828,    85,    76,   694,
 
3018
     136,    91,    87,    16,    17,   110,   147,    20,    85,   568,
 
3019
     705,   110,   146,   399,    25,   401,    85,   653,   452,    61,
 
3020
      87,    16,    17,    62,   109,    20,   276,    25,   278,    56,
 
3021
     280,    13,   742,    37,    38,    87,   114,   109,    51,    52,
 
3022
     195,   427,   109,   198,   199,   826,   701,    28,   113,   849,
 
3023
     138,   139,   304,   763,   709,   140,    25,   109,   736,   737,
 
3024
      25,    13,   139,   107,   106,   146,    13,   453,   140,   138,
 
3025
     139,   143,   136,   632,   140,   147,   109,   136,   244,   145,
 
3026
     145,   147,   147,   142,   140,   941,   892,   142,   140,   197,
 
3027
     145,   145,   147,   147,   653,   207,   896,   904,   930,   140,
 
3028
     217,   213,   219,   220,    25,   886,   140,   413,   220,   217,
 
3029
     746,   219,   220,   749,   261,   223,   244,   225,   552,   242,
 
3030
     719,   145,   230,   147,    50,   293,   294,   295,   296,   140,
 
3031
     564,   601,   142,   241,   242,   632,   235,   147,   109,   238,
 
3032
     244,   563,   140,   147,   258,   873,    99,   302,   826,   708,
 
3033
     828,   932,   307,   261,    25,   661,    87,    83,    84,   261,
 
3034
     217,    87,   219,   145,   140,   147,   305,   553,   600,   601,
 
3035
     241,   140,    25,   341,   342,   140,    25,   343,   959,   565,
 
3036
     806,   304,    85,    87,   292,   293,   294,   295,   296,   297,
 
3037
     298,   299,    85,   145,   302,   147,   304,   305,   145,   307,
 
3038
     147,    59,    60,   305,   217,   109,   219,    26,   886,   887,
 
3039
     292,   708,   109,   849,   142,   851,    49,   467,   335,   140,
 
3040
     875,   292,   217,   335,   219,    56,   297,   335,   145,   337,
 
3041
     147,    87,   873,   341,   342,   138,   139,   336,    88,   343,
 
3042
     395,   396,   690,   140,   334,   302,   139,    26,   356,   404,
 
3043
     307,   140,   930,   109,   932,   359,   892,    85,   147,   662,
 
3044
     109,    85,   109,   302,    61,    26,    85,   140,   307,   140,
 
3045
      15,   142,    17,   928,   679,    87,   384,   385,   973,    85,
 
3046
      85,   959,   437,   400,   590,   440,   421,   140,   400,   142,
 
3047
     614,   140,   400,    85,   143,   140,    85,   223,   147,   225,
 
3048
     412,   413,   401,   450,   142,   941,    85,   104,   105,   399,
 
3049
     138,   139,   424,   136,   142,   139,   424,   136,   421,   138,
 
3050
     139,   880,    85,   421,    85,   433,    85,   142,   427,   484,
 
3051
     140,   421,   138,   139,   139,   452,   426,   147,    85,   142,
 
3052
     452,    85,   450,   490,   452,   384,   385,   139,   450,   146,
 
3053
     139,    85,   822,   424,   453,    68,    85,   136,    85,   138,
 
3054
     139,   451,   433,   142,   197,    87,    85,   293,   294,   295,
 
3055
     296,   483,   298,   299,    68,   136,   139,   138,   139,   138,
 
3056
     139,   142,   490,   396,    85,    37,    38,   109,   490,   668,
 
3057
     822,   223,   139,   548,   138,   139,   675,   230,   109,    52,
 
3058
     514,    54,    55,    56,    57,   139,   119,   120,   121,   242,
 
3059
     139,   138,   139,   861,   246,   341,   342,   143,   532,   867,
 
3060
     139,    26,   728,    52,   437,   530,   538,    56,   540,    85,
 
3061
     356,   530,   587,   538,   542,   552,   544,   138,   139,   538,
 
3062
     552,   545,   546,    56,   552,   600,   601,   564,    85,   584,
 
3063
      59,    60,   564,   144,   553,   559,   564,   137,   566,   567,
 
3064
     106,   551,   574,   575,   576,   577,   565,    87,   615,   574,
 
3065
     575,   304,   140,   563,   106,   574,   575,    87,   590,   593,
 
3066
      85,   584,   138,   139,    87,    85,   584,   140,    68,   109,
 
3067
      68,   548,    14,    15,   584,    85,   604,   609,    85,   109,
 
3068
     140,   138,   139,   658,    17,   619,   109,   615,    56,   608,
 
3069
     609,   574,   575,   615,   661,   145,    25,   951,    52,    94,
 
3070
      54,    55,    56,    57,   679,   143,   638,   146,   640,   697,
 
3071
     642,   136,   700,   138,   139,   137,   140,   142,   138,   139,
 
3072
      52,   653,    54,    55,    56,    57,   654,   711,   138,   139,
 
3073
      10,   138,   139,   661,   662,    89,    61,   665,   666,   661,
 
3074
      65,    95,    96,   671,   672,   109,   952,   679,   680,   140,
 
3075
     682,   140,   684,   140,   406,   140,   140,    89,   410,   734,
 
3076
     694,   140,   116,   415,    96,   119,     8,   600,    13,   697,
 
3077
      87,   705,   700,   701,   698,    61,    87,   137,   430,   104,
 
3078
     105,   709,   109,   435,   116,    54,   710,   719,   716,   717,
 
3079
     140,   145,   109,   140,    63,    64,   728,   772,   109,   140,
 
3080
      68,   711,   679,   662,    87,    52,   665,   666,   796,    52,
 
3081
     742,   111,   671,   672,   140,   743,   744,    87,   104,   105,
 
3082
     106,   567,   144,   140,   549,    15,   109,   755,   803,   140,
 
3083
       2,   763,     4,   765,    87,   767,   768,   489,    52,   109,
 
3084
      54,    55,    56,    57,    16,    17,   140,   822,    20,   117,
 
3085
     118,   119,   120,   121,   145,   783,   109,   140,   604,   791,
 
3086
     109,   140,   794,   114,   140,   793,   140,   140,   796,    10,
 
3087
     140,    88,   800,   801,   140,     9,   804,    49,    50,    10,
 
3088
     137,   140,   806,    10,   808,    61,   140,   140,   140,   542,
 
3089
      62,   544,   820,   137,   140,   114,    52,   137,    54,    55,
 
3090
      56,    57,   834,   835,   140,   837,    68,   839,   840,   140,
 
3091
     140,    83,    84,   137,   842,    87,    56,   140,   140,    68,
 
3092
     842,    83,    84,    56,   783,   140,   140,   140,   104,   105,
 
3093
     106,   140,   860,    89,    83,    84,   864,   140,   860,    95,
 
3094
      96,   873,   142,   142,    61,   140,   424,   875,    90,    88,
 
3095
      61,   697,   954,   736,   700,   117,   118,   119,   120,   121,
 
3096
     116,    93,   904,   119,   689,   114,   115,   116,   117,   118,
 
3097
     119,   120,   121,   953,   906,   907,   908,    96,   910,   911,
 
3098
     640,   706,   642,    57,    91,   880,   142,   104,   105,   106,
 
3099
     918,   849,   920,   104,   105,   106,   653,   746,   926,    -1,
 
3100
     928,   654,   934,   935,   936,   937,    52,    -1,    54,    55,
 
3101
      56,    57,    -1,    -1,   951,    -1,    -1,    54,    55,   951,
 
3102
      57,   953,   954,   951,    -1,   197,    63,    64,    -1,   939,
 
3103
      -1,    -1,    -1,   952,    -1,   967,   968,   969,   970,   973,
 
3104
     950,    -1,    -1,    89,    -1,   217,    -1,   219,   220,   981,
 
3105
     796,   223,    -1,   225,    -1,   707,    -1,   989,   230,    -1,
 
3106
      -1,    -1,    -1,   716,   717,    68,    -1,    -1,    -1,   241,
 
3107
     242,    -1,   797,    -1,   799,    -1,    -1,   729,    -1,    -1,
 
3108
      83,    84,    -1,    -1,   809,    -1,    -1,    -1,   740,   814,
 
3109
     743,   744,   749,    -1,    52,   752,    54,    55,    56,    57,
 
3110
      -1,    -1,   755,    -1,    -1,   765,    -1,   767,   768,    -1,
 
3111
      -1,    -1,    -1,   116,   117,   118,   119,   120,   121,    -1,
 
3112
     292,   293,   294,   295,   296,   297,   298,   299,    -1,    -1,
 
3113
     302,    89,   304,    -1,    -1,   307,    -1,    95,    -1,    52,
 
3114
     793,    54,    55,    56,    57,   870,   871,   800,   801,    -1,
 
3115
      -1,   804,    16,    17,    -1,    -1,    20,    -1,    -1,    -1,
 
3116
      -1,   813,    -1,   335,    -1,   337,    -1,   820,    -1,   341,
 
3117
     342,    -1,    -1,   825,   834,   835,    -1,   837,   830,   839,
 
3118
     840,    -1,    46,    47,   356,    -1,    -1,    51,    52,    -1,
 
3119
      -1,    -1,    -1,    -1,   851,    -1,   853,    -1,    62,    63,
 
3120
      -1,    52,   927,    54,    55,    56,    57,    -1,    -1,    -1,
 
3121
      -1,   864,   384,   385,    40,    41,    42,    43,    44,    -1,
 
3122
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   400,    -1,
 
3123
     955,    -1,   957,    -1,    -1,   892,    -1,   894,    89,    -1,
 
3124
      -1,   898,    -1,    -1,    95,    -1,   906,   907,   908,    -1,
 
3125
     910,   911,   424,    52,    -1,    54,    55,    56,    57,    -1,
 
3126
      -1,   433,    -1,    -1,    -1,   918,    -1,   920,    -1,    -1,
 
3127
      -1,    -1,    -1,   926,   934,   935,   936,   937,    -1,    -1,
 
3128
     452,    -1,    -1,    -1,   941,    -1,   943,    -1,    -1,   946,
 
3129
      89,    -1,    -1,    -1,    -1,    -1,    95,    96,    -1,    -1,
 
3130
      -1,    -1,    -1,    -1,   961,    -1,    -1,   967,   968,   969,
 
3131
     970,    -1,    -1,    -1,    -1,    -1,    -1,   116,    -1,    -1,
 
3132
     119,   981,    -1,    -1,    -1,    -1,   983,    -1,    -1,   989,
 
3133
      -1,   195,    -1,    -1,   198,   199,   200,    -1,    -1,    -1,
 
3134
       2,    -1,     4,   142,    -1,    52,    -1,    54,    55,    56,
 
3135
      57,    -1,    -1,   217,    -1,   219,   220,    -1,    -1,    -1,
 
3136
      -1,     2,    -1,     4,    -1,    -1,    -1,    -1,    -1,    -1,
 
3137
     542,    -1,   544,    52,    -1,    54,    55,    56,    57,    -1,
 
3138
     552,    -1,    89,    -1,    -1,    -1,    -1,    49,    95,    96,
 
3139
      -1,    53,   564,    -1,   566,   567,    -1,    -1,    -1,    -1,
 
3140
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    49,   116,
 
3141
      89,    -1,   119,    -1,    76,    -1,    95,    96,    -1,    -1,
 
3142
      -1,    -1,    -1,    -1,    -1,    -1,    88,    89,    90,    91,
 
3143
      -1,    -1,   604,    -1,    -1,    -1,    -1,   116,   302,    -1,
 
3144
     119,    -1,    -1,   307,   308,   309,   310,   311,   312,   313,
 
3145
     314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
 
3146
     324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
 
3147
      -1,   335,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3148
      -1,    -1,   654,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3149
     662,    -1,    -1,   665,   666,    -1,    -1,    -1,    -1,   671,
 
3150
     672,    -1,    68,    69,    70,    71,    72,    73,    74,    75,
 
3151
      76,    77,    78,    79,    80,    -1,    -1,    83,    84,    -1,
 
3152
     384,   385,    -1,    -1,    -1,   697,    -1,    -1,   700,   701,
 
3153
     394,   395,   396,    -1,    -1,   197,   400,   709,   402,   403,
 
3154
     404,    -1,    -1,    -1,   716,   717,   112,   113,   114,   115,
 
3155
     116,   117,   118,   119,   120,   121,   197,    -1,    -1,   423,
 
3156
      -1,    -1,    -1,    -1,   428,    -1,    -1,    -1,   230,    -1,
 
3157
      -1,   743,   744,   437,    -1,    -1,   440,    -1,    -1,   241,
 
3158
     242,    -1,    -1,   755,    -1,    -1,    -1,    -1,   452,   230,
 
3159
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   261,
 
3160
     241,   242,    -1,    -1,    -1,    -1,    -1,    -1,   472,   473,
 
3161
      -1,   783,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3162
     484,   793,    -1,    -1,   796,    -1,    -1,    -1,   800,   801,
 
3163
     292,    -1,   804,    -1,    -1,   297,    -1,    -1,    -1,    -1,
 
3164
      -1,    -1,   304,   305,    -1,    -1,    -1,     2,   820,     4,
 
3165
      -1,   292,    -1,    -1,    -1,    -1,   297,    -1,    -1,    -1,
 
3166
      -1,    -1,    -1,   304,    -1,    -1,    -1,    -1,    -1,    -1,
 
3167
      -1,    -1,    -1,    -1,    -1,   337,    -1,     2,    -1,     4,
 
3168
      -1,    -1,    -1,    -1,   548,    -1,    -1,    -1,   552,    -1,
 
3169
      -1,    -1,   864,    -1,    49,     2,   337,     4,    53,    -1,
 
3170
     564,    -1,    -1,   875,    -1,    -1,    -1,    -1,    -1,    -1,
 
3171
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3172
      -1,    76,    -1,   587,    49,    -1,    -1,    -1,    53,    -1,
 
3173
      -1,    -1,    -1,    88,    89,    90,   600,   601,    -1,    -1,
 
3174
      -1,    -1,    49,    -1,    -1,    -1,   918,    -1,   920,    -1,
 
3175
      -1,    76,    -1,    -1,   926,    -1,   928,    -1,    -1,    -1,
 
3176
      -1,    -1,   424,    88,    89,    90,    91,    -1,    -1,    -1,
 
3177
      -1,   433,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   951,
 
3178
      -1,    88,    -1,   424,    -1,    -1,    -1,    -1,   450,    -1,
 
3179
      -1,    -1,   433,    -1,   658,    -1,    -1,    -1,   662,   663,
 
3180
      -1,   665,   666,    -1,    -1,    -1,    -1,   671,   672,     0,
 
3181
      -1,    -1,    -1,    -1,    -1,   679,    -1,     8,     9,    10,
 
3182
      -1,    -1,    13,    14,    15,    -1,    17,    -1,   490,    -1,
 
3183
      -1,    -1,    -1,    -1,    -1,    -1,    27,    -1,    -1,    -1,
 
3184
      -1,    -1,   197,    -1,    -1,    -1,    37,    38,    -1,    40,
 
3185
      41,    42,    43,    44,   718,    -1,    -1,    -1,    -1,   723,
 
3186
     724,    -1,   726,   727,    -1,    -1,    -1,    -1,    -1,    -1,
 
3187
     734,    -1,   197,    -1,    -1,   230,    -1,    -1,    -1,    -1,
 
3188
     542,    -1,   544,    -1,    -1,    -1,   241,   242,    -1,    -1,
 
3189
     197,    -1,    -1,    -1,    85,    -1,    -1,    -1,    -1,    -1,
 
3190
      -1,   542,    -1,   544,   566,   230,   261,    -1,   772,    -1,
 
3191
      -1,    -1,   776,    -1,    -1,    -1,   241,   242,    -1,   783,
 
3192
      -1,    -1,    -1,   230,    -1,   566,    -1,    -1,    -1,    -1,
 
3193
      -1,    -1,    -1,    -1,   241,   242,   261,   292,    -1,   803,
 
3194
      -1,    -1,   297,    -1,    -1,    -1,   137,    -1,   139,   304,
 
3195
     305,   142,   143,   615,   145,    -1,   147,   821,   822,    -1,
 
3196
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   292,    -1,    -1,
 
3197
      -1,    -1,   297,    -1,    -1,    -1,    -1,    -1,    -1,   304,
 
3198
     305,    -1,   337,    -1,    -1,   292,    -1,    -1,    -1,    -1,
 
3199
     297,    -1,   654,    -1,    -1,    -1,    -1,   304,    -1,   661,
 
3200
     307,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3201
      -1,    -1,   337,   654,    -1,    -1,    -1,    -1,    -1,    -1,
 
3202
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3203
     337,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   701,
 
3204
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   709,    -1,    -1,
 
3205
      -1,    -1,    -1,    -1,   716,   717,    -1,    -1,    -1,    -1,
 
3206
     701,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   709,   424,
 
3207
      -1,    -1,    -1,    -1,    -1,   716,   717,    -1,   433,    -1,
 
3208
      -1,   743,   744,    -1,    -1,    -1,    -1,   951,    -1,    -1,
 
3209
      -1,    -1,    -1,   755,    -1,   450,    -1,    -1,    -1,   424,
 
3210
      -1,    -1,   743,   744,    -1,    -1,    -1,    -1,   433,    -1,
 
3211
      -1,    -1,    -1,    -1,   755,    -1,    -1,   424,    -1,    -1,
 
3212
      -1,    -1,    -1,    -1,    -1,   450,   433,    -1,    -1,    -1,
 
3213
      -1,   793,    -1,    -1,    -1,   490,    -1,    -1,   800,   801,
 
3214
      -1,    -1,   804,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3215
      -1,    -1,   793,    -1,    -1,    -1,    -1,    -1,   820,   800,
 
3216
     801,    -1,    -1,   804,    -1,   490,    -1,    -1,    -1,    -1,
 
3217
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   820,
 
3218
     842,    -1,    -1,    -1,    -1,    -1,    -1,   542,    -1,   544,
3164
3219
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   860,    -1,
3165
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3166
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3167
 
      -1,    -1,    -1,   902,    -1,   904,    -1,    -1,    -1,    -1,
3168
 
      -1,   910,    -1,   912,    -1,    -1,    -1,    -1,    -1,    -1,
3169
 
     902,    -1,   904,    -1,    -1,    -1,    -1,    -1,   910,    -1,
3170
 
     912,    -1,    52,    53,    -1,    -1,    56,    -1,    -1,    -1,
3171
 
     193,    -1,    -1,   196,   197,   198,    66,    67,    68,    69,
3172
 
      70,    71,    72,    73,    74,    -1,    -1,    77,    78,    -1,
3173
 
      -1,    81,    82,    83,    84,    -1,    -1,    68,    69,    70,
3174
 
      71,    72,    73,    74,    75,    95,    77,    78,    -1,    -1,
3175
 
      -1,    -1,    83,    84,    -1,    -1,    -1,    -1,    -1,    -1,
3176
 
      -1,    -1,   112,   113,   114,   115,   116,   117,   118,   119,
3177
 
     120,   121,    -1,   123,   124,   258,    -1,    -1,    -1,    -1,
3178
 
      -1,   112,   113,   114,   115,   116,   117,   118,   119,   120,
3179
 
     121,   141,   142,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3180
 
      -1,    -1,    -1,    -1,    68,    69,    70,    71,    72,    73,
3181
 
      74,    75,    76,    77,    78,    79,    80,    -1,   301,    83,
3182
 
      84,   304,   305,   306,   307,   308,   309,   310,   311,   312,
3183
 
     313,   314,   315,   316,   317,   318,   319,   320,   321,   322,
3184
 
     323,   324,   325,   326,   327,   328,   329,    -1,   112,   113,
3185
 
     114,   115,   116,   117,   118,   119,   120,   121,    52,    53,
3186
 
      -1,    -1,    56,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3187
 
      -1,    -1,    66,    67,    68,    69,    70,    71,    72,    73,
3188
 
      74,    -1,    -1,    77,    78,    -1,    -1,    81,    82,    83,
3189
 
      84,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3190
 
      -1,    95,    -1,    -1,    -1,   388,   389,   390,    -1,    -1,
3191
 
      -1,    -1,    -1,   396,   397,   398,    -1,    -1,   112,   113,
3192
 
     114,   115,   116,   117,   118,   119,   120,   121,    -1,   123,
3193
 
     124,    -1,   415,    -1,    -1,    -1,    -1,   420,    -1,    -1,
3194
 
      -1,    -1,    -1,    -1,    -1,    -1,   429,   141,   142,   432,
3195
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   442,
3196
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3197
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3198
 
      -1,   464,   465,    -1,     0,     1,    -1,     3,     4,     5,
3199
 
       6,     7,    -1,   476,    -1,    11,    12,    -1,    -1,   482,
3200
 
      16,    -1,    18,    19,    20,    21,    22,    23,    24,    -1,
3201
 
      -1,    -1,    -1,    -1,    30,    31,    32,    33,    34,    35,
3202
 
      36,    -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,    45,
3203
 
      46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
3204
 
      56,    57,    -1,    59,    60,    -1,    62,    63,    64,    -1,
3205
 
      66,    67,    -1,    -1,    -1,   538,    -1,    -1,    -1,    -1,
3206
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3207
 
      86,    -1,    -1,    89,    90,    -1,    92,    93,    -1,    95,
3208
 
      -1,    97,    98,    99,   100,   101,   102,   103,    -1,    -1,
3209
 
      -1,    -1,    -1,    -1,   577,    -1,    -1,    -1,    -1,    -1,
3210
 
      -1,    -1,    -1,    -1,    -1,    -1,   122,   123,   124,    -1,
3211
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3212
 
     603,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   145,
3213
 
      -1,   147,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3214
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3215
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3216
 
      -1,    -1,    -1,   646,    -1,    -1,   649,   650,    -1,    -1,
3217
 
      -1,     0,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     8,
3218
 
       9,    10,    -1,   666,    13,    14,    15,    -1,    17,    -1,
3219
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    27,    28,
3220
 
      29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,
3221
 
      -1,    40,    41,    42,    43,    44,    -1,    -1,    -1,    -1,
3222
 
      -1,    -1,   705,    -1,    -1,    -1,    -1,   710,   711,    -1,
3223
 
     713,   714,    -1,    -1,    -1,    -1,    -1,   720,    -1,    68,
3224
 
      69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
3225
 
      79,    80,    -1,    -1,    83,    84,    85,    -1,    87,    88,
3226
 
      -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,    -1,
3227
 
      -1,    -1,    -1,    -1,    -1,   758,    -1,    -1,   107,   762,
3228
 
     109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
3229
 
     119,   120,   121,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3230
 
      -1,    -1,    -1,    -1,    -1,    -1,   789,    -1,   137,   138,
3231
 
     139,   140,     0,    -1,   143,   144,   145,    -1,   147,    -1,
3232
 
       8,     9,    10,    -1,   807,    13,    14,    15,    -1,    17,
3233
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    26,    27,
3234
 
      28,    -1,    -1,    -1,   827,    -1,    -1,    -1,    -1,    37,
3235
 
      38,    -1,    40,    41,    42,    43,    44,    -1,    -1,    -1,
3236
 
      -1,    -1,   845,    68,    69,    70,    71,    72,    73,    74,
3237
 
      75,    76,    77,    78,    79,    80,    -1,    -1,    83,    84,
3238
 
      68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
3239
 
      78,    79,    80,    -1,    -1,    83,    84,    85,    -1,    -1,
3240
 
      88,    -1,    -1,    -1,    -1,   110,    94,   112,   113,   114,
3241
 
     115,   116,   117,   118,   119,   120,   121,    -1,    -1,    -1,
3242
 
      -1,    -1,   110,    -1,   112,   113,   114,   115,   116,   117,
3243
 
     118,   119,   120,   121,    -1,    -1,    -1,    -1,    -1,    -1,
3244
 
      -1,    -1,   147,    -1,    -1,    -1,    -1,    -1,   136,   137,
3245
 
     138,   139,   140,     0,   142,   143,   144,   145,    -1,   147,
 
3220
      -1,    -1,   864,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3221
      -1,   566,    -1,   875,    -1,    -1,    -1,   542,    -1,   544,
 
3222
      -1,    -1,    -1,   864,    -1,    -1,    -1,    -1,    -1,    -1,
 
3223
      -1,    -1,    -1,    -1,   875,   542,    -1,   544,    -1,    -1,
 
3224
      -1,   566,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3225
      -1,    -1,    -1,    -1,    -1,    -1,   918,    -1,   920,   566,
 
3226
     615,    -1,    -1,    -1,   926,    -1,   928,    -1,    -1,    -1,
 
3227
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   918,    -1,   920,
 
3228
      -1,    -1,    -1,    -1,    -1,   926,    -1,   928,    -1,    -1,
 
3229
     615,   646,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   654,
 
3230
      -1,    -1,    -1,    -1,    -1,    -1,   661,    -1,    -1,    -1,
 
3231
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3232
      -1,    -1,    68,    69,    70,    71,    72,    73,    74,   654,
 
3233
      -1,    77,    78,    -1,    -1,    -1,   661,    83,    84,    -1,
 
3234
      -1,    -1,    -1,    -1,    -1,    -1,   701,   654,    -1,    -1,
 
3235
      -1,    -1,    -1,    -1,   709,   662,    -1,    -1,    -1,    -1,
 
3236
      -1,   716,   717,    -1,    -1,    -1,   112,   113,   114,   115,
 
3237
     116,   117,   118,   119,   120,   121,   701,    -1,    -1,    -1,
 
3238
      -1,    -1,    -1,    -1,   709,    -1,    -1,    -1,   743,   744,
 
3239
      -1,   716,   717,    -1,   701,    -1,    -1,    -1,    -1,    -1,
 
3240
     755,    -1,   709,    -1,    -1,    -1,    -1,    -1,    -1,   716,
 
3241
     717,    68,    69,    70,    71,    72,    73,    74,   743,   744,
 
3242
      77,    78,    -1,    -1,    -1,    -1,    83,    84,    -1,    -1,
 
3243
     755,    -1,    -1,    -1,    -1,    -1,   743,   744,   793,    -1,
 
3244
      -1,    -1,    -1,    -1,    -1,   800,   801,    -1,   755,   804,
 
3245
      -1,    -1,    -1,    -1,    -1,   112,   113,   114,   115,   116,
 
3246
     117,   118,   119,   120,   121,   820,    -1,    -1,   793,    -1,
 
3247
      -1,    -1,    -1,    -1,    -1,   800,   801,    -1,    -1,   804,
 
3248
      -1,    -1,    -1,    -1,    -1,    -1,   793,   842,    -1,    -1,
 
3249
      -1,    -1,    -1,   800,   801,   820,    -1,   804,    -1,    -1,
 
3250
      -1,    -1,    -1,    -1,    -1,   860,    -1,    -1,    -1,   864,
 
3251
      -1,    -1,    -1,   820,    -1,    -1,    -1,   842,    -1,    -1,
 
3252
     875,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3253
      -1,    -1,    -1,    -1,    -1,   860,    -1,    -1,    -1,   864,
 
3254
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3255
     875,    -1,    -1,   860,    -1,    -1,    -1,   864,    -1,    -1,
 
3256
      -1,    -1,    -1,   918,    -1,   920,    -1,    -1,   875,    -1,
 
3257
      -1,   926,    -1,   928,    -1,    -1,    -1,    -1,    -1,    -1,
 
3258
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3259
      -1,    -1,    -1,   918,    -1,   920,    -1,    -1,    -1,    -1,
 
3260
      -1,   926,    -1,   928,    -1,    -1,    -1,    -1,    -1,    -1,
 
3261
      -1,   918,    -1,   920,    -1,    -1,    -1,    -1,    -1,   926,
 
3262
      -1,   928,     0,     1,    -1,     3,     4,     5,     6,     7,
 
3263
      -1,    -1,    -1,    11,    12,    -1,    -1,    -1,    16,    -1,
 
3264
      18,    19,    20,    21,    22,    23,    24,    -1,    -1,    -1,
 
3265
      -1,    -1,    30,    31,    32,    33,    34,    35,    36,    -1,
 
3266
      -1,    39,    -1,    -1,    -1,    -1,    -1,    45,    46,    47,
 
3267
      48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
 
3268
      -1,    59,    60,    -1,    62,    63,    64,    -1,    66,    67,
 
3269
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3270
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    86,    -1,
 
3271
      -1,    89,    90,    -1,    92,    93,    -1,    95,    -1,    97,
 
3272
      98,    99,   100,   101,   102,   103,    -1,    -1,    -1,    -1,
 
3273
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3274
      -1,    -1,    -1,     0,   122,   123,   124,    -1,    -1,    -1,
3246
3275
      -1,     8,     9,    10,    -1,    -1,    13,    14,    15,    -1,
3247
 
      17,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3276
      17,    -1,    -1,    -1,    -1,    -1,    -1,   145,    -1,   147,
3248
3277
      27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3249
3278
      37,    38,    -1,    40,    41,    42,    43,    44,    -1,    -1,
3250
3279
      -1,    -1,    -1,    -1,    68,    69,    70,    71,    72,    73,
3251
3280
      74,    75,    76,    77,    78,    79,    80,    -1,    -1,    83,
3252
3281
      84,    68,    69,    70,    71,    72,    73,    74,    75,    76,
3253
3282
      77,    78,    79,    80,    -1,    -1,    83,    84,    85,    -1,
3254
 
      -1,    88,    -1,    -1,    -1,    -1,   110,    94,   112,   113,
 
3283
      87,    88,    -1,    -1,    -1,    -1,   110,    94,   112,   113,
3255
3284
     114,   115,   116,   117,   118,   119,   120,   121,    -1,    -1,
3256
 
     107,    -1,    -1,   110,   111,   112,   113,   114,   115,   116,
 
3285
     107,    -1,   109,   110,   111,   112,   113,   114,   115,   116,
3257
3286
     117,   118,   119,   120,   121,    -1,    -1,    -1,    -1,    -1,
3258
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3287
      -1,    -1,    -1,   147,    -1,    -1,    -1,    -1,    -1,    -1,
3259
3288
     137,   138,   139,   140,     0,    -1,   143,   144,   145,    -1,
3260
3289
     147,    -1,     8,     9,    10,    -1,    -1,    13,    14,    15,
3261
3290
      -1,    17,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3262
3291
      26,    27,    28,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3263
3292
      -1,    37,    38,    -1,    40,    41,    42,    43,    44,    -1,
3264
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3265
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3266
 
      -1,    -1,    68,    69,    70,    71,    72,    73,    74,    75,
 
3293
      -1,    -1,    -1,    -1,    -1,    68,    69,    70,    71,    72,
 
3294
      73,    74,    75,    76,    77,    78,    79,    80,    -1,    -1,
 
3295
      83,    84,    68,    69,    70,    71,    72,    73,    74,    75,
3267
3296
      76,    77,    78,    79,    80,    -1,    -1,    83,    84,    85,
3268
 
      -1,    -1,    88,    -1,    -1,    -1,    -1,    -1,    94,    -1,
3269
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3297
      -1,    -1,    88,    -1,    -1,    -1,    -1,   110,    94,   112,
 
3298
     113,   114,   115,   116,   117,   118,   119,   120,   121,    -1,
3270
3299
      -1,    -1,    -1,    -1,   110,    -1,   112,   113,   114,   115,
3271
3300
     116,   117,   118,   119,   120,   121,    -1,    -1,    -1,    -1,
3272
3301
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3273
3302
     136,   137,   138,   139,   140,     0,   142,   143,   144,   145,
3274
3303
      -1,   147,    -1,     8,     9,    10,    -1,    -1,    13,    14,
3275
3304
      15,    -1,    17,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3276
 
      -1,    -1,    27,    28,    -1,    -1,    -1,    -1,    -1,    -1,
 
3305
      -1,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,
3277
3306
      -1,    -1,    37,    38,    -1,    40,    41,    42,    43,    44,
3278
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3279
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3280
 
      -1,    -1,    -1,    68,    69,    70,    71,    72,    73,    74,
 
3307
      -1,    -1,    -1,    -1,    -1,    -1,    68,    69,    70,    71,
 
3308
      72,    73,    74,    75,    -1,    77,    78,    -1,    -1,    -1,
 
3309
      -1,    83,    84,    68,    69,    70,    71,    72,    73,    74,
3281
3310
      75,    76,    77,    78,    79,    80,    -1,    -1,    83,    84,
3282
3311
      85,    -1,    -1,    88,    -1,    -1,    -1,    -1,    -1,    94,
3283
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3284
 
      -1,    -1,    -1,    -1,    -1,   110,    -1,   112,   113,   114,
 
3312
     112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
 
3313
      -1,    -1,   107,    -1,    -1,   110,   111,   112,   113,   114,
3285
3314
     115,   116,   117,   118,   119,   120,   121,    -1,    -1,    -1,
3286
3315
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3287
 
      -1,    -1,   137,   138,   139,   140,     0,   142,   143,   144,
3288
 
     145,    -1,   147,    -1,     8,     9,    10,    -1,    -1,    -1,
 
3316
      -1,    -1,   137,   138,   139,   140,     0,    -1,   143,   144,
 
3317
     145,    -1,   147,    -1,     8,     9,    10,    -1,    -1,    13,
3289
3318
      14,    15,    -1,    17,    -1,    -1,    -1,    -1,    -1,    -1,
3290
 
      -1,    -1,    26,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3319
      -1,    -1,    26,    27,    28,    -1,    -1,    -1,    -1,    -1,
3291
3320
      -1,    -1,    -1,    37,    38,    -1,    40,    41,    42,    43,
3292
3321
      44,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3293
3322
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3294
3323
      -1,    -1,    -1,    -1,    68,    69,    70,    71,    72,    73,
3295
3324
      74,    75,    76,    77,    78,    79,    80,    -1,    -1,    83,
3296
 
      84,    85,     0,    87,    -1,    -1,    -1,    -1,    -1,    -1,
3297
 
       8,     9,    10,    -1,    -1,    -1,    14,    15,    -1,    17,
3298
 
      -1,    -1,    -1,    -1,    -1,   109,   110,    -1,   112,   113,
3299
 
     114,   115,   116,   117,   118,   119,   120,   121,    -1,    37,
3300
 
      38,    -1,    40,    41,    42,    43,    44,    -1,    -1,    -1,
3301
 
      -1,    -1,   136,   137,   138,   139,   140,    -1,    -1,   143,
3302
 
      -1,   145,    -1,   147,    -1,    -1,    -1,    -1,    -1,    -1,
3303
 
      68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
3304
 
      78,    79,    80,    -1,    -1,    83,    84,    85,    -1,    87,
3305
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3306
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3307
 
      -1,   109,   110,    -1,   112,   113,   114,   115,   116,   117,
3308
 
     118,   119,   120,   121,    -1,    -1,    -1,    -1,    -1,    -1,
3309
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   137,
3310
 
     138,   139,   140,    -1,    -1,   143,    -1,   145,     1,   147,
3311
 
       3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
3312
 
      -1,    -1,    15,    16,    -1,    18,    19,    20,    21,    22,
3313
 
      23,    24,    -1,    -1,    -1,    -1,    -1,    30,    31,    32,
3314
 
      33,    34,    35,    36,    -1,    -1,    39,    -1,    -1,    -1,
3315
 
      -1,    -1,    45,    46,    -1,    48,    49,    50,    51,    52,
3316
 
      53,    54,    55,    56,    57,    -1,    59,    60,    -1,    62,
3317
 
      63,    64,    -1,    66,    67,    -1,    -1,    -1,    -1,    -1,
3318
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3319
 
      -1,    -1,    -1,    86,    -1,    -1,    89,    90,    -1,    92,
3320
 
      93,    -1,    95,    -1,    97,    98,    99,   100,   101,   102,
3321
 
     103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3322
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   122,
3323
 
     123,   124,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3324
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3325
 
      -1,    -1,   145,     1,   147,     3,     4,     5,     6,     7,
3326
 
      -1,    -1,    10,    11,    12,    -1,    14,    15,    16,    -1,
3327
 
      18,    19,    20,    21,    22,    23,    24,    -1,    -1,    -1,
3328
 
      -1,    -1,    30,    31,    32,    33,    34,    35,    36,    -1,
3329
 
      -1,    39,    -1,    -1,    -1,    -1,    -1,    45,    46,    -1,
3330
 
      48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
3331
 
      -1,    59,    60,    -1,    62,    63,    64,    -1,    66,    67,
3332
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3333
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    86,    -1,
3334
 
      -1,    89,    90,    -1,    92,    93,    -1,    95,    -1,    97,
3335
 
      98,    99,   100,   101,   102,   103,    -1,    -1,    -1,    -1,
3336
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3337
 
      -1,    -1,    -1,    -1,   122,   123,   124,    -1,    -1,    -1,
3338
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3339
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   145,     1,   147,
3340
 
       3,     4,     5,     6,     7,    -1,    -1,    10,    11,    12,
3341
 
      -1,    -1,    15,    16,    17,    18,    19,    20,    21,    22,
3342
 
      23,    24,    -1,    -1,    -1,    -1,    -1,    30,    31,    32,
3343
 
      33,    34,    35,    36,    -1,    -1,    39,    -1,    -1,    -1,
3344
 
      -1,    -1,    45,    46,    -1,    48,    49,    50,    51,    52,
3345
 
      53,    54,    55,    56,    57,    -1,    59,    60,    -1,    62,
3346
 
      63,    64,    -1,    66,    67,    -1,    -1,    -1,    -1,    -1,
3347
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3348
 
      -1,    -1,    -1,    86,    -1,    -1,    89,    90,    -1,    92,
3349
 
      93,    -1,    95,    -1,    97,    98,    99,   100,   101,   102,
3350
 
     103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3351
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   122,
3352
 
     123,   124,    -1,    -1,    -1,    -1,    -1,    -1,     1,    -1,
 
3325
      84,    85,    -1,    -1,    88,    -1,    -1,    -1,    -1,    -1,
 
3326
      94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3327
      -1,    -1,    -1,    -1,    -1,    -1,   110,    -1,   112,   113,
 
3328
     114,   115,   116,   117,   118,   119,   120,   121,    -1,    -1,
 
3329
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3330
      -1,    -1,   136,   137,   138,   139,   140,     0,   142,   143,
 
3331
     144,   145,    -1,   147,    -1,     8,     9,    10,    -1,    -1,
 
3332
      13,    14,    15,    -1,    17,    -1,    -1,    -1,    -1,    -1,
 
3333
      -1,    -1,    -1,    -1,    27,    28,    -1,    -1,    -1,    -1,
 
3334
      -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,    42,
 
3335
      43,    44,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3336
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3337
      -1,    -1,    -1,    -1,    -1,    68,    69,    70,    71,    72,
 
3338
      73,    74,    75,    76,    77,    78,    79,    80,    -1,    -1,
 
3339
      83,    84,    85,    -1,    -1,    88,    -1,    -1,    -1,    -1,
 
3340
      -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3341
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,    -1,   112,
 
3342
     113,   114,   115,   116,   117,   118,   119,   120,   121,    -1,
 
3343
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3344
      -1,    -1,    -1,    -1,   137,   138,   139,   140,     0,   142,
 
3345
     143,   144,   145,    -1,   147,    -1,     8,     9,    10,    -1,
 
3346
      -1,    -1,    14,    15,    -1,    17,    -1,    -1,    -1,    -1,
 
3347
      -1,    -1,    -1,    -1,    26,    -1,    -1,    -1,    -1,    -1,
 
3348
      -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,
 
3349
      42,    43,    44,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3350
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3351
      -1,    -1,    -1,    -1,    -1,    -1,    68,    69,    70,    71,
 
3352
      72,    73,    74,    75,    76,    77,    78,    79,    80,    -1,
 
3353
      -1,    83,    84,    85,     0,    87,    -1,    -1,    -1,    -1,
 
3354
      -1,    -1,     8,     9,    10,    -1,    -1,    -1,    14,    15,
 
3355
      -1,    17,    -1,    -1,    -1,    -1,    -1,   109,   110,    -1,
 
3356
     112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
 
3357
      -1,    37,    38,    -1,    40,    41,    42,    43,    44,    -1,
 
3358
      -1,    -1,    -1,    -1,   136,   137,   138,   139,   140,    -1,
 
3359
      -1,   143,    -1,   145,    -1,   147,    -1,    -1,    -1,    -1,
 
3360
      -1,    -1,    68,    69,    70,    71,    72,    73,    74,    75,
 
3361
      76,    77,    78,    79,    80,    -1,    -1,    83,    84,    85,
 
3362
      -1,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3363
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3364
      -1,    -1,    -1,   109,   110,    -1,   112,   113,   114,   115,
 
3365
     116,   117,   118,   119,   120,   121,    -1,    -1,    -1,    -1,
 
3366
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3367
      -1,   137,   138,   139,   140,    -1,    -1,   143,    -1,   145,
 
3368
       1,   147,     3,     4,     5,     6,     7,     8,     9,    10,
 
3369
      11,    12,    -1,    -1,    15,    16,    -1,    18,    19,    20,
 
3370
      21,    22,    23,    24,    -1,    -1,    -1,    -1,    -1,    30,
 
3371
      31,    32,    33,    34,    35,    36,    -1,    -1,    39,    -1,
 
3372
      -1,    -1,    -1,    -1,    45,    46,    -1,    48,    49,    50,
 
3373
      51,    52,    53,    54,    55,    56,    57,    -1,    59,    60,
 
3374
      -1,    62,    63,    64,    -1,    66,    67,    -1,    -1,    -1,
 
3375
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3376
      -1,    -1,    -1,    -1,    -1,    86,    -1,    -1,    89,    90,
 
3377
      -1,    92,    93,    -1,    95,    -1,    97,    98,    99,   100,
 
3378
     101,   102,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3379
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3380
      -1,   122,   123,   124,    -1,    -1,    -1,    -1,    -1,    -1,
 
3381
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3382
      -1,    -1,    -1,    -1,   145,     1,   147,     3,     4,     5,
 
3383
       6,     7,    -1,    -1,    10,    11,    12,    -1,    14,    15,
 
3384
      16,    -1,    18,    19,    20,    21,    22,    23,    24,    -1,
 
3385
      -1,    -1,    -1,    -1,    30,    31,    32,    33,    34,    35,
 
3386
      36,    -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,    45,
 
3387
      46,    -1,    48,    49,    50,    51,    52,    53,    54,    55,
 
3388
      56,    57,    -1,    59,    60,    -1,    62,    63,    64,    -1,
 
3389
      66,    67,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3390
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3391
      86,    -1,    -1,    89,    90,    -1,    92,    93,    -1,    95,
 
3392
      -1,    97,    98,    99,   100,   101,   102,   103,    -1,    -1,
 
3393
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3394
      -1,    -1,    -1,    -1,    -1,    -1,   122,   123,   124,    -1,
 
3395
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3396
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   145,
 
3397
       1,   147,     3,     4,     5,     6,     7,    -1,    -1,    10,
 
3398
      11,    12,    -1,    -1,    15,    16,    17,    18,    19,    20,
 
3399
      21,    22,    23,    24,    -1,    -1,    -1,    -1,    -1,    30,
 
3400
      31,    32,    33,    34,    35,    36,    -1,    -1,    39,    -1,
 
3401
      -1,    -1,    -1,    -1,    45,    46,    -1,    48,    49,    50,
 
3402
      51,    52,    53,    54,    55,    56,    57,    -1,    59,    60,
 
3403
      -1,    62,    63,    64,    -1,    66,    67,    -1,    -1,    -1,
 
3404
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3405
      -1,    -1,    -1,    -1,    -1,    86,    -1,    -1,    89,    90,
 
3406
      -1,    92,    93,    -1,    95,    -1,    97,    98,    99,   100,
 
3407
     101,   102,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3408
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3409
      -1,   122,   123,   124,    -1,    -1,    -1,    -1,    -1,    -1,
 
3410
       1,    -1,     3,     4,     5,     6,     7,    -1,    -1,    -1,
 
3411
      11,    12,    -1,    -1,   145,    16,   147,    18,    19,    20,
 
3412
      21,    22,    23,    24,    -1,    -1,    -1,    -1,    -1,    30,
 
3413
      31,    32,    33,    34,    35,    36,    -1,    -1,    39,    -1,
 
3414
      -1,    -1,    -1,    -1,    45,    46,    47,    48,    49,    50,
 
3415
      51,    52,    53,    54,    55,    56,    57,    -1,    59,    60,
 
3416
      -1,    62,    63,    64,    -1,    66,    67,    -1,    -1,    -1,
 
3417
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3418
      -1,    -1,    -1,    -1,    -1,    86,    -1,    -1,    89,    90,
 
3419
      -1,    92,    93,    -1,    95,    -1,    97,    98,    99,   100,
 
3420
     101,   102,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3421
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3422
      -1,   122,   123,   124,    -1,    -1,    -1,    -1,    -1,    -1,
 
3423
      -1,    -1,    -1,    -1,    -1,    -1,   137,    -1,    -1,    -1,
 
3424
      -1,    -1,    -1,    -1,   145,     1,   147,     3,     4,     5,
 
3425
       6,     7,    -1,    -1,    10,    11,    12,    -1,    -1,    15,
 
3426
      16,    -1,    18,    19,    20,    21,    22,    23,    24,    -1,
 
3427
      -1,    -1,    -1,    -1,    30,    31,    32,    33,    34,    35,
 
3428
      36,    -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,    45,
 
3429
      46,    -1,    48,    49,    50,    51,    52,    53,    54,    55,
 
3430
      56,    57,    -1,    59,    60,    -1,    62,    63,    64,    -1,
 
3431
      66,    67,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3432
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3433
      86,    -1,    -1,    89,    90,    -1,    92,    93,    -1,    95,
 
3434
      -1,    97,    98,    99,   100,   101,   102,   103,    -1,    -1,
 
3435
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3436
      -1,    -1,    -1,    -1,    -1,    -1,   122,   123,   124,    -1,
 
3437
      -1,    -1,    -1,    -1,    -1,     1,    -1,     3,     4,     5,
 
3438
       6,     7,    -1,     9,    10,    11,    12,    -1,    -1,   145,
 
3439
      16,   147,    18,    19,    20,    21,    22,    23,    24,    -1,
 
3440
      -1,    -1,    -1,    -1,    30,    31,    32,    33,    34,    35,
 
3441
      36,    -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,    45,
 
3442
      46,    -1,    48,    49,    50,    51,    52,    53,    54,    55,
 
3443
      56,    57,    -1,    59,    60,    -1,    62,    63,    64,    -1,
 
3444
      66,    67,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3445
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3446
      86,    -1,    -1,    89,    90,    -1,    92,    93,    -1,    95,
 
3447
      -1,    97,    98,    99,   100,   101,   102,   103,    -1,    -1,
 
3448
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3449
      -1,    -1,    -1,    -1,    -1,    -1,   122,   123,   124,    -1,
 
3450
      -1,    -1,    -1,    -1,    -1,     1,    -1,     3,     4,     5,
 
3451
       6,     7,    -1,    -1,    -1,    11,    12,    -1,    -1,   145,
 
3452
      16,   147,    18,    19,    20,    21,    22,    23,    24,    -1,
 
3453
      -1,    -1,    -1,    -1,    30,    31,    32,    33,    34,    35,
 
3454
      36,    -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,    45,
 
3455
      46,    -1,    48,    49,    50,    51,    52,    53,    54,    55,
 
3456
      56,    57,    -1,    59,    60,    -1,    62,    63,    64,    -1,
 
3457
      66,    67,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3458
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3459
      86,    -1,    -1,    89,    90,    -1,    92,    93,    -1,    95,
 
3460
      -1,    97,    98,    99,   100,   101,   102,   103,    -1,    -1,
 
3461
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3462
      -1,    -1,    -1,    -1,    -1,    -1,   122,   123,   124,    -1,
 
3463
      -1,    -1,    -1,    -1,    -1,     1,    -1,     3,     4,     5,
 
3464
       6,     7,    -1,    -1,    -1,    11,    12,   143,    -1,   145,
 
3465
      16,   147,    18,    19,    20,    21,    22,    23,    24,    -1,
 
3466
      -1,    -1,    -1,    -1,    30,    31,    32,    33,    34,    35,
 
3467
      36,    -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,    45,
 
3468
      46,    -1,    48,    49,    50,    51,    52,    53,    54,    55,
 
3469
      56,    57,    -1,    59,    60,    -1,    62,    63,    64,    -1,
 
3470
      66,    67,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3471
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3472
      86,    -1,    -1,    89,    90,    -1,    92,    93,    -1,    95,
 
3473
      -1,    97,    98,    99,   100,   101,   102,   103,    -1,    -1,
 
3474
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3475
      -1,    -1,    -1,    -1,    -1,    -1,   122,   123,   124,    -1,
 
3476
      -1,    -1,    -1,    -1,    -1,     1,    -1,     3,     4,     5,
 
3477
       6,     7,    -1,    -1,    -1,    11,    12,   143,    -1,   145,
 
3478
      16,   147,    18,    19,    20,    21,    22,    23,    24,    -1,
 
3479
      -1,    -1,    -1,    -1,    30,    31,    32,    33,    34,    35,
 
3480
      36,    -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,    45,
 
3481
      46,    -1,    48,    49,    50,    51,    52,    53,    54,    55,
 
3482
      56,    57,    -1,    59,    60,    -1,    62,    63,    64,    -1,
 
3483
      66,    67,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3484
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3485
      86,    -1,    -1,    89,    90,    -1,    92,    93,    -1,    95,
 
3486
      -1,    97,    98,    99,   100,   101,   102,   103,    -1,    -1,
 
3487
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3488
      -1,    -1,    -1,    -1,    -1,    -1,   122,   123,   124,    -1,
 
3489
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3490
      -1,   137,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   145,
 
3491
       1,   147,     3,     4,     5,     6,     7,    -1,    -1,    10,
 
3492
      11,    12,    -1,    -1,    -1,    16,    -1,    18,    19,    20,
 
3493
      21,    22,    23,    24,    -1,    -1,    -1,    -1,    -1,    30,
 
3494
      31,    32,    33,    34,    35,    36,    -1,    -1,    39,    -1,
 
3495
      -1,    -1,    -1,    -1,    45,    46,    -1,    48,    49,    50,
 
3496
      51,    52,    53,    54,    55,    56,    57,    -1,    59,    60,
 
3497
      -1,    62,    63,    64,    -1,    66,    67,    -1,    -1,    -1,
 
3498
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3499
      -1,    -1,    -1,    -1,    -1,    86,    -1,    -1,    89,    90,
 
3500
      -1,    92,    93,    -1,    95,    -1,    97,    98,    99,   100,
 
3501
     101,   102,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3502
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3503
      -1,   122,   123,   124,    -1,    -1,    -1,    -1,    -1,    -1,
 
3504
      -1,    -1,     3,     4,     5,    -1,     7,    -1,    -1,    -1,
 
3505
      11,    12,    -1,    -1,   145,    16,   147,    18,    19,    20,
 
3506
      21,    22,    23,    24,    -1,    -1,    -1,    -1,    -1,    30,
 
3507
      31,    32,    33,    34,    35,    36,    -1,    -1,    39,    -1,
 
3508
      -1,    -1,    -1,    -1,    -1,    46,    -1,    -1,    49,    50,
 
3509
      51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
 
3510
      -1,    62,    63,    64,    -1,    66,    67,    -1,    -1,    -1,
 
3511
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3512
      -1,    -1,    -1,    -1,    -1,    86,    -1,    -1,    89,    90,
 
3513
      -1,    92,    93,    -1,    95,    96,    97,    98,    99,   100,
 
3514
     101,   102,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3515
      -1,     3,     4,     5,    -1,     7,    -1,    -1,    -1,    11,
 
3516
      12,   122,   123,   124,    16,    -1,    18,    19,    20,    21,
 
3517
      22,    23,    24,    -1,    -1,    -1,    -1,    -1,    30,    31,
 
3518
      32,    33,    34,    35,    36,    -1,   147,    39,    -1,    -1,
 
3519
      -1,    -1,    -1,    -1,    46,    -1,    -1,    49,    50,    51,
 
3520
      52,    53,    54,    55,    56,    57,    -1,    59,    60,    -1,
 
3521
      62,    63,    64,    -1,    66,    67,    -1,    -1,    -1,    -1,
 
3522
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3523
      -1,    -1,    -1,    -1,    86,    -1,    -1,    89,    90,    -1,
 
3524
      92,    93,    -1,    -1,    -1,    97,    98,    99,   100,   101,
 
3525
     102,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3526
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3527
     122,   123,   124,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3528
      -1,     3,     4,     5,    -1,     7,    -1,    -1,    -1,    11,
 
3529
      12,    -1,    -1,   145,    16,   147,    18,    19,    20,    21,
 
3530
      22,    23,    24,    -1,    -1,    -1,    -1,    -1,    30,    31,
 
3531
      32,    33,    34,    35,    36,    -1,    -1,    39,    -1,    -1,
 
3532
      -1,    -1,    -1,    -1,    46,    -1,    -1,    49,    50,    51,
 
3533
      52,    53,    54,    55,    56,    57,    -1,    59,    60,    -1,
 
3534
      62,    63,    64,    -1,    66,    67,    -1,    -1,    -1,    -1,
 
3535
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3536
      -1,    -1,    -1,    -1,    86,    -1,    -1,    89,    90,    -1,
 
3537
      92,    93,    -1,    -1,    -1,    97,    98,    99,   100,   101,
 
3538
     102,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3353
3539
       3,     4,     5,     6,     7,    -1,    -1,    -1,    11,    12,
3354
 
      -1,    -1,   145,    16,   147,    18,    19,    20,    21,    22,
 
3540
     122,   123,   124,    16,    -1,    18,    19,    20,    21,    22,
3355
3541
      23,    24,    -1,    -1,    -1,    -1,    -1,    30,    31,    32,
3356
 
      33,    34,    35,    36,    -1,    -1,    39,    -1,    -1,    -1,
 
3542
      33,    34,    35,    36,    -1,   147,    39,    -1,    -1,    -1,
3357
3543
      -1,    -1,    45,    46,    47,    48,    49,    50,    51,    52,
3358
3544
      53,    54,    55,    56,    57,    -1,    59,    60,    -1,    62,
3359
3545
      63,    64,    -1,    66,    67,    -1,    -1,    -1,    -1,    -1,
3362
3548
      93,    -1,    95,    -1,    97,    98,    99,   100,   101,   102,
3363
3549
     103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3364
3550
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   122,
3365
 
     123,   124,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3366
 
      -1,    -1,    -1,    -1,   137,    -1,    -1,    -1,    -1,    -1,
3367
 
      -1,    -1,   145,     1,   147,     3,     4,     5,     6,     7,
3368
 
      -1,    -1,    10,    11,    12,    -1,    -1,    15,    16,    -1,
3369
 
      18,    19,    20,    21,    22,    23,    24,    -1,    -1,    -1,
3370
 
      -1,    -1,    30,    31,    32,    33,    34,    35,    36,    -1,
3371
 
      -1,    39,    -1,    -1,    -1,    -1,    -1,    45,    46,    -1,
3372
 
      48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
3373
 
      -1,    59,    60,    -1,    62,    63,    64,    -1,    66,    67,
3374
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3375
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    86,    -1,
3376
 
      -1,    89,    90,    -1,    92,    93,    -1,    95,    -1,    97,
3377
 
      98,    99,   100,   101,   102,   103,    -1,    -1,    -1,    -1,
3378
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3379
 
      -1,    -1,    -1,    -1,   122,   123,   124,    -1,    -1,    -1,
3380
 
      -1,    -1,    -1,     1,    -1,     3,     4,     5,     6,     7,
3381
 
      -1,     9,    10,    11,    12,    -1,    -1,   145,    16,   147,
3382
 
      18,    19,    20,    21,    22,    23,    24,    -1,    -1,    -1,
3383
 
      -1,    -1,    30,    31,    32,    33,    34,    35,    36,    -1,
3384
 
      -1,    39,    -1,    -1,    -1,    -1,    -1,    45,    46,    -1,
3385
 
      48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
3386
 
      -1,    59,    60,    -1,    62,    63,    64,    -1,    66,    67,
3387
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3388
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    86,    -1,
3389
 
      -1,    89,    90,    -1,    92,    93,    -1,    95,    -1,    97,
3390
 
      98,    99,   100,   101,   102,   103,    -1,    -1,    -1,    -1,
3391
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3392
 
      -1,    -1,    -1,    -1,   122,   123,   124,    -1,    -1,    -1,
3393
 
      -1,    -1,    -1,     1,    -1,     3,     4,     5,     6,     7,
3394
 
      -1,    -1,    -1,    11,    12,    -1,    -1,   145,    16,   147,
3395
 
      18,    19,    20,    21,    22,    23,    24,    -1,    -1,    -1,
3396
 
      -1,    -1,    30,    31,    32,    33,    34,    35,    36,    -1,
3397
 
      -1,    39,    -1,    -1,    -1,    -1,    -1,    45,    46,    -1,
3398
 
      48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
3399
 
      -1,    59,    60,    -1,    62,    63,    64,    -1,    66,    67,
3400
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3401
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    86,    -1,
3402
 
      -1,    89,    90,    -1,    92,    93,    -1,    95,    -1,    97,
3403
 
      98,    99,   100,   101,   102,   103,    -1,    -1,    -1,    -1,
3404
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3405
 
      -1,    -1,    -1,    -1,   122,   123,   124,    -1,    -1,    -1,
3406
 
      -1,    -1,    -1,     1,    -1,     3,     4,     5,     6,     7,
3407
 
      -1,    -1,    -1,    11,    12,   143,    -1,   145,    16,   147,
3408
 
      18,    19,    20,    21,    22,    23,    24,    -1,    -1,    -1,
3409
 
      -1,    -1,    30,    31,    32,    33,    34,    35,    36,    -1,
3410
 
      -1,    39,    -1,    -1,    -1,    -1,    -1,    45,    46,    -1,
3411
 
      48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
3412
 
      -1,    59,    60,    -1,    62,    63,    64,    -1,    66,    67,
3413
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3414
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    86,    -1,
3415
 
      -1,    89,    90,    -1,    92,    93,    -1,    95,    -1,    97,
3416
 
      98,    99,   100,   101,   102,   103,    -1,    -1,    -1,    -1,
3417
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3418
 
      -1,    -1,    -1,    -1,   122,   123,   124,    -1,    -1,    -1,
3419
 
      -1,    -1,    -1,     1,    -1,     3,     4,     5,     6,     7,
3420
 
      -1,    -1,    -1,    11,    12,   143,    -1,   145,    16,   147,
3421
 
      18,    19,    20,    21,    22,    23,    24,    -1,    -1,    -1,
3422
 
      -1,    -1,    30,    31,    32,    33,    34,    35,    36,    -1,
3423
 
      -1,    39,    -1,    -1,    -1,    -1,    -1,    45,    46,    -1,
3424
 
      48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
3425
 
      -1,    59,    60,    -1,    62,    63,    64,    -1,    66,    67,
3426
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3427
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    86,    -1,
3428
 
      -1,    89,    90,    -1,    92,    93,    -1,    95,    -1,    97,
3429
 
      98,    99,   100,   101,   102,   103,    -1,    -1,    -1,    -1,
3430
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3431
 
      -1,    -1,    -1,    -1,   122,   123,   124,    -1,    -1,    -1,
3432
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   137,
3433
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   145,     1,   147,
3434
 
       3,     4,     5,     6,     7,    -1,    -1,    10,    11,    12,
 
3551
     123,   124,    -1,    -1,    -1,    -1,    -1,    -1,     3,     4,
 
3552
       5,     6,     7,    -1,    -1,    -1,    11,    12,    -1,    -1,
 
3553
      -1,    16,   145,    18,    19,    20,    21,    22,    23,    24,
 
3554
      -1,    -1,    -1,    -1,    -1,    30,    31,    32,    33,    34,
 
3555
      35,    36,    -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,
 
3556
      45,    46,    -1,    48,    49,    50,    51,    52,    53,    54,
 
3557
      55,    56,    57,    -1,    59,    60,    -1,    62,    63,    64,
 
3558
      -1,    66,    67,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3559
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3560
      -1,    86,    -1,    -1,    89,    90,    -1,    92,    93,    -1,
 
3561
      95,    -1,    97,    98,    99,   100,   101,   102,   103,    -1,
 
3562
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3563
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   122,   123,   124,
 
3564
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3565
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3566
     145,     3,     4,     5,     6,     7,     8,     9,    10,    11,
 
3567
      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
 
3568
      22,    23,    24,    25,    26,    -1,    -1,    -1,    30,    31,
 
3569
      32,    33,    34,    35,    36,    37,    38,    39,    -1,    -1,
 
3570
      -1,    -1,    -1,    45,    46,    47,    48,    49,    50,    51,
 
3571
      52,    53,    54,    55,    56,    57,    -1,    -1,    -1,    -1,
 
3572
      -1,    -1,    -1,    -1,    66,    67,    68,    69,    70,    71,
 
3573
      72,    73,    74,    -1,    -1,    77,    78,    -1,    -1,    81,
 
3574
      82,    83,    84,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3575
      -1,    -1,    -1,    95,    -1,    -1,    -1,    -1,    -1,    -1,
 
3576
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3577
     112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
 
3578
      -1,   123,   124,    -1,    -1,    -1,    -1,    -1,     3,     4,
 
3579
       5,    -1,     7,    -1,    -1,    -1,    11,    12,    -1,   141,
 
3580
     142,    16,    -1,    18,    19,    20,    21,    22,    23,    24,
 
3581
      -1,    26,    -1,    -1,    -1,    30,    31,    32,    33,    34,
 
3582
      35,    36,    -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,
 
3583
      -1,    46,    -1,    -1,    49,    50,    51,    52,    53,    54,
 
3584
      55,    56,    57,    58,    59,    60,    -1,    62,    63,    64,
 
3585
      -1,    66,    67,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3586
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3587
      -1,    86,    -1,    -1,    89,    90,    -1,    92,    93,    -1,
 
3588
      95,    96,    97,    98,    99,   100,   101,   102,   103,    -1,
 
3589
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3590
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   122,   123,   124,
 
3591
      -1,    -1,    -1,    -1,    -1,     3,     4,     5,    -1,     7,
 
3592
      -1,   136,    -1,    11,    12,    -1,    -1,   142,    16,    -1,
 
3593
      18,    19,    20,    21,    22,    23,    24,    -1,    26,    -1,
 
3594
      -1,    -1,    30,    31,    32,    33,    34,    35,    36,    -1,
 
3595
      -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,    46,    -1,
 
3596
      -1,    49,    50,    51,    52,    53,    54,    55,    56,    57,
 
3597
      58,    59,    60,    -1,    62,    63,    64,    -1,    66,    67,
 
3598
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3599
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    86,    -1,
 
3600
      -1,    89,    90,    -1,    92,    93,    -1,    95,    96,    97,
 
3601
      98,    99,   100,   101,   102,   103,    -1,    -1,    -1,    -1,
 
3602
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3603
      -1,    -1,    -1,    -1,   122,   123,   124,    -1,    -1,    -1,
 
3604
      -1,    -1,     3,     4,     5,    -1,     7,    -1,   136,    -1,
 
3605
      11,    12,    -1,    -1,   142,    16,    -1,    18,    19,    20,
 
3606
      21,    22,    23,    24,    -1,    -1,    -1,    -1,    -1,    30,
 
3607
      31,    32,    33,    34,    35,    36,    -1,    -1,    39,    -1,
 
3608
      -1,    -1,    -1,    -1,    -1,    46,    -1,    -1,    49,    50,
 
3609
      51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
 
3610
      -1,    62,    63,    64,    -1,    66,    67,    -1,    -1,    -1,
 
3611
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3612
      -1,    -1,    -1,    -1,    -1,    86,    87,    -1,    89,    90,
 
3613
      -1,    92,    93,    -1,    95,    96,    97,    98,    99,   100,
 
3614
     101,   102,   103,    -1,    -1,    -1,    -1,    -1,   109,    -1,
 
3615
      -1,    -1,    -1,    -1,    -1,    -1,     3,     4,     5,    -1,
 
3616
       7,   122,   123,   124,    11,    12,    -1,    -1,    -1,    16,
 
3617
      -1,    18,    19,    20,    21,    22,    23,    24,    -1,    -1,
 
3618
      -1,   142,    -1,    30,    31,    32,    33,    34,    35,    36,
 
3619
      -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,    46,
 
3620
      -1,    -1,    49,    50,    51,    52,    53,    54,    55,    56,
 
3621
      57,    58,    59,    60,    -1,    62,    63,    64,    -1,    66,
 
3622
      67,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3623
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    86,
 
3624
      -1,    -1,    89,    90,    -1,    92,    93,    -1,    95,    96,
 
3625
      97,    98,    99,   100,   101,   102,   103,    -1,    -1,    -1,
 
3626
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3627
       3,     4,     5,    -1,     7,   122,   123,   124,    11,    12,
3435
3628
      -1,    -1,    -1,    16,    -1,    18,    19,    20,    21,    22,
3436
 
      23,    24,    -1,    -1,    -1,    -1,    -1,    30,    31,    32,
3437
 
      33,    34,    35,    36,    -1,    -1,    39,    -1,    -1,    -1,
3438
 
      -1,    -1,    45,    46,    -1,    48,    49,    50,    51,    52,
3439
 
      53,    54,    55,    56,    57,    -1,    59,    60,    -1,    62,
3440
 
      63,    64,    -1,    66,    67,    -1,    -1,    -1,    -1,    -1,
3441
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3442
 
      -1,    -1,    -1,    86,    -1,    -1,    89,    90,    -1,    92,
3443
 
      93,    -1,    95,    -1,    97,    98,    99,   100,   101,   102,
3444
 
     103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3445
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   122,
3446
 
     123,   124,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3447
 
       3,     4,     5,    -1,     7,    -1,    -1,    -1,    11,    12,
3448
 
      -1,    -1,   145,    16,   147,    18,    19,    20,    21,    22,
3449
 
      23,    24,    -1,    -1,    -1,    -1,    -1,    30,    31,    32,
 
3629
      23,    24,    -1,    -1,    -1,   142,    -1,    30,    31,    32,
3450
3630
      33,    34,    35,    36,    -1,    -1,    39,    -1,    -1,    -1,
3451
3631
      -1,    -1,    -1,    46,    -1,    -1,    49,    50,    51,    52,
3452
3632
      53,    54,    55,    56,    57,    58,    59,    60,    -1,    62,
3454
3634
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3455
3635
      -1,    -1,    -1,    86,    -1,    -1,    89,    90,    -1,    92,
3456
3636
      93,    -1,    95,    96,    97,    98,    99,   100,   101,   102,
3457
 
     103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,
3458
 
       4,     5,    -1,     7,    -1,    -1,    -1,    11,    12,   122,
3459
 
     123,   124,    16,    -1,    18,    19,    20,    21,    22,    23,
3460
 
      24,    -1,    -1,    -1,    -1,    -1,    30,    31,    32,    33,
3461
 
      34,    35,    36,    -1,   147,    39,    -1,    -1,    -1,    -1,
3462
 
      -1,    -1,    46,    -1,    -1,    49,    50,    51,    52,    53,
3463
 
      54,    55,    56,    57,    -1,    59,    60,    -1,    62,    63,
3464
 
      64,    -1,    66,    67,    -1,    -1,    -1,    -1,    -1,    -1,
3465
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3466
 
      -1,    -1,    86,    -1,    -1,    89,    90,    -1,    92,    93,
3467
 
      -1,    -1,    -1,    97,    98,    99,   100,   101,   102,   103,
3468
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3469
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   122,   123,
3470
 
     124,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,
3471
 
       4,     5,    -1,     7,    -1,    -1,    -1,    11,    12,    -1,
3472
 
      -1,   145,    16,   147,    18,    19,    20,    21,    22,    23,
3473
 
      24,    -1,    -1,    -1,    -1,    -1,    30,    31,    32,    33,
3474
 
      34,    35,    36,    -1,    -1,    39,    -1,    -1,    -1,    -1,
3475
 
      -1,    -1,    46,    -1,    -1,    49,    50,    51,    52,    53,
3476
 
      54,    55,    56,    57,    -1,    59,    60,    -1,    62,    63,
3477
 
      64,    -1,    66,    67,    -1,    -1,    -1,    -1,    -1,    -1,
3478
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3479
 
      -1,    -1,    86,    -1,    -1,    89,    90,    -1,    92,    93,
3480
 
      -1,    -1,    -1,    97,    98,    99,   100,   101,   102,   103,
3481
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,     4,
3482
 
       5,     6,     7,    -1,    -1,    -1,    11,    12,   122,   123,
3483
 
     124,    16,    -1,    18,    19,    20,    21,    22,    23,    24,
3484
 
      -1,    -1,    -1,    -1,    -1,    30,    31,    32,    33,    34,
3485
 
      35,    36,    -1,   147,    39,    -1,    -1,    -1,    -1,    -1,
3486
 
      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
3487
 
      55,    56,    57,    -1,    59,    60,    -1,    62,    63,    64,
3488
 
      -1,    66,    67,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3489
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3490
 
      -1,    86,    -1,    -1,    89,    90,    -1,    92,    93,    -1,
3491
 
      95,    -1,    97,    98,    99,   100,   101,   102,   103,    -1,
3492
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3493
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   122,   123,   124,
3494
 
      -1,    -1,    -1,    -1,    -1,    -1,     3,     4,     5,     6,
3495
 
       7,    -1,    -1,    -1,    11,    12,    -1,    -1,    -1,    16,
3496
 
     145,    18,    19,    20,    21,    22,    23,    24,    -1,    -1,
3497
 
      -1,    -1,    -1,    30,    31,    32,    33,    34,    35,    36,
3498
 
      -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,    45,    46,
3499
 
      -1,    48,    49,    50,    51,    52,    53,    54,    55,    56,
3500
 
      57,    -1,    59,    60,    -1,    62,    63,    64,    -1,    66,
3501
 
      67,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3502
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    86,
3503
 
      -1,    -1,    89,    90,    -1,    92,    93,    -1,    95,    -1,
3504
 
      97,    98,    99,   100,   101,   102,   103,    -1,    -1,    -1,
3505
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3506
 
      -1,    -1,    -1,    -1,    -1,   122,   123,   124,    -1,    -1,
3507
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3508
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   145,     3,
 
3637
     103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3638
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   122,
 
3639
     123,   124,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3640
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   142,
 
3641
       3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
 
3642
      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
 
3643
      23,    24,    25,    26,    -1,    -1,    -1,    30,    31,    32,
 
3644
      33,    34,    35,    36,    37,    38,    39,    -1,    -1,    -1,
 
3645
      -1,    -1,    45,    46,    47,    48,    49,    50,    51,    52,
 
3646
      53,    54,    55,    56,    57,    -1,    -1,    -1,    -1,    -1,
 
3647
      -1,    -1,    -1,    66,    67,    68,    69,    70,    71,    72,
 
3648
      73,    74,    -1,    -1,    77,    78,    -1,    -1,    81,    82,
 
3649
      83,    84,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3650
      -1,    -1,    95,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3651
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   112,
 
3652
     113,   114,   115,   116,   117,   118,   119,   120,   121,    -1,
 
3653
     123,   124,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3654
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   141,     3,
3509
3655
       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
3510
3656
      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
3511
3657
      24,    25,    26,    -1,    -1,    -1,    30,    31,    32,    33,
3512
3658
      34,    35,    36,    37,    38,    39,    -1,    -1,    -1,    -1,
3513
3659
      -1,    45,    46,    47,    48,    49,    50,    51,    52,    53,
3514
 
      54,    55,    56,    57,    -1,    -1,    -1,    -1,    -1,    -1,
 
3660
      54,    -1,    56,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3515
3661
      -1,    -1,    66,    67,    68,    69,    70,    71,    72,    73,
3516
3662
      74,    -1,    -1,    77,    78,    -1,    -1,    81,    82,    83,
3517
3663
      84,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3518
 
      -1,    95,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3664
      -1,    95,    -1,    -1,    98,    -1,    -1,    -1,    -1,    -1,
3519
3665
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   112,   113,
3520
3666
     114,   115,   116,   117,   118,   119,   120,   121,    -1,   123,
3521
 
     124,    -1,    -1,    -1,    -1,    -1,     3,     4,     5,    -1,
3522
 
       7,    -1,    -1,    -1,    11,    12,    -1,   141,   142,    16,
3523
 
      -1,    18,    19,    20,    21,    22,    23,    24,    -1,    26,
3524
 
      -1,    -1,    -1,    30,    31,    32,    33,    34,    35,    36,
3525
 
      -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,    46,
3526
 
      -1,    -1,    49,    50,    51,    52,    53,    54,    55,    56,
3527
 
      57,    58,    59,    60,    -1,    62,    63,    64,    -1,    66,
3528
 
      67,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3529
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    86,
3530
 
      -1,    -1,    89,    90,    -1,    92,    93,    -1,    95,    96,
3531
 
      97,    98,    99,   100,   101,   102,   103,    -1,    -1,    -1,
3532
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3533
 
      -1,    -1,    -1,    -1,    -1,   122,   123,   124,    -1,    -1,
3534
 
      -1,    -1,    -1,     3,     4,     5,    -1,     7,    -1,   136,
3535
 
      -1,    11,    12,    -1,    -1,   142,    16,    -1,    18,    19,
3536
 
      20,    21,    22,    23,    24,    -1,    26,    -1,    -1,    -1,
3537
 
      30,    31,    32,    33,    34,    35,    36,    -1,    -1,    39,
3538
 
      -1,    -1,    -1,    -1,    -1,    -1,    46,    -1,    -1,    49,
3539
 
      50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
3540
 
      60,    -1,    62,    63,    64,    -1,    66,    67,    -1,    -1,
3541
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3542
 
      -1,    -1,    -1,    -1,    -1,    -1,    86,    -1,    -1,    89,
3543
 
      90,    -1,    92,    93,    -1,    95,    96,    97,    98,    99,
3544
 
     100,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,    -1,
3545
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3546
 
      -1,    -1,   122,   123,   124,    -1,    -1,    -1,    -1,    -1,
3547
 
       3,     4,     5,    -1,     7,    -1,   136,    -1,    11,    12,
3548
 
      -1,    -1,   142,    16,    -1,    18,    19,    20,    21,    22,
3549
 
      23,    24,    -1,    -1,    -1,    -1,    -1,    30,    31,    32,
3550
 
      33,    34,    35,    36,    -1,    -1,    39,    -1,    -1,    -1,
3551
 
      -1,    -1,    -1,    46,    -1,    -1,    49,    50,    51,    52,
3552
 
      53,    54,    55,    56,    57,    58,    59,    60,    -1,    62,
3553
 
      63,    64,    -1,    66,    67,    -1,    -1,    -1,    -1,    -1,
3554
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3555
 
      -1,    -1,    -1,    86,    87,    -1,    89,    90,    -1,    92,
3556
 
      93,    -1,    95,    96,    97,    98,    99,   100,   101,   102,
3557
 
     103,    -1,    -1,    -1,    -1,    -1,   109,    -1,    -1,    -1,
3558
 
      -1,    -1,    -1,    -1,     3,     4,     5,    -1,     7,   122,
3559
 
     123,   124,    11,    12,    -1,    -1,    -1,    16,    -1,    18,
3560
 
      19,    20,    21,    22,    23,    24,    -1,    -1,    -1,   142,
3561
 
      -1,    30,    31,    32,    33,    34,    35,    36,    -1,    -1,
3562
 
      39,    -1,    -1,    -1,    -1,    -1,    -1,    46,    -1,    -1,
3563
 
      49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
3564
 
      59,    60,    -1,    62,    63,    64,    -1,    66,    67,    -1,
3565
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3566
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    86,    -1,    -1,
3567
 
      89,    90,    -1,    92,    93,    -1,    95,    96,    97,    98,
3568
 
      99,   100,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,
3569
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,     4,
3570
 
       5,    -1,     7,   122,   123,   124,    11,    12,    -1,    -1,
3571
 
      -1,    16,    -1,    18,    19,    20,    21,    22,    23,    24,
3572
 
      -1,    -1,    -1,   142,    -1,    30,    31,    32,    33,    34,
3573
 
      35,    36,    -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,
3574
 
      -1,    46,    -1,    -1,    49,    50,    51,    52,    53,    54,
3575
 
      55,    56,    57,    58,    59,    60,    -1,    62,    63,    64,
3576
 
      -1,    66,    67,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3577
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3578
 
      -1,    86,    -1,    -1,    89,    90,    -1,    92,    93,    -1,
3579
 
      95,    96,    97,    98,    99,   100,   101,   102,   103,    -1,
3580
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3581
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   122,   123,   124,
3582
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3583
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   142,     3,     4,
 
3667
     124,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3668
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   141,     3,     4,
3584
3669
       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
3585
3670
      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
3586
3671
      25,    26,    -1,    -1,    -1,    30,    31,    32,    33,    34,
3587
3672
      35,    36,    37,    38,    39,    -1,    -1,    -1,    -1,    -1,
3588
 
      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
3589
 
      55,    56,    57,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3673
      45,    46,    47,    48,    49,    50,    51,    52,    53,    -1,
 
3674
      -1,    56,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3590
3675
      -1,    66,    67,    68,    69,    70,    71,    72,    73,    74,
3591
3676
      -1,    -1,    77,    78,    -1,    -1,    81,    82,    83,    84,
3592
3677
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3593
 
      95,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3678
      95,    -1,    -1,    98,    -1,    -1,    -1,    -1,    -1,    -1,
3594
3679
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   112,   113,   114,
3595
3680
     115,   116,   117,   118,   119,   120,   121,    -1,   123,   124,
3596
3681
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3599
3684
      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
3600
3685
      26,    -1,    -1,    -1,    30,    31,    32,    33,    34,    35,
3601
3686
      36,    37,    38,    39,    -1,    -1,    -1,    -1,    -1,    45,
3602
 
      46,    47,    48,    49,    50,    51,    52,    53,    54,    -1,
 
3687
      46,    47,    48,    49,    50,    51,    52,    53,    -1,    -1,
3603
3688
      56,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3604
3689
      66,    67,    68,    69,    70,    71,    72,    73,    74,    -1,
3605
3690
      -1,    77,    78,    -1,    -1,    81,    82,    83,    84,    -1,
3606
3691
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    95,
3607
 
      -1,    -1,    98,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3692
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3608
3693
      -1,    -1,    -1,    -1,    -1,    -1,   112,   113,   114,   115,
3609
3694
     116,   117,   118,   119,   120,   121,    -1,   123,   124,    -1,
3610
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3611
 
      -1,    -1,    -1,    -1,    -1,   141,     3,     4,     5,     6,
3612
 
       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
3613
 
      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
3614
 
      -1,    -1,    -1,    30,    31,    32,    33,    34,    35,    36,
3615
 
      37,    38,    39,    -1,    -1,    -1,    -1,    -1,    45,    46,
3616
 
      47,    48,    49,    50,    51,    52,    53,    -1,    -1,    56,
3617
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,
3618
 
      67,    68,    69,    70,    71,    72,    73,    74,    -1,    -1,
3619
 
      77,    78,    -1,    -1,    81,    82,    83,    84,    -1,    -1,
3620
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    95,    -1,
3621
 
      -1,    98,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3622
 
      -1,    -1,    -1,    -1,    -1,   112,   113,   114,   115,   116,
3623
 
     117,   118,   119,   120,   121,    -1,   123,   124,    -1,    -1,
3624
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3625
 
      -1,    -1,    -1,    -1,   141,     3,     4,     5,     6,     7,
3626
 
       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
3627
 
      18,    19,    20,    21,    22,    23,    24,    25,    26,    -1,
3628
 
      -1,    -1,    30,    31,    32,    33,    34,    35,    36,    37,
3629
 
      38,    39,    -1,    -1,    -1,    -1,    -1,    45,    46,    47,
3630
 
      48,    49,    50,    51,    52,    53,    -1,    -1,    56,    -1,
3631
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    67,
3632
 
      68,    69,    70,    71,    72,    73,    74,    -1,    -1,    77,
3633
 
      78,    -1,    -1,    81,    82,    83,    84,    -1,    -1,    -1,
3634
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    95,    -1,    -1,
3635
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3636
 
      -1,    -1,    -1,    -1,   112,   113,   114,   115,   116,   117,
3637
 
     118,   119,   120,   121,    -1,   123,   124,    -1,    -1,     3,
3638
 
       4,     5,    -1,     7,    -1,    -1,    -1,    11,    12,    -1,
3639
 
      -1,    -1,    16,   141,    18,    19,    20,    21,    22,    23,
3640
 
      24,    -1,    -1,    -1,    -1,    -1,    30,    31,    32,    33,
3641
 
      34,    35,    36,    -1,    -1,    39,    -1,    -1,    -1,    -1,
3642
 
      -1,    -1,    46,    -1,    -1,    49,    50,    51,    52,    53,
3643
 
      54,    55,    56,    57,    -1,    59,    60,    -1,    62,    63,
3644
 
      64,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3645
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3646
 
      -1,    -1,    86,    -1,    -1,    89,    90,    -1,    92,    93,
3647
 
      -1,    -1,    -1,    97,    98,    99,   100,   101,   102,   103,
3648
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3649
 
      -1,     3,     4,     5,    -1,     7,    -1,    -1,   122,    11,
3650
 
      12,    -1,    -1,    -1,    16,    -1,    18,    19,    20,    21,
3651
 
      22,    23,    24,    -1,    -1,    -1,   140,    -1,    30,    31,
 
3695
      -1,     3,     4,     5,    -1,     7,    -1,    -1,    -1,    11,
 
3696
      12,    -1,    -1,    -1,    16,   141,    18,    19,    20,    21,
 
3697
      22,    23,    24,    -1,    -1,    -1,    -1,    -1,    30,    31,
3652
3698
      32,    33,    34,    35,    36,    -1,    -1,    39,    -1,    -1,
3653
3699
      -1,    -1,    -1,    -1,    46,    -1,    -1,    49,    50,    51,
3654
3700
      52,    53,    54,    55,    56,    57,    -1,    59,    60,    -1,
3657
3703
      -1,    -1,    -1,    -1,    86,    -1,    -1,    89,    90,    -1,
3658
3704
      92,    93,    -1,    -1,    -1,    97,    98,    99,   100,   101,
3659
3705
     102,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3660
 
      -1,    -1,    -1,     3,     4,     5,     6,     7,    -1,    -1,
 
3706
      -1,    -1,    -1,     3,     4,     5,    -1,     7,    -1,    -1,
3661
3707
     122,    11,    12,    -1,    -1,    -1,    16,    -1,    18,    19,
3662
3708
      20,    21,    22,    23,    24,    -1,    -1,    -1,   140,    -1,
3663
3709
      30,    31,    32,    33,    34,    35,    36,    -1,    -1,    39,
3664
 
      -1,    -1,    -1,    -1,    -1,    45,    46,    47,    48,    49,
 
3710
      -1,    -1,    -1,    -1,    -1,    -1,    46,    -1,    -1,    49,
3665
3711
      50,    51,    52,    53,    54,    55,    56,    57,    -1,    59,
 
3712
      60,    -1,    62,    63,    64,    -1,    -1,    -1,    -1,    -1,
 
3713
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3714
      -1,    -1,    -1,    -1,    -1,    -1,    86,    -1,    -1,    89,
 
3715
      90,    -1,    92,    93,    -1,    -1,    -1,    97,    98,    99,
 
3716
     100,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,    -1,
 
3717
      -1,    -1,    -1,    -1,    -1,     3,     4,     5,     6,     7,
 
3718
      -1,    -1,   122,    11,    12,    -1,    -1,    -1,    16,    -1,
 
3719
      18,    19,    20,    21,    22,    23,    24,    -1,    -1,    -1,
 
3720
     140,    -1,    30,    31,    32,    33,    34,    35,    36,    -1,
 
3721
      -1,    39,    -1,    -1,    -1,    -1,    -1,    45,    46,    47,
 
3722
      48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
 
3723
      -1,    59,    60,    -1,    62,    63,    64,    -1,    66,    67,
 
3724
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3725
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    86,    -1,
 
3726
      -1,    89,    90,    -1,    92,    93,    -1,    95,    -1,    97,
 
3727
      98,    99,   100,   101,   102,   103,    -1,    -1,    -1,    -1,
 
3728
      -1,    -1,    -1,    -1,     3,     4,     5,     6,     7,    -1,
 
3729
      -1,    -1,    11,    12,   122,   123,   124,    16,    -1,    18,
 
3730
      19,    20,    21,    22,    23,    24,    -1,    -1,    -1,    -1,
 
3731
      -1,    30,    31,    32,    33,    34,    35,    36,    -1,    -1,
 
3732
      39,    -1,    -1,    -1,    -1,    -1,    45,    46,    -1,    48,
 
3733
      49,    50,    51,    52,    53,    54,    55,    56,    57,    -1,
 
3734
      59,    60,    -1,    62,    63,    64,    -1,    66,    67,    -1,
 
3735
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3736
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    86,    -1,    -1,
 
3737
      89,    90,    -1,    92,    93,    -1,    95,    -1,    97,    98,
 
3738
      99,   100,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,
 
3739
      -1,    -1,    -1,     3,     4,     5,    -1,     7,    -1,    -1,
 
3740
      -1,    11,    12,   122,   123,   124,    16,    -1,    18,    19,
 
3741
      20,    21,    22,    23,    24,    -1,    -1,    -1,    -1,    -1,
 
3742
      30,    31,    32,    33,    34,    35,    36,    -1,    -1,    39,
 
3743
      -1,    -1,    -1,    -1,    -1,    -1,    46,    -1,    -1,    49,
 
3744
      50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
3666
3745
      60,    -1,    62,    63,    64,    -1,    66,    67,    -1,    -1,
3667
3746
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3668
3747
      -1,    -1,    -1,    -1,    -1,    -1,    86,    -1,    -1,    89,
3669
 
      90,    -1,    92,    93,    -1,    95,    -1,    97,    98,    99,
 
3748
      90,    -1,    92,    93,    -1,    95,    96,    97,    98,    99,
3670
3749
     100,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,    -1,
3671
 
      -1,    -1,     3,     4,     5,     6,     7,    -1,    -1,    -1,
 
3750
      -1,    -1,     3,     4,     5,    -1,     7,    -1,    -1,    -1,
3672
3751
      11,    12,   122,   123,   124,    16,    -1,    18,    19,    20,
3673
3752
      21,    22,    23,    24,    -1,    -1,    -1,    -1,    -1,    30,
3674
3753
      31,    32,    33,    34,    35,    36,    -1,    -1,    39,    -1,
3675
 
      -1,    -1,    -1,    -1,    45,    46,    -1,    48,    49,    50,
3676
 
      51,    52,    53,    54,    55,    56,    57,    -1,    59,    60,
 
3754
      -1,    -1,    -1,    -1,    -1,    46,    -1,    -1,    49,    50,
 
3755
      51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
3677
3756
      -1,    62,    63,    64,    -1,    66,    67,    -1,    -1,    -1,
3678
3757
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3679
3758
      -1,    -1,    -1,    -1,    -1,    86,    -1,    -1,    89,    90,
3680
 
      -1,    92,    93,    -1,    95,    -1,    97,    98,    99,   100,
 
3759
      -1,    92,    93,    -1,    95,    96,    97,    98,    99,   100,
3681
3760
     101,   102,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3682
3761
      -1,     3,     4,     5,    -1,     7,    -1,    -1,    -1,    11,
3683
3762
      12,   122,   123,   124,    16,    -1,    18,    19,    20,    21,
3688
3767
      62,    63,    64,    -1,    66,    67,    -1,    -1,    -1,    -1,
3689
3768
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3690
3769
      -1,    -1,    -1,    -1,    86,    -1,    -1,    89,    90,    -1,
3691
 
      92,    93,    -1,    95,    96,    97,    98,    99,   100,   101,
 
3770
      92,    93,    -1,    95,    -1,    97,    98,    99,   100,   101,
3692
3771
     102,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3693
3772
       3,     4,     5,    -1,     7,    -1,    -1,    -1,    11,    12,
3694
3773
     122,   123,   124,    16,    -1,    18,    19,    20,    21,    22,
3699
3778
      63,    64,    -1,    66,    67,    -1,    -1,    -1,    -1,    -1,
3700
3779
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3701
3780
      -1,    -1,    -1,    86,    -1,    -1,    89,    90,    -1,    92,
3702
 
      93,    -1,    95,    96,    97,    98,    99,   100,   101,   102,
 
3781
      93,    -1,    -1,    96,    97,    98,    99,   100,   101,   102,
3703
3782
     103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,
3704
3783
       4,     5,    -1,     7,    -1,    -1,    -1,    11,    12,   122,
3705
3784
     123,   124,    16,    -1,    18,    19,    20,    21,    22,    23,
3721
3800
      -1,    66,    67,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3722
3801
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3723
3802
      -1,    86,    -1,    -1,    89,    90,    -1,    92,    93,    -1,
3724
 
      -1,    96,    97,    98,    99,   100,   101,   102,   103,    -1,
 
3803
      -1,    -1,    97,    98,    99,   100,   101,   102,   103,    -1,
3725
3804
      -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,     4,     5,
3726
3805
      -1,     7,    -1,    -1,    -1,    11,    12,   122,   123,   124,
3727
3806
      16,    -1,    18,    19,    20,    21,    22,    23,    24,    -1,
3728
3807
      -1,    -1,    -1,    -1,    30,    31,    32,    33,    34,    35,
3729
3808
      36,    -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,
3730
3809
      46,    -1,    -1,    49,    50,    51,    52,    53,    54,    55,
3731
 
      56,    57,    58,    59,    60,    -1,    62,    63,    64,    -1,
 
3810
      56,    57,    -1,    59,    60,    -1,    62,    63,    64,    -1,
3732
3811
      66,    67,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3733
3812
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3734
3813
      86,    -1,    -1,    89,    90,    -1,    92,    93,    -1,    95,
3739
3818
      -1,    -1,    -1,    30,    31,    32,    33,    34,    35,    36,
3740
3819
      -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,    46,
3741
3820
      -1,    -1,    49,    50,    51,    52,    53,    54,    55,    56,
3742
 
      57,    58,    59,    60,    -1,    62,    63,    64,    -1,    66,
 
3821
      57,    -1,    59,    60,    -1,    62,    63,    64,    -1,    66,
3743
3822
      67,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3744
3823
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    86,
3745
 
      -1,    -1,    89,    90,    -1,    92,    93,    -1,    -1,    -1,
 
3824
      -1,    -1,    89,    90,    -1,    92,    93,    -1,    95,    -1,
3746
3825
      97,    98,    99,   100,   101,   102,   103,    -1,    -1,    -1,
3747
3826
      -1,    -1,    -1,    -1,    -1,     3,     4,     5,    -1,     7,
3748
3827
      -1,    -1,    -1,    11,    12,   122,   123,   124,    16,    -1,
3786
3865
      -1,    62,    63,    64,    -1,    66,    67,    -1,    -1,    -1,
3787
3866
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3788
3867
      -1,    -1,    -1,    -1,    -1,    86,    -1,    -1,    89,    90,
3789
 
      -1,    92,    93,    -1,    95,    -1,    97,    98,    99,   100,
 
3868
      -1,    92,    93,    -1,    -1,    -1,    97,    98,    99,   100,
3790
3869
     101,   102,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3791
3870
      -1,     3,     4,     5,    -1,     7,    -1,    -1,    -1,    11,
3792
3871
      12,   122,   123,   124,    16,    -1,    18,    19,    20,    21,
3797
3876
      62,    63,    64,    -1,    66,    67,    -1,    -1,    -1,    -1,
3798
3877
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3799
3878
      -1,    -1,    -1,    -1,    86,    -1,    -1,    89,    90,    -1,
3800
 
      92,    93,    -1,    95,    -1,    97,    98,    99,   100,   101,
 
3879
      92,    93,    -1,    -1,    -1,    97,    98,    99,   100,   101,
3801
3880
     102,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3802
3881
       3,     4,     5,    -1,     7,    -1,    -1,    -1,    11,    12,
3803
3882
     122,   123,   124,    16,    -1,    18,    19,    20,    21,    22,
3816
3895
      34,    35,    36,    -1,    -1,    39,    -1,    -1,    -1,    -1,
3817
3896
      -1,    -1,    46,    -1,    -1,    49,    50,    51,    52,    53,
3818
3897
      54,    55,    56,    57,    -1,    59,    60,    -1,    62,    63,
3819
 
      64,    -1,    66,    67,    -1,    -1,    -1,    -1,    -1,    -1,
3820
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3821
 
      -1,    -1,    86,    -1,    -1,    89,    90,    -1,    92,    93,
3822
 
      -1,    -1,    -1,    97,    98,    99,   100,   101,   102,   103,
3823
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,     4,
3824
 
       5,    -1,     7,    -1,    -1,    -1,    11,    12,   122,   123,
3825
 
     124,    16,    -1,    18,    19,    20,    21,    22,    23,    24,
3826
 
      -1,    -1,    -1,    -1,    -1,    30,    31,    32,    33,    34,
3827
 
      35,    36,    -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,
3828
 
      -1,    46,    -1,    -1,    49,    50,    51,    52,    53,    54,
3829
 
      55,    56,    57,    -1,    59,    60,    -1,    62,    63,    64,
3830
 
      -1,    66,    67,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3831
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3832
 
      -1,    86,    -1,    -1,    89,    90,    -1,    92,    93,    -1,
3833
 
      -1,    -1,    97,    98,    99,   100,   101,   102,   103,    -1,
3834
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,     4,     5,
3835
 
      -1,     7,    -1,    -1,    -1,    11,    12,   122,   123,   124,
3836
 
      16,    -1,    18,    19,    20,    21,    22,    23,    24,    -1,
3837
 
      -1,    -1,    -1,    -1,    30,    31,    32,    33,    34,    35,
3838
 
      36,    -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,
3839
 
      46,    -1,    -1,    49,    50,    51,    52,    53,    54,    55,
3840
 
      56,    57,    -1,    59,    60,    -1,    62,    63,    64,    -1,
3841
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3842
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3843
 
      86,    -1,    -1,    89,    90,    -1,    92,    93,    -1,    95,
3844
 
      -1,    97,    98,    99,   100,   101,   102,   103,    -1,    -1,
3845
 
      -1,    -1,     3,     4,     5,    -1,     7,    -1,    -1,    -1,
3846
 
      11,    12,    -1,    -1,    -1,    16,   122,    18,    19,    20,
3847
 
      21,    22,    23,    24,    -1,    -1,    -1,    -1,    -1,    30,
3848
 
      31,    32,    33,    34,    35,    36,    -1,    -1,    39,    -1,
3849
 
      -1,    -1,    -1,    -1,    -1,    46,    -1,    -1,    49,    50,
3850
 
      51,    52,    53,    54,    55,    56,    57,    -1,    59,    60,
3851
 
      -1,    62,    63,    64,    -1,    -1,    -1,    -1,    -1,    -1,
3852
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3853
 
      -1,    -1,    -1,    -1,    -1,    86,    -1,    -1,    89,    90,
3854
 
      -1,    92,    93,    -1,    95,    -1,    97,    98,    99,   100,
3855
 
     101,   102,   103,    -1,    -1,    -1,    -1,     3,     4,     5,
3856
 
      -1,     7,    -1,    -1,    -1,    11,    12,    -1,    -1,    -1,
3857
 
      16,   122,    18,    19,    20,    21,    22,    23,    24,    -1,
3858
 
      -1,    -1,    -1,    -1,    30,    31,    32,    33,    34,    35,
3859
 
      36,    -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,
3860
 
      46,    -1,    -1,    49,    50,    51,    52,    53,    54,    55,
3861
 
      56,    57,    -1,    59,    60,    -1,    62,    63,    64,    -1,
3862
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3863
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    83,    -1,    -1,
3864
 
      86,    -1,    -1,    89,    90,    -1,    92,    93,    -1,    -1,
3865
 
      -1,    97,    98,    99,   100,   101,   102,   103,    -1,    -1,
3866
 
      -1,    -1,     3,     4,     5,    -1,     7,    -1,    -1,    -1,
3867
 
      11,    12,    -1,    -1,    -1,    16,   122,    18,    19,    20,
3868
 
      21,    22,    23,    24,    -1,    -1,    -1,    -1,    -1,    30,
3869
 
      31,    32,    33,    34,    35,    36,    -1,    -1,    39,    -1,
3870
 
      -1,    -1,    -1,    -1,    -1,    46,    -1,    -1,    49,    50,
3871
 
      51,    52,    53,    54,    55,    56,    57,    -1,    59,    60,
3872
 
      -1,    62,    63,    64,    -1,    -1,    -1,    -1,    -1,    -1,
3873
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3874
 
      -1,    -1,    -1,    -1,    -1,    86,    -1,    -1,    89,    90,
3875
 
      -1,    92,    93,    -1,    -1,    -1,    97,    98,    99,   100,
3876
 
     101,   102,   103,    -1,    -1,    -1,    -1,     3,     4,     5,
3877
 
      -1,     7,    -1,    -1,    -1,    11,    12,    -1,    -1,    -1,
3878
 
      16,   122,    18,    19,    20,    21,    22,    23,    24,    -1,
3879
 
      -1,    -1,    -1,    -1,    30,    31,    32,    33,    34,    35,
3880
 
      36,    -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,
3881
 
      46,    -1,    -1,    49,    50,    51,    52,    53,    54,    55,
3882
 
      56,    57,    -1,    59,    60,    -1,    62,    63,    64,    -1,
3883
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3884
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3885
 
      86,    -1,    -1,    89,    90,    -1,    92,    93,    -1,    -1,
3886
 
      -1,    97,    98,    99,   100,   101,   102,   103,    -1,    -1,
3887
 
      -1,    -1,     3,     4,     5,    -1,     7,    -1,    -1,    -1,
3888
 
      11,    12,    -1,    -1,    -1,    16,   122,    18,    19,    20,
3889
 
      21,    22,    23,    24,    -1,    -1,    -1,    -1,    -1,    30,
3890
 
      31,    32,    33,    34,    35,    36,    -1,    -1,    39,    -1,
3891
 
      -1,    -1,    -1,    -1,    -1,    46,    -1,    -1,    49,    50,
3892
 
      51,    52,    53,    54,    55,    56,    57,    -1,    59,    60,
3893
 
      -1,    62,    63,    64,    -1,    -1,    -1,    -1,    -1,    -1,
3894
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3895
 
      -1,    -1,    -1,    -1,    -1,    86,    -1,    -1,    89,    90,
3896
 
      -1,    92,    93,    -1,    -1,    -1,    97,    98,    99,   100,
3897
 
     101,   102,   103,    -1,    -1,    -1,    -1,     3,     4,     5,
3898
 
      -1,     7,    -1,    -1,    -1,    11,    12,    -1,    -1,    -1,
3899
 
      16,   122,    18,    19,    20,    21,    22,    23,    24,    -1,
3900
 
      -1,    -1,    -1,    -1,    30,    31,    32,    33,    34,    35,
3901
 
      36,    -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,
3902
 
      46,    -1,    -1,    49,    50,    51,    52,    53,    54,    55,
3903
 
      56,    57,    -1,    59,    60,    -1,    62,    63,    64,    -1,
3904
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3905
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3906
 
      86,    -1,    -1,    89,    90,    -1,    92,    93,    -1,    -1,
3907
 
      -1,    97,    98,    99,   100,   101,   102,   103,    -1,    -1,
3908
 
      -1,    -1,    -1,    52,    53,    -1,    -1,    56,    -1,    -1,
3909
 
      -1,    -1,    -1,    -1,    -1,    -1,   122,    66,    67,    68,
3910
 
      69,    70,    71,    72,    73,    74,    -1,    -1,    77,    78,
3911
 
      -1,    -1,    81,    82,    83,    84,    -1,    -1,    -1,    -1,
3912
 
      -1,    -1,    -1,    -1,    -1,    -1,    95,    -1,    -1,    -1,
3913
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3914
 
      -1,    -1,    -1,   112,   113,   114,   115,   116,   117,   118,
3915
 
     119,   120,   121,    -1,   123,   124,    -1,    -1,    -1,    -1,
 
3898
      64,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3899
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3900
      -1,    -1,    86,    -1,    -1,    89,    90,    -1,    92,    93,
 
3901
      -1,    95,    -1,    97,    98,    99,   100,   101,   102,   103,
 
3902
      -1,    -1,    -1,    -1,     3,     4,     5,    -1,     7,    -1,
 
3903
      -1,    -1,    11,    12,    -1,    -1,    -1,    16,   122,    18,
 
3904
      19,    20,    21,    22,    23,    24,    -1,    -1,    -1,    -1,
 
3905
      -1,    30,    31,    32,    33,    34,    35,    36,    -1,    -1,
 
3906
      39,    -1,    -1,    -1,    -1,    -1,    -1,    46,    -1,    -1,
 
3907
      49,    50,    51,    52,    53,    54,    55,    56,    57,    -1,
 
3908
      59,    60,    -1,    62,    63,    64,    -1,    -1,    -1,    -1,
 
3909
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3910
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    86,    -1,    -1,
 
3911
      89,    90,    -1,    92,    93,    -1,    95,    -1,    97,    98,
 
3912
      99,   100,   101,   102,   103,    -1,    -1,    -1,    -1,     3,
 
3913
       4,     5,    -1,     7,    -1,    -1,    -1,    11,    12,    -1,
 
3914
      -1,    -1,    16,   122,    18,    19,    20,    21,    22,    23,
 
3915
      24,    -1,    -1,    -1,    -1,    -1,    30,    31,    32,    33,
 
3916
      34,    35,    36,    -1,    -1,    39,    -1,    -1,    -1,    -1,
 
3917
      -1,    -1,    46,    -1,    -1,    49,    50,    51,    52,    53,
 
3918
      54,    55,    56,    57,    -1,    59,    60,    -1,    62,    63,
 
3919
      64,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3920
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    83,
 
3921
      -1,    -1,    86,    -1,    -1,    89,    90,    -1,    92,    93,
 
3922
      -1,    -1,    -1,    97,    98,    99,   100,   101,   102,   103,
 
3923
      -1,    -1,    -1,    -1,     3,     4,     5,    -1,     7,    -1,
 
3924
      -1,    -1,    11,    12,    -1,    -1,    -1,    16,   122,    18,
 
3925
      19,    20,    21,    22,    23,    24,    -1,    -1,    -1,    -1,
 
3926
      -1,    30,    31,    32,    33,    34,    35,    36,    -1,    -1,
 
3927
      39,    -1,    -1,    -1,    -1,    -1,    -1,    46,    -1,    -1,
 
3928
      49,    50,    51,    52,    53,    54,    55,    56,    57,    -1,
 
3929
      59,    60,    -1,    62,    63,    64,    -1,    -1,    -1,    -1,
 
3930
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3931
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    86,    -1,    -1,
 
3932
      89,    90,    -1,    92,    93,    -1,    -1,    -1,    97,    98,
 
3933
      99,   100,   101,   102,   103,    -1,    -1,    -1,    -1,     3,
 
3934
       4,     5,    -1,     7,    -1,    -1,    -1,    11,    12,    -1,
 
3935
      -1,    -1,    16,   122,    18,    19,    20,    21,    22,    23,
 
3936
      24,    -1,    -1,    -1,    -1,    -1,    30,    31,    32,    33,
 
3937
      34,    35,    36,    -1,    -1,    39,    -1,    -1,    -1,    -1,
 
3938
      -1,    -1,    46,    -1,    -1,    49,    50,    51,    52,    53,
 
3939
      54,    55,    56,    57,    -1,    59,    60,    -1,    62,    63,
 
3940
      64,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3941
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3942
      -1,    -1,    86,    -1,    -1,    89,    90,    -1,    92,    93,
 
3943
      -1,    -1,    -1,    97,    98,    99,   100,   101,   102,   103,
 
3944
      -1,    -1,    -1,    -1,     3,     4,     5,    -1,     7,    -1,
 
3945
      -1,    -1,    11,    12,    -1,    -1,    -1,    16,   122,    18,
 
3946
      19,    20,    21,    22,    23,    24,    -1,    -1,    -1,    -1,
 
3947
      -1,    30,    31,    32,    33,    34,    35,    36,    -1,    -1,
 
3948
      39,    -1,    -1,    -1,    -1,    -1,    -1,    46,    -1,    -1,
 
3949
      49,    50,    51,    52,    53,    54,    55,    56,    57,    -1,
 
3950
      59,    60,    -1,    62,    63,    64,    -1,    -1,    -1,    -1,
 
3951
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
3952
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    86,    -1,    -1,
 
3953
      89,    90,    -1,    92,    93,    -1,    -1,    -1,    97,    98,
 
3954
      99,   100,   101,   102,   103,    -1,    -1,    -1,    -1,     3,
 
3955
       4,     5,    -1,     7,    -1,    -1,    -1,    11,    12,    -1,
 
3956
      -1,    -1,    16,   122,    18,    19,    20,    21,    22,    23,
 
3957
      24,    -1,    -1,    -1,    -1,    -1,    30,    31,    32,    33,
 
3958
      34,    35,    36,    -1,    -1,    39,    -1,    44,    -1,    -1,
 
3959
      -1,    -1,    46,    -1,    -1,    49,    50,    51,    52,    53,
 
3960
      54,    55,    56,    57,    -1,    59,    60,    -1,    62,    63,
 
3961
      64,    68,    69,    70,    71,    72,    73,    74,    75,    76,
 
3962
      77,    78,    79,    80,    -1,    -1,    83,    84,    -1,    -1,
 
3963
      -1,    -1,    86,    -1,    -1,    89,    90,    -1,    92,    93,
 
3964
      -1,    -1,    -1,    97,    98,    99,   100,   101,   102,   103,
 
3965
      -1,    -1,    -1,   110,    -1,   112,   113,   114,   115,   116,
 
3966
     117,   118,   119,   120,   121,    -1,    -1,    -1,   122,    -1,
3916
3967
      52,    53,    -1,    -1,    56,    -1,    -1,    -1,    -1,    -1,
3917
 
      -1,    -1,   141,   142,    66,    67,    68,    69,    70,    71,
 
3968
      -1,    -1,    -1,   140,    66,    67,    68,    69,    70,    71,
3918
3969
      72,    73,    74,    -1,    -1,    77,    78,    -1,    -1,    81,
3919
3970
      82,    83,    84,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3920
3971
      -1,    -1,    -1,    95,    -1,    -1,    -1,    -1,    -1,    -1,
3987
4038
      69,    70,    71,    72,    73,    74,    -1,    -1,    77,    78,
3988
4039
      -1,    -1,    81,    82,    83,    84,    -1,    -1,    -1,    -1,
3989
4040
      -1,    -1,    -1,    -1,    -1,    -1,    95,    -1,    -1,    -1,
3990
 
      -1,    -1,    -1,    -1,    44,    -1,    -1,    -1,    -1,    -1,
 
4041
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3991
4042
      -1,    -1,    -1,   112,   113,   114,   115,   116,   117,   118,
3992
 
     119,   120,   121,    44,   123,   124,    -1,    -1,    68,    69,
3993
 
      70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
3994
 
      80,    -1,   141,    83,    84,    -1,    -1,    68,    69,    70,
3995
 
      71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
3996
 
      -1,    -1,    83,    84,    -1,    -1,    -1,    -1,    -1,    -1,
3997
 
     110,    -1,   112,   113,   114,   115,   116,   117,   118,   119,
3998
 
     120,   121,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
 
4043
     119,   120,   121,    -1,   123,   124,    -1,    -1,    -1,    -1,
 
4044
      52,    53,    -1,    -1,    56,    -1,    -1,    -1,    -1,    -1,
 
4045
      -1,    -1,   141,   142,    66,    67,    68,    69,    70,    71,
 
4046
      72,    73,    74,    -1,    -1,    77,    78,    -1,    -1,    81,
 
4047
      82,    83,    84,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
4048
      -1,    -1,    -1,    95,    -1,    -1,    -1,    -1,    -1,    -1,
 
4049
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
4050
     112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
 
4051
      -1,   123,   124,    -1,    -1,    -1,    -1,    52,    53,    -1,
 
4052
      -1,    56,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   141,
 
4053
     142,    66,    67,    68,    69,    70,    71,    72,    73,    74,
 
4054
      -1,    -1,    77,    78,    -1,    -1,    81,    82,    83,    84,
 
4055
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
4056
      95,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
4057
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   112,   113,   114,
 
4058
     115,   116,   117,   118,   119,   120,   121,    -1,   123,   124,
 
4059
      -1,    -1,    -1,    -1,    52,    53,    -1,    -1,    56,    -1,
 
4060
      -1,    -1,    -1,    -1,    -1,    -1,   141,   142,    66,    67,
 
4061
      68,    69,    70,    71,    72,    73,    74,    -1,    -1,    77,
 
4062
      78,    -1,    -1,    81,    82,    83,    84,    -1,    -1,    -1,
 
4063
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    95,    -1,    -1,
 
4064
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
4065
      -1,    -1,    -1,    -1,   112,   113,   114,   115,   116,   117,
 
4066
     118,   119,   120,   121,    -1,   123,   124,    -1,    -1,    -1,
 
4067
      -1,    52,    53,    -1,    -1,    56,    -1,    -1,    -1,    -1,
 
4068
      -1,    -1,    -1,   141,   142,    66,    67,    68,    69,    70,
 
4069
      71,    72,    73,    74,    -1,    -1,    77,    78,    -1,    -1,
 
4070
      81,    82,    83,    84,    -1,    -1,    -1,    -1,    -1,    -1,
 
4071
      -1,    -1,    -1,    -1,    95,    -1,    -1,    -1,    -1,    -1,
 
4072
      -1,    -1,    44,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3999
4073
      -1,   112,   113,   114,   115,   116,   117,   118,   119,   120,
4000
 
     121
 
4074
     121,    44,   123,   124,    -1,    -1,    68,    69,    70,    71,
 
4075
      72,    73,    74,    75,    76,    77,    78,    79,    80,    -1,
 
4076
     141,    83,    84,    -1,    -1,    68,    69,    70,    71,    72,
 
4077
      73,    74,    75,    76,    77,    78,    79,    80,    -1,    -1,
 
4078
      83,    84,    -1,    -1,    -1,    -1,    -1,    -1,   110,    -1,
 
4079
     112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
 
4080
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,    -1,   112,
 
4081
     113,   114,   115,   116,   117,   118,   119,   120,   121
4001
4082
};
4002
4083
 
4003
4084
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
4010
4091
      47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
4011
4092
      57,    59,    60,    62,    63,    64,    66,    67,    86,    89,
4012
4093
      90,    92,    93,    95,    97,    98,    99,   100,   101,   102,
4013
 
     103,   122,   123,   124,   151,   152,   153,   158,   160,   162,
4014
 
     163,   166,   167,   169,   170,   171,   173,   174,   184,   198,
4015
 
     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
4016
 
     225,   248,   249,   259,   260,   261,   262,   263,   264,   265,
4017
 
     268,   278,   280,   281,   282,   283,   284,   285,   308,   319,
4018
 
     153,     3,     4,     5,     6,     7,     8,     9,    10,    11,
4019
 
      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
4020
 
      22,    23,    24,    25,    26,    30,    31,    32,    33,    34,
4021
 
      35,    36,    37,    38,    39,    45,    46,    47,    48,    49,
4022
 
      50,    51,    52,    53,    56,    66,    67,    68,    69,    70,
4023
 
      71,    72,    73,    74,    77,    78,    81,    82,    83,    84,
4024
 
      95,   112,   113,   114,   115,   116,   117,   118,   119,   120,
4025
 
     121,   123,   124,   141,   177,   178,   179,   180,   182,   183,
4026
 
     278,   280,    39,    58,    86,    89,    95,    96,   123,   166,
4027
 
     174,   184,   186,   191,   194,   196,   215,   282,   284,   285,
4028
 
     306,   307,   191,   191,   142,   192,   193,   142,   188,   192,
4029
 
     142,   147,   313,    54,   179,   313,   154,   136,    21,    22,
4030
 
      30,    31,    32,   184,   215,   308,   184,    56,     1,    89,
4031
 
     156,   157,   158,   168,   169,   319,   160,   187,   196,   306,
4032
 
     319,   186,   305,   306,   319,    46,    86,   122,   140,   173,
4033
 
     198,   215,   282,   285,   241,   242,    54,    55,    57,   177,
4034
 
     271,   279,   270,   271,   272,   146,   266,   146,   269,    59,
4035
 
      60,   162,   184,   184,   145,   147,   312,   317,   318,    40,
4036
 
      41,    42,    43,    44,    37,    38,    28,   246,   109,   140,
4037
 
      89,    95,   170,   109,    68,    69,    70,    71,    72,    73,
4038
 
      74,    75,    76,    77,    78,    79,    80,    83,    84,   110,
4039
 
     112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
4040
 
      85,   138,   139,   199,   160,   161,   161,   202,   204,   161,
4041
 
     312,   318,    86,   167,   174,   215,   231,   282,   285,    52,
4042
 
      56,    83,    86,   175,   176,   215,   282,   285,   176,    33,
4043
 
      34,    35,    36,    49,    50,    51,    52,    56,   142,   177,
4044
 
     283,   303,    85,   139,    26,   136,   250,   262,    87,    87,
4045
 
     188,   192,   250,   140,   186,    56,   186,   186,   109,    88,
4046
 
     140,   195,   319,    85,   138,   139,    87,    87,   140,   195,
4047
 
     191,   313,   314,   191,   190,   191,   319,   160,   314,   160,
4048
 
      54,    63,    64,   159,   142,   185,   136,   156,    85,   139,
4049
 
      87,   158,   168,   143,   312,   318,   314,   200,   144,   140,
4050
 
     147,   316,   140,   316,   137,   316,   313,    56,    59,    60,
4051
 
     170,   172,   140,    85,   138,   139,   243,    61,   104,   105,
4052
 
     106,   273,   106,   273,   106,    65,   273,   106,   106,   267,
4053
 
     273,   106,    61,   106,    68,    68,   145,   153,   161,   161,
4054
 
     161,   161,   158,   160,   160,   247,    95,   162,   186,   196,
4055
 
     197,   168,   140,   173,   140,   162,   184,   186,   197,   184,
4056
 
     184,   184,   184,   184,   184,   184,   184,   184,   184,   184,
4057
 
     184,   184,   184,   184,   184,   184,   184,   184,   184,   184,
4058
 
     184,   184,   184,   184,   184,    52,    53,    56,   182,   188,
4059
 
     309,   310,   190,    52,    53,    56,   182,   188,   309,   155,
4060
 
     156,    13,   227,   317,   227,   161,   161,   312,    17,   253,
4061
 
      56,    85,   138,   139,    25,   160,    52,    56,   175,     1,
4062
 
     113,   286,   317,    85,   138,   139,   211,   304,   212,    85,
4063
 
     139,   311,    52,    56,   309,   309,   252,   251,   162,   184,
4064
 
     162,   184,    94,   164,   181,   184,   186,    95,   186,   194,
4065
 
     306,    52,    56,   190,    52,    56,   307,   314,   143,   314,
4066
 
     314,   179,   201,   184,   151,   137,   309,   309,   184,   314,
4067
 
     158,   314,   306,   140,   172,    52,    56,   190,    52,    56,
4068
 
      52,    54,    55,    56,    57,    89,    95,    96,   116,   119,
4069
 
     142,   244,   289,   290,   291,   292,   293,   294,   297,   298,
4070
 
     299,   300,   301,   275,   274,   146,   273,   146,   184,   184,
4071
 
      76,   114,   236,   237,   319,   186,   140,   314,   172,   140,
4072
 
      44,   313,    87,    87,   188,   192,   313,   315,    87,    87,
4073
 
     188,   189,   192,   319,    10,   226,     8,   255,   319,   156,
4074
 
      13,   156,    27,   228,   317,   228,   253,   196,   226,    52,
4075
 
      56,   190,    52,    56,   206,   209,   317,   287,   208,    52,
4076
 
      56,   175,   190,   155,   160,   142,   288,   289,   213,   189,
4077
 
     192,   189,   192,   236,   236,    44,   165,   179,   186,   195,
4078
 
      87,    87,   315,    87,    87,   160,   137,   316,   170,   315,
4079
 
     109,    52,    89,    95,   232,   233,   234,   291,   289,    29,
4080
 
     107,   245,   140,   302,   319,   140,   302,    52,   140,   302,
4081
 
      52,   276,    54,    55,    57,   277,   285,    52,   145,   235,
4082
 
     238,   293,   295,   296,   299,   301,   319,   156,    95,   186,
4083
 
     172,   184,   111,   162,   184,   162,   184,   164,   144,    87,
4084
 
     162,   184,   162,   184,   164,   186,   197,   256,   319,    15,
4085
 
     230,   319,    14,   229,   230,   230,   203,   205,   226,   140,
4086
 
     227,   315,   161,   317,   161,   155,   315,   226,   314,   289,
4087
 
     155,   317,   177,   156,   156,   184,   236,    87,   314,   186,
4088
 
     234,   140,   291,   140,   314,   238,   156,   156,   292,   297,
4089
 
     299,   301,   293,   294,   299,   293,   156,   109,    52,   239,
4090
 
     240,   290,   238,   114,   140,   302,   140,   302,   140,   302,
4091
 
      10,   186,   184,   162,   184,    88,   257,   319,   156,     9,
4092
 
     258,   319,   161,   226,   226,   156,   156,   186,   156,   228,
4093
 
     210,   317,   226,   314,   226,   214,    10,   137,   156,   314,
4094
 
     233,   140,    95,   232,   314,    10,   137,   140,   302,   140,
4095
 
     302,   140,   302,   140,   302,   302,   137,    86,   215,   140,
4096
 
     114,   296,   299,   293,   295,   299,   293,    86,   174,   215,
4097
 
     282,   285,   227,   156,   227,   226,   226,   230,   253,   254,
4098
 
     207,   155,   288,   137,   140,   233,   140,   291,   293,   299,
4099
 
     293,   293,    56,    85,   240,   140,   302,   140,   302,   302,
4100
 
     140,   302,   302,    56,    85,   138,   139,   156,   156,   156,
4101
 
     226,   155,   233,   140,   302,   140,   302,   302,   302,    52,
4102
 
      56,   293,   299,   293,   293,    52,    56,   190,    52,    56,
4103
 
     255,   229,   226,   226,   233,   293,   302,   140,   302,   302,
4104
 
     302,   315,   302,   293,   302
 
4094
     103,   122,   123,   124,   151,   152,   153,   158,   160,   161,
 
4095
     163,   164,   167,   168,   170,   171,   172,   174,   175,   185,
 
4096
     199,   216,   217,   218,   219,   220,   221,   222,   223,   224,
 
4097
     225,   226,   249,   250,   260,   261,   262,   263,   264,   265,
 
4098
     266,   269,   279,   281,   282,   283,   284,   285,   286,   287,
 
4099
     310,   321,   153,     3,     4,     5,     6,     7,     8,     9,
 
4100
      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
 
4101
      20,    21,    22,    23,    24,    25,    26,    30,    31,    32,
 
4102
      33,    34,    35,    36,    37,    38,    39,    45,    46,    47,
 
4103
      48,    49,    50,    51,    52,    53,    56,    66,    67,    68,
 
4104
      69,    70,    71,    72,    73,    74,    77,    78,    81,    82,
 
4105
      83,    84,    95,   112,   113,   114,   115,   116,   117,   118,
 
4106
     119,   120,   121,   123,   124,   141,   178,   179,   180,   181,
 
4107
     183,   184,   279,   281,    39,    58,    86,    89,    95,    96,
 
4108
     123,   167,   175,   185,   187,   192,   195,   197,   216,   283,
 
4109
     284,   286,   287,   308,   309,   192,   192,   142,   193,   194,
 
4110
     142,   189,   193,   142,   147,   315,    54,   180,   315,   154,
 
4111
     136,    21,    22,    30,    31,    32,   185,   216,   310,   185,
 
4112
      56,     1,    89,   156,   157,   158,   169,   170,   321,   161,
 
4113
     188,   197,   308,   321,   187,   307,   308,   321,    46,    86,
 
4114
     122,   140,   174,   199,   216,   283,   284,   287,   242,   243,
 
4115
      54,    55,    57,   178,   272,   280,   271,   272,   273,   146,
 
4116
     267,   146,   270,    59,    60,   163,   185,   185,   145,   147,
 
4117
     314,   319,   320,    40,    41,    42,    43,    44,    37,    38,
 
4118
      28,   247,   109,   140,    89,    95,   171,   109,    68,    69,
 
4119
      70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
 
4120
      80,    83,    84,   110,   112,   113,   114,   115,   116,   117,
 
4121
     118,   119,   120,   121,    85,   138,   139,   200,   161,   162,
 
4122
     162,   203,   205,   162,   314,   320,    86,   168,   175,   216,
 
4123
     232,   283,   284,   287,    52,    56,    83,    86,   176,   177,
 
4124
     216,   283,   284,   287,   177,    33,    34,    35,    36,    49,
 
4125
      50,    51,    52,    56,   142,   178,   285,   305,    85,   139,
 
4126
      26,   136,   251,   263,    87,    87,   189,   193,   251,   140,
 
4127
     187,    56,   187,   187,   109,    88,   140,   196,   321,    85,
 
4128
     138,   139,    87,    87,   140,   196,   192,   315,   316,   192,
 
4129
     191,   192,   197,   308,   321,   161,   316,   161,    54,    63,
 
4130
      64,   159,   142,   186,   136,   156,    85,   139,    87,   158,
 
4131
     169,   143,   314,   320,   316,   201,   144,   140,   147,   318,
 
4132
     140,   318,   137,   318,   315,    56,    59,    60,   171,   173,
 
4133
     140,    85,   138,   139,   244,    61,   104,   105,   106,   274,
 
4134
     106,   274,   106,    65,   274,   106,   106,   268,   274,   106,
 
4135
      61,   106,    68,    68,   145,   153,   162,   162,   162,   162,
 
4136
     158,   161,   161,   248,    95,   163,   187,   197,   198,   169,
 
4137
     140,   174,   140,   160,   163,   175,   185,   187,   198,   185,
 
4138
     185,   185,   185,   185,   185,   185,   185,   185,   185,   185,
 
4139
     185,   185,   185,   185,   185,   185,   185,   185,   185,   185,
 
4140
     185,   185,   185,   185,   185,    52,    53,    56,   183,   189,
 
4141
     311,   312,   191,    52,    53,    56,   183,   189,   311,   155,
 
4142
     156,    13,   228,   319,   228,   162,   162,   314,    17,   254,
 
4143
      56,    85,   138,   139,    25,   161,    52,    56,   176,     1,
 
4144
     113,   288,   319,    85,   138,   139,   212,   306,   213,    85,
 
4145
     139,   313,    52,    56,   311,   311,   253,   252,   163,   185,
 
4146
     163,   185,    94,   165,   182,   185,   187,    95,   187,   195,
 
4147
     308,    52,    56,   191,    52,    56,   309,   316,   143,   316,
 
4148
     140,   140,   316,   180,   202,   185,   151,   137,   311,   311,
 
4149
     185,   316,   158,   316,   308,   140,   173,    52,    56,   191,
 
4150
      52,    56,    52,    54,    55,    56,    57,    89,    95,    96,
 
4151
     116,   119,   142,   245,   291,   292,   293,   294,   295,   296,
 
4152
     299,   300,   301,   302,   303,   276,   275,   146,   274,   146,
 
4153
     185,   185,    76,   114,   237,   238,   321,   187,   140,   316,
 
4154
     173,   140,   109,    44,   315,    87,    87,   189,   193,   315,
 
4155
     317,    87,    87,   189,   190,   193,   321,    10,   227,     8,
 
4156
     256,   321,   156,    13,   156,    27,   229,   319,   229,   254,
 
4157
     197,   227,    52,    56,   191,    52,    56,   207,   210,   319,
 
4158
     289,   209,    52,    56,   176,   191,   155,   161,   142,   290,
 
4159
     291,   214,   190,   193,   190,   193,   237,   237,    44,   166,
 
4160
     180,   187,   196,    87,    87,   317,    87,    87,   308,   161,
 
4161
     137,   318,   171,   317,   109,    52,    89,    95,   233,   234,
 
4162
     235,   293,   291,    29,   107,   246,   140,   304,   321,   140,
 
4163
     304,    52,   140,   304,    52,   277,    54,    55,    57,   278,
 
4164
     287,    52,   145,   236,   239,   295,   297,   298,   301,   303,
 
4165
     321,   156,    95,   187,   173,   185,   111,   163,   185,   163,
 
4166
     185,   165,   144,    87,   163,   185,   163,   185,   165,   187,
 
4167
     198,   257,   321,    15,   231,   321,    14,   230,   231,   231,
 
4168
     204,   206,   227,   140,   228,   317,   162,   319,   162,   155,
 
4169
     317,   227,   316,   291,   155,   319,   178,   156,   156,   185,
 
4170
     237,    87,   140,   316,   187,   235,   140,   293,   140,   316,
 
4171
     239,   156,   156,   294,   299,   301,   303,   295,   296,   301,
 
4172
     295,   156,   109,    52,   240,   241,   292,   239,   114,   140,
 
4173
     304,   140,   304,   140,   304,    10,   187,   185,   163,   185,
 
4174
      88,   258,   321,   156,     9,   259,   321,   162,   227,   227,
 
4175
     156,   156,   187,   156,   229,   211,   319,   227,   316,   227,
 
4176
     215,    10,   137,   156,   316,   234,   140,    95,   233,   316,
 
4177
      10,   137,   140,   304,   140,   304,   140,   304,   140,   304,
 
4178
     304,   137,    86,   216,   140,   114,   298,   301,   295,   297,
 
4179
     301,   295,    86,   175,   216,   283,   284,   287,   228,   156,
 
4180
     228,   227,   227,   231,   254,   255,   208,   155,   290,   137,
 
4181
     140,   234,   140,   293,   295,   301,   295,   295,    56,    85,
 
4182
     241,   140,   304,   140,   304,   304,   140,   304,   304,    56,
 
4183
      85,   138,   139,   156,   156,   156,   227,   155,   234,   140,
 
4184
     304,   140,   304,   304,   304,    52,    56,   295,   301,   295,
 
4185
     295,    52,    56,   191,    52,    56,   256,   230,   227,   227,
 
4186
     234,   295,   304,   140,   304,   304,   304,   317,   304,   295,
 
4187
     304
4105
4188
};
4106
4189
 
4107
4190
#define yyerrok         (yyerrstatus = 0)
4137
4220
    {                                                           \
4138
4221
      yychar = (Token);                                         \
4139
4222
      yylval = (Value);                                         \
4140
 
      yytoken = YYTRANSLATE (yychar);                           \
4141
4223
      YYPOPSTACK (1);                                           \
4142
4224
      goto yybackup;                                            \
4143
4225
    }                                                           \
4179
4261
#endif
4180
4262
 
4181
4263
 
4182
 
/* YY_LOCATION_PRINT -- Print the location on the stream.
4183
 
   This macro was not mandated originally: define only if we know
4184
 
   we won't break user code: when these are the locations we know.  */
 
4264
/* This macro is provided for backward compatibility. */
4185
4265
 
4186
4266
#ifndef YY_LOCATION_PRINT
4187
 
# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
4188
 
#  define YY_LOCATION_PRINT(File, Loc)                  \
4189
 
     fprintf (File, "%d.%d-%d.%d",                      \
4190
 
              (Loc).first_line, (Loc).first_column,     \
4191
 
              (Loc).last_line,  (Loc).last_column)
4192
 
# else
4193
 
#  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
4194
 
# endif
 
4267
# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
4195
4268
#endif
4196
4269
 
4197
4270
 
4389
4462
# define YYMAXDEPTH 10000
4390
4463
#endif
4391
4464
 
4392
 
 
4393
4465
 
4394
4466
#if YYERROR_VERBOSE
4395
4467
 
4492
4564
}
4493
4565
# endif
4494
4566
 
4495
 
/* Copy into YYRESULT an error message about the unexpected token
4496
 
   YYCHAR while in state YYSTATE.  Return the number of bytes copied,
4497
 
   including the terminating null byte.  If YYRESULT is null, do not
4498
 
   copy anything; just return the number of bytes that would be
4499
 
   copied.  As a special case, return 0 if an ordinary "syntax error"
4500
 
   message will do.  Return YYSIZE_MAXIMUM if overflow occurs during
4501
 
   size calculation.  */
4502
 
static YYSIZE_T
4503
 
yysyntax_error (char *yyresult, int yystate, int yychar)
 
4567
/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
 
4568
   about the unexpected token YYTOKEN for the state stack whose top is
 
4569
   YYSSP.
 
4570
 
 
4571
   Return 0 if *YYMSG was successfully written.  Return 1 if *YYMSG is
 
4572
   not large enough to hold the message.  In that case, also set
 
4573
   *YYMSG_ALLOC to the required number of bytes.  Return 2 if the
 
4574
   required number of bytes is too large to store.  */
 
4575
static int
 
4576
yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
 
4577
                yytype_int16 *yyssp, int yytoken)
4504
4578
{
4505
 
  int yyn = yypact[yystate];
4506
 
 
4507
 
  if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
4508
 
    return 0;
4509
 
  else
4510
 
    {
4511
 
      int yytype = YYTRANSLATE (yychar);
4512
 
      YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
4513
 
      YYSIZE_T yysize = yysize0;
4514
 
      YYSIZE_T yysize1;
4515
 
      int yysize_overflow = 0;
4516
 
      enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
4517
 
      char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
4518
 
      int yyx;
4519
 
 
4520
 
# if 0
4521
 
      /* This is so xgettext sees the translatable formats that are
4522
 
         constructed on the fly.  */
4523
 
      YY_("syntax error, unexpected %s");
4524
 
      YY_("syntax error, unexpected %s, expecting %s");
4525
 
      YY_("syntax error, unexpected %s, expecting %s or %s");
4526
 
      YY_("syntax error, unexpected %s, expecting %s or %s or %s");
4527
 
      YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
4528
 
# endif
4529
 
      char *yyfmt;
4530
 
      char const *yyf;
4531
 
      static char const yyunexpected[] = "syntax error, unexpected %s";
4532
 
      static char const yyexpecting[] = ", expecting %s";
4533
 
      static char const yyor[] = " or %s";
4534
 
      char yyformat[sizeof yyunexpected
4535
 
                    + sizeof yyexpecting - 1
4536
 
                    + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
4537
 
                       * (sizeof yyor - 1))];
4538
 
      char const *yyprefix = yyexpecting;
4539
 
 
4540
 
      /* Start YYX at -YYN if negative to avoid negative indexes in
4541
 
         YYCHECK.  */
4542
 
      int yyxbegin = yyn < 0 ? -yyn : 0;
4543
 
 
4544
 
      /* Stay within bounds of both yycheck and yytname.  */
4545
 
      int yychecklim = YYLAST - yyn + 1;
4546
 
      int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
4547
 
      int yycount = 1;
4548
 
 
4549
 
      yyarg[0] = yytname[yytype];
4550
 
      yyfmt = yystpcpy (yyformat, yyunexpected);
4551
 
 
4552
 
      for (yyx = yyxbegin; yyx < yyxend; ++yyx)
4553
 
        if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
4554
 
          {
4555
 
            if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
4556
 
              {
4557
 
                yycount = 1;
4558
 
                yysize = yysize0;
4559
 
                yyformat[sizeof yyunexpected - 1] = '\0';
4560
 
                break;
4561
 
              }
4562
 
            yyarg[yycount++] = yytname[yyx];
4563
 
            yysize1 = yysize + yytnamerr (0, yytname[yyx]);
4564
 
            yysize_overflow |= (yysize1 < yysize);
4565
 
            yysize = yysize1;
4566
 
            yyfmt = yystpcpy (yyfmt, yyprefix);
4567
 
            yyprefix = yyor;
4568
 
          }
4569
 
 
4570
 
      yyf = YY_(yyformat);
4571
 
      yysize1 = yysize + yystrlen (yyf);
4572
 
      yysize_overflow |= (yysize1 < yysize);
4573
 
      yysize = yysize1;
4574
 
 
4575
 
      if (yysize_overflow)
4576
 
        return YYSIZE_MAXIMUM;
4577
 
 
4578
 
      if (yyresult)
4579
 
        {
4580
 
          /* Avoid sprintf, as that infringes on the user's name space.
4581
 
             Don't have undefined behavior even if the translation
4582
 
             produced a string with the wrong number of "%s"s.  */
4583
 
          char *yyp = yyresult;
4584
 
          int yyi = 0;
4585
 
          while ((*yyp = *yyf) != '\0')
4586
 
            {
4587
 
              if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
4588
 
                {
4589
 
                  yyp += yytnamerr (yyp, yyarg[yyi++]);
4590
 
                  yyf += 2;
4591
 
                }
4592
 
              else
4593
 
                {
4594
 
                  yyp++;
4595
 
                  yyf++;
4596
 
                }
4597
 
            }
4598
 
        }
4599
 
      return yysize;
4600
 
    }
 
4579
  YYSIZE_T yysize0 = yytnamerr (0, yytname[yytoken]);
 
4580
  YYSIZE_T yysize = yysize0;
 
4581
  YYSIZE_T yysize1;
 
4582
  enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
 
4583
  /* Internationalized format string. */
 
4584
  const char *yyformat = 0;
 
4585
  /* Arguments of yyformat. */
 
4586
  char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
 
4587
  /* Number of reported tokens (one for the "unexpected", one per
 
4588
     "expected"). */
 
4589
  int yycount = 0;
 
4590
 
 
4591
  /* There are many possibilities here to consider:
 
4592
     - Assume YYFAIL is not used.  It's too flawed to consider.  See
 
4593
       <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html>
 
4594
       for details.  YYERROR is fine as it does not invoke this
 
4595
       function.
 
4596
     - If this state is a consistent state with a default action, then
 
4597
       the only way this function was invoked is if the default action
 
4598
       is an error action.  In that case, don't check for expected
 
4599
       tokens because there are none.
 
4600
     - The only way there can be no lookahead present (in yychar) is if
 
4601
       this state is a consistent state with a default action.  Thus,
 
4602
       detecting the absence of a lookahead is sufficient to determine
 
4603
       that there is no unexpected or expected token to report.  In that
 
4604
       case, just report a simple "syntax error".
 
4605
     - Don't assume there isn't a lookahead just because this state is a
 
4606
       consistent state with a default action.  There might have been a
 
4607
       previous inconsistent state, consistent state with a non-default
 
4608
       action, or user semantic action that manipulated yychar.
 
4609
     - Of course, the expected token list depends on states to have
 
4610
       correct lookahead information, and it depends on the parser not
 
4611
       to perform extra reductions after fetching a lookahead from the
 
4612
       scanner and before detecting a syntax error.  Thus, state merging
 
4613
       (from LALR or IELR) and default reductions corrupt the expected
 
4614
       token list.  However, the list is correct for canonical LR with
 
4615
       one exception: it will still contain any token that will not be
 
4616
       accepted due to an error action in a later state.
 
4617
  */
 
4618
  if (yytoken != YYEMPTY)
 
4619
    {
 
4620
      int yyn = yypact[*yyssp];
 
4621
      yyarg[yycount++] = yytname[yytoken];
 
4622
      if (!yypact_value_is_default (yyn))
 
4623
        {
 
4624
          /* Start YYX at -YYN if negative to avoid negative indexes in
 
4625
             YYCHECK.  In other words, skip the first -YYN actions for
 
4626
             this state because they are default actions.  */
 
4627
          int yyxbegin = yyn < 0 ? -yyn : 0;
 
4628
          /* Stay within bounds of both yycheck and yytname.  */
 
4629
          int yychecklim = YYLAST - yyn + 1;
 
4630
          int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
 
4631
          int yyx;
 
4632
 
 
4633
          for (yyx = yyxbegin; yyx < yyxend; ++yyx)
 
4634
            if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
 
4635
                && !yytable_value_is_error (yytable[yyx + yyn]))
 
4636
              {
 
4637
                if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
 
4638
                  {
 
4639
                    yycount = 1;
 
4640
                    yysize = yysize0;
 
4641
                    break;
 
4642
                  }
 
4643
                yyarg[yycount++] = yytname[yyx];
 
4644
                yysize1 = yysize + yytnamerr (0, yytname[yyx]);
 
4645
                if (! (yysize <= yysize1
 
4646
                       && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
 
4647
                  return 2;
 
4648
                yysize = yysize1;
 
4649
              }
 
4650
        }
 
4651
    }
 
4652
 
 
4653
  switch (yycount)
 
4654
    {
 
4655
# define YYCASE_(N, S)                      \
 
4656
      case N:                               \
 
4657
        yyformat = S;                       \
 
4658
      break
 
4659
      YYCASE_(0, YY_("syntax error"));
 
4660
      YYCASE_(1, YY_("syntax error, unexpected %s"));
 
4661
      YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
 
4662
      YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
 
4663
      YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
 
4664
      YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
 
4665
# undef YYCASE_
 
4666
    }
 
4667
 
 
4668
  yysize1 = yysize + yystrlen (yyformat);
 
4669
  if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
 
4670
    return 2;
 
4671
  yysize = yysize1;
 
4672
 
 
4673
  if (*yymsg_alloc < yysize)
 
4674
    {
 
4675
      *yymsg_alloc = 2 * yysize;
 
4676
      if (! (yysize <= *yymsg_alloc
 
4677
             && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
 
4678
        *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
 
4679
      return 1;
 
4680
    }
 
4681
 
 
4682
  /* Avoid sprintf, as that infringes on the user's name space.
 
4683
     Don't have undefined behavior even if the translation
 
4684
     produced a string with the wrong number of "%s"s.  */
 
4685
  {
 
4686
    char *yyp = *yymsg;
 
4687
    int yyi = 0;
 
4688
    while ((*yyp = *yyformat) != '\0')
 
4689
      if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
 
4690
        {
 
4691
          yyp += yytnamerr (yyp, yyarg[yyi++]);
 
4692
          yyformat += 2;
 
4693
        }
 
4694
      else
 
4695
        {
 
4696
          yyp++;
 
4697
          yyformat++;
 
4698
        }
 
4699
  }
 
4700
  return 0;
4601
4701
}
4602
4702
#endif /* YYERROR_VERBOSE */
4603
 
 
4604
4703
 
4605
4704
/*-----------------------------------------------.
4606
4705
| Release the memory associated to this symbol.  |
4635
4734
    }
4636
4735
}
4637
4736
 
 
4737
 
4638
4738
/* Prevent warnings from -Wmissing-prototypes.  */
4639
4739
#ifdef YYPARSE_PARAM
4640
4740
#if defined __STDC__ || defined __cplusplus
4651
4751
#endif /* ! YYPARSE_PARAM */
4652
4752
 
4653
4753
 
4654
 
 
4655
 
 
4656
 
 
4657
 
/*-------------------------.
4658
 
| yyparse or yypush_parse.  |
4659
 
`-------------------------*/
 
4754
/*----------.
 
4755
| yyparse.  |
 
4756
`----------*/
4660
4757
 
4661
4758
#ifdef YYPARSE_PARAM
4662
4759
#if (defined __STDC__ || defined __C99__FUNC__ \
4843
4940
 
4844
4941
  /* First try to decide what to do without reference to lookahead token.  */
4845
4942
  yyn = yypact[yystate];
4846
 
  if (yyn == YYPACT_NINF)
 
4943
  if (yypact_value_is_default (yyn))
4847
4944
    goto yydefault;
4848
4945
 
4849
4946
  /* Not known => get a lookahead token if don't already have one.  */
4874
4971
  yyn = yytable[yyn];
4875
4972
  if (yyn <= 0)
4876
4973
    {
4877
 
      if (yyn == 0 || yyn == YYTABLE_NINF)
4878
 
        goto yyerrlab;
 
4974
      if (yytable_value_is_error (yyn))
 
4975
        goto yyerrlab;
4879
4976
      yyn = -yyn;
4880
4977
      goto yyreduce;
4881
4978
    }
4930
5027
    {
4931
5028
        case 2:
4932
5029
 
4933
 
/* Line 1464 of yacc.c  */
4934
 
#line 786 "parse.y"
 
5030
/* Line 1806 of yacc.c  */
 
5031
#line 782 "parse.y"
4935
5032
    {
4936
5033
                        lex_state = EXPR_BEG;
4937
5034
                    /*%%%*/
4939
5036
                    /*%
4940
5037
                        local_push(0);
4941
5038
                    %*/
4942
 
                    ;}
 
5039
                    }
4943
5040
    break;
4944
5041
 
4945
5042
  case 3:
4946
5043
 
4947
 
/* Line 1464 of yacc.c  */
4948
 
#line 795 "parse.y"
 
5044
/* Line 1806 of yacc.c  */
 
5045
#line 791 "parse.y"
4949
5046
    {
4950
5047
                    /*%%%*/
4951
5048
                        if ((yyvsp[(2) - (2)].node) && !compile_for_eval) {
4965
5062
                        parser->result = dispatch1(program, $$);
4966
5063
                    %*/
4967
5064
                        local_pop();
4968
 
                    ;}
 
5065
                    }
4969
5066
    break;
4970
5067
 
4971
5068
  case 4:
4972
5069
 
4973
 
/* Line 1464 of yacc.c  */
4974
 
#line 818 "parse.y"
 
5070
/* Line 1806 of yacc.c  */
 
5071
#line 814 "parse.y"
4975
5072
    {
4976
5073
                    /*%%%*/
4977
5074
                        void_stmts((yyvsp[(1) - (2)].node));
4979
5076
                    /*%
4980
5077
                    %*/
4981
5078
                        (yyval.node) = (yyvsp[(1) - (2)].node);
4982
 
                    ;}
 
5079
                    }
4983
5080
    break;
4984
5081
 
4985
5082
  case 5:
4986
5083
 
4987
 
/* Line 1464 of yacc.c  */
4988
 
#line 829 "parse.y"
 
5084
/* Line 1806 of yacc.c  */
 
5085
#line 825 "parse.y"
4989
5086
    {
4990
5087
                    /*%%%*/
4991
5088
                        (yyval.node) = NEW_BEGIN(0);
4993
5090
                        $$ = dispatch2(stmts_add, dispatch0(stmts_new),
4994
5091
                                                  dispatch0(void_stmt));
4995
5092
                    %*/
4996
 
                    ;}
 
5093
                    }
4997
5094
    break;
4998
5095
 
4999
5096
  case 6:
5000
5097
 
5001
 
/* Line 1464 of yacc.c  */
5002
 
#line 838 "parse.y"
 
5098
/* Line 1806 of yacc.c  */
 
5099
#line 834 "parse.y"
5003
5100
    {
5004
5101
                    /*%%%*/
5005
5102
                        (yyval.node) = newline_node((yyvsp[(1) - (1)].node));
5006
5103
                    /*%
5007
5104
                        $$ = dispatch2(stmts_add, dispatch0(stmts_new), $1);
5008
5105
                    %*/
5009
 
                    ;}
 
5106
                    }
5010
5107
    break;
5011
5108
 
5012
5109
  case 7:
5013
5110
 
5014
 
/* Line 1464 of yacc.c  */
5015
 
#line 846 "parse.y"
 
5111
/* Line 1806 of yacc.c  */
 
5112
#line 842 "parse.y"
5016
5113
    {
5017
5114
                    /*%%%*/
5018
5115
                        (yyval.node) = block_append((yyvsp[(1) - (3)].node), newline_node((yyvsp[(3) - (3)].node)));
5019
5116
                    /*%
5020
5117
                        $$ = dispatch2(stmts_add, $1, $3);
5021
5118
                    %*/
5022
 
                    ;}
 
5119
                    }
5023
5120
    break;
5024
5121
 
5025
5122
  case 8:
5026
5123
 
5027
 
/* Line 1464 of yacc.c  */
5028
 
#line 854 "parse.y"
 
5124
/* Line 1806 of yacc.c  */
 
5125
#line 850 "parse.y"
5029
5126
    {
5030
5127
                        (yyval.node) = remove_begin((yyvsp[(2) - (2)].node));
5031
 
                    ;}
 
5128
                    }
5032
5129
    break;
5033
5130
 
5034
5131
  case 10:
5035
5132
 
5036
 
/* Line 1464 of yacc.c  */
5037
 
#line 861 "parse.y"
 
5133
/* Line 1806 of yacc.c  */
 
5134
#line 857 "parse.y"
5038
5135
    {
5039
5136
                        if (in_def || in_single) {
5040
5137
                            yyerror("BEGIN in method");
5043
5140
                        /* local_push(0); */
5044
5141
                    /*%
5045
5142
                    %*/
5046
 
                    ;}
 
5143
                    }
5047
5144
    break;
5048
5145
 
5049
5146
  case 11:
5050
5147
 
5051
 
/* Line 1464 of yacc.c  */
5052
 
#line 871 "parse.y"
 
5148
/* Line 1806 of yacc.c  */
 
5149
#line 867 "parse.y"
5053
5150
    {
5054
5151
                    /*%%%*/
5055
5152
                        ruby_eval_tree_begin = block_append(ruby_eval_tree_begin,
5060
5157
                    /*%
5061
5158
                        $$ = dispatch1(BEGIN, $4);
5062
5159
                    %*/
5063
 
                    ;}
 
5160
                    }
5064
5161
    break;
5065
5162
 
5066
5163
  case 12:
5067
5164
 
5068
 
/* Line 1464 of yacc.c  */
5069
 
#line 888 "parse.y"
 
5165
/* Line 1806 of yacc.c  */
 
5166
#line 884 "parse.y"
5070
5167
    {
5071
5168
                    /*%%%*/
5072
5169
                        (yyval.node) = (yyvsp[(1) - (4)].node);
5093
5190
                                       escape_Qundef($3),
5094
5191
                                       escape_Qundef($4));
5095
5192
                    %*/
5096
 
                    ;}
 
5193
                    }
5097
5194
    break;
5098
5195
 
5099
5196
  case 13:
5100
5197
 
5101
 
/* Line 1464 of yacc.c  */
5102
 
#line 918 "parse.y"
 
5198
/* Line 1806 of yacc.c  */
 
5199
#line 914 "parse.y"
5103
5200
    {
5104
5201
                    /*%%%*/
5105
5202
                        void_stmts((yyvsp[(1) - (2)].node));
5107
5204
                    /*%
5108
5205
                    %*/
5109
5206
                        (yyval.node) = (yyvsp[(1) - (2)].node);
5110
 
                    ;}
 
5207
                    }
5111
5208
    break;
5112
5209
 
5113
5210
  case 14:
5114
5211
 
5115
 
/* Line 1464 of yacc.c  */
5116
 
#line 929 "parse.y"
 
5212
/* Line 1806 of yacc.c  */
 
5213
#line 925 "parse.y"
5117
5214
    {
5118
5215
                    /*%%%*/
5119
5216
                        (yyval.node) = NEW_BEGIN(0);
5121
5218
                        $$ = dispatch2(stmts_add, dispatch0(stmts_new),
5122
5219
                                                  dispatch0(void_stmt));
5123
5220
                    %*/
5124
 
                    ;}
 
5221
                    }
5125
5222
    break;
5126
5223
 
5127
5224
  case 15:
5128
5225
 
5129
 
/* Line 1464 of yacc.c  */
5130
 
#line 938 "parse.y"
 
5226
/* Line 1806 of yacc.c  */
 
5227
#line 934 "parse.y"
5131
5228
    {
5132
5229
                    /*%%%*/
5133
5230
                        (yyval.node) = newline_node((yyvsp[(1) - (1)].node));
5134
5231
                    /*%
5135
5232
                        $$ = dispatch2(stmts_add, dispatch0(stmts_new), $1);
5136
5233
                    %*/
5137
 
                    ;}
 
5234
                    }
5138
5235
    break;
5139
5236
 
5140
5237
  case 16:
5141
5238
 
5142
 
/* Line 1464 of yacc.c  */
5143
 
#line 946 "parse.y"
 
5239
/* Line 1806 of yacc.c  */
 
5240
#line 942 "parse.y"
5144
5241
    {
5145
5242
                    /*%%%*/
5146
5243
                        (yyval.node) = block_append((yyvsp[(1) - (3)].node), newline_node((yyvsp[(3) - (3)].node)));
5147
5244
                    /*%
5148
5245
                        $$ = dispatch2(stmts_add, $1, $3);
5149
5246
                    %*/
5150
 
                    ;}
 
5247
                    }
5151
5248
    break;
5152
5249
 
5153
5250
  case 17:
5154
5251
 
5155
 
/* Line 1464 of yacc.c  */
5156
 
#line 954 "parse.y"
 
5252
/* Line 1806 of yacc.c  */
 
5253
#line 950 "parse.y"
5157
5254
    {
5158
5255
                        (yyval.node) = remove_begin((yyvsp[(2) - (2)].node));
5159
 
                    ;}
 
5256
                    }
5160
5257
    break;
5161
5258
 
5162
5259
  case 18:
5163
5260
 
5164
 
/* Line 1464 of yacc.c  */
5165
 
#line 959 "parse.y"
5166
 
    {lex_state = EXPR_FNAME;;}
 
5261
/* Line 1806 of yacc.c  */
 
5262
#line 955 "parse.y"
 
5263
    {lex_state = EXPR_FNAME;}
5167
5264
    break;
5168
5265
 
5169
5266
  case 19:
5170
5267
 
5171
 
/* Line 1464 of yacc.c  */
5172
 
#line 960 "parse.y"
 
5268
/* Line 1806 of yacc.c  */
 
5269
#line 956 "parse.y"
5173
5270
    {
5174
5271
                    /*%%%*/
5175
5272
                        (yyval.node) = NEW_ALIAS((yyvsp[(2) - (4)].node), (yyvsp[(4) - (4)].node));
5176
5273
                    /*%
5177
5274
                        $$ = dispatch2(alias, $2, $4);
5178
5275
                    %*/
5179
 
                    ;}
 
5276
                    }
5180
5277
    break;
5181
5278
 
5182
5279
  case 20:
5183
5280
 
5184
 
/* Line 1464 of yacc.c  */
5185
 
#line 968 "parse.y"
 
5281
/* Line 1806 of yacc.c  */
 
5282
#line 964 "parse.y"
5186
5283
    {
5187
5284
                    /*%%%*/
5188
5285
                        (yyval.node) = NEW_VALIAS((yyvsp[(2) - (3)].id), (yyvsp[(3) - (3)].id));
5189
5286
                    /*%
5190
5287
                        $$ = dispatch2(var_alias, $2, $3);
5191
5288
                    %*/
5192
 
                    ;}
 
5289
                    }
5193
5290
    break;
5194
5291
 
5195
5292
  case 21:
5196
5293
 
5197
 
/* Line 1464 of yacc.c  */
5198
 
#line 976 "parse.y"
 
5294
/* Line 1806 of yacc.c  */
 
5295
#line 972 "parse.y"
5199
5296
    {
5200
5297
                    /*%%%*/
5201
5298
                        char buf[2];
5205
5302
                    /*%
5206
5303
                        $$ = dispatch2(var_alias, $2, $3);
5207
5304
                    %*/
5208
 
                    ;}
 
5305
                    }
5209
5306
    break;
5210
5307
 
5211
5308
  case 22:
5212
5309
 
5213
 
/* Line 1464 of yacc.c  */
5214
 
#line 987 "parse.y"
 
5310
/* Line 1806 of yacc.c  */
 
5311
#line 983 "parse.y"
5215
5312
    {
5216
5313
                    /*%%%*/
5217
5314
                        yyerror("can't make alias for the number variables");
5220
5317
                        $$ = dispatch2(var_alias, $2, $3);
5221
5318
                        $$ = dispatch1(alias_error, $$);
5222
5319
                    %*/
5223
 
                    ;}
 
5320
                    }
5224
5321
    break;
5225
5322
 
5226
5323
  case 23:
5227
5324
 
5228
 
/* Line 1464 of yacc.c  */
5229
 
#line 997 "parse.y"
 
5325
/* Line 1806 of yacc.c  */
 
5326
#line 993 "parse.y"
5230
5327
    {
5231
5328
                    /*%%%*/
5232
5329
                        (yyval.node) = (yyvsp[(2) - (2)].node);
5233
5330
                    /*%
5234
5331
                        $$ = dispatch1(undef, $2);
5235
5332
                    %*/
5236
 
                    ;}
 
5333
                    }
5237
5334
    break;
5238
5335
 
5239
5336
  case 24:
5240
5337
 
5241
 
/* Line 1464 of yacc.c  */
5242
 
#line 1005 "parse.y"
 
5338
/* Line 1806 of yacc.c  */
 
5339
#line 1001 "parse.y"
5243
5340
    {
5244
5341
                    /*%%%*/
5245
5342
                        (yyval.node) = NEW_IF(cond((yyvsp[(3) - (3)].node)), remove_begin((yyvsp[(1) - (3)].node)), 0);
5247
5344
                    /*%
5248
5345
                        $$ = dispatch2(if_mod, $3, $1);
5249
5346
                    %*/
5250
 
                    ;}
 
5347
                    }
5251
5348
    break;
5252
5349
 
5253
5350
  case 25:
5254
5351
 
5255
 
/* Line 1464 of yacc.c  */
5256
 
#line 1014 "parse.y"
 
5352
/* Line 1806 of yacc.c  */
 
5353
#line 1010 "parse.y"
5257
5354
    {
5258
5355
                    /*%%%*/
5259
5356
                        (yyval.node) = NEW_UNLESS(cond((yyvsp[(3) - (3)].node)), remove_begin((yyvsp[(1) - (3)].node)), 0);
5261
5358
                    /*%
5262
5359
                        $$ = dispatch2(unless_mod, $3, $1);
5263
5360
                    %*/
5264
 
                    ;}
 
5361
                    }
5265
5362
    break;
5266
5363
 
5267
5364
  case 26:
5268
5365
 
5269
 
/* Line 1464 of yacc.c  */
5270
 
#line 1023 "parse.y"
 
5366
/* Line 1806 of yacc.c  */
 
5367
#line 1019 "parse.y"
5271
5368
    {
5272
5369
                    /*%%%*/
5273
5370
                        if ((yyvsp[(1) - (3)].node) && nd_type((yyvsp[(1) - (3)].node)) == NODE_BEGIN) {
5279
5376
                    /*%
5280
5377
                        $$ = dispatch2(while_mod, $3, $1);
5281
5378
                    %*/
5282
 
                    ;}
 
5379
                    }
5283
5380
    break;
5284
5381
 
5285
5382
  case 27:
5286
5383
 
5287
 
/* Line 1464 of yacc.c  */
5288
 
#line 1036 "parse.y"
 
5384
/* Line 1806 of yacc.c  */
 
5385
#line 1032 "parse.y"
5289
5386
    {
5290
5387
                    /*%%%*/
5291
5388
                        if ((yyvsp[(1) - (3)].node) && nd_type((yyvsp[(1) - (3)].node)) == NODE_BEGIN) {
5297
5394
                    /*%
5298
5395
                        $$ = dispatch2(until_mod, $3, $1);
5299
5396
                    %*/
5300
 
                    ;}
 
5397
                    }
5301
5398
    break;
5302
5399
 
5303
5400
  case 28:
5304
5401
 
5305
 
/* Line 1464 of yacc.c  */
5306
 
#line 1049 "parse.y"
 
5402
/* Line 1806 of yacc.c  */
 
5403
#line 1045 "parse.y"
5307
5404
    {
5308
5405
                    /*%%%*/
5309
5406
                        NODE *resq = NEW_RESBODY(0, remove_begin((yyvsp[(3) - (3)].node)), 0);
5310
5407
                        (yyval.node) = NEW_RESCUE(remove_begin((yyvsp[(1) - (3)].node)), resq, 0);
5311
5408
                    /*%
5312
 
                        $$ = dispatch2(rescue_mod, $3, $1);
 
5409
                        $$ = dispatch2(rescue_mod, $1, $3);
5313
5410
                    %*/
5314
 
                    ;}
 
5411
                    }
5315
5412
    break;
5316
5413
 
5317
5414
  case 29:
5318
5415
 
5319
 
/* Line 1464 of yacc.c  */
5320
 
#line 1058 "parse.y"
 
5416
/* Line 1806 of yacc.c  */
 
5417
#line 1054 "parse.y"
5321
5418
    {
5322
5419
                        if (in_def || in_single) {
5323
5420
                            rb_warn0("END in method; use at_exit");
5328
5425
                    /*%
5329
5426
                        $$ = dispatch1(END, $3);
5330
5427
                    %*/
5331
 
                    ;}
5332
 
    break;
5333
 
 
5334
 
  case 30:
5335
 
 
5336
 
/* Line 1464 of yacc.c  */
5337
 
#line 1070 "parse.y"
5338
 
    {
5339
 
                    /*%%%*/
5340
 
                        value_expr((yyvsp[(3) - (3)].node));
5341
 
                        (yyval.node) = node_assign((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
5342
 
                    /*%
5343
 
                        $$ = dispatch2(assign, $1, $3);
5344
 
                    %*/
5345
 
                    ;}
 
5428
                    }
5346
5429
    break;
5347
5430
 
5348
5431
  case 31:
5349
5432
 
5350
 
/* Line 1464 of yacc.c  */
5351
 
#line 1079 "parse.y"
 
5433
/* Line 1806 of yacc.c  */
 
5434
#line 1067 "parse.y"
5352
5435
    {
5353
5436
                    /*%%%*/
5354
5437
                        value_expr((yyvsp[(3) - (3)].node));
5357
5440
                    /*%
5358
5441
                        $$ = dispatch2(massign, $1, $3);
5359
5442
                    %*/
5360
 
                    ;}
 
5443
                    }
5361
5444
    break;
5362
5445
 
5363
5446
  case 32:
5364
5447
 
5365
 
/* Line 1464 of yacc.c  */
5366
 
#line 1089 "parse.y"
 
5448
/* Line 1806 of yacc.c  */
 
5449
#line 1077 "parse.y"
5367
5450
    {
5368
5451
                    /*%%%*/
5369
5452
                        value_expr((yyvsp[(3) - (3)].node));
5391
5474
                    /*%
5392
5475
                        $$ = dispatch3(opassign, $1, $2, $3);
5393
5476
                    %*/
5394
 
                    ;}
 
5477
                    }
5395
5478
    break;
5396
5479
 
5397
5480
  case 33:
5398
5481
 
5399
 
/* Line 1464 of yacc.c  */
5400
 
#line 1118 "parse.y"
 
5482
/* Line 1806 of yacc.c  */
 
5483
#line 1106 "parse.y"
5401
5484
    {
5402
5485
                    /*%%%*/
5403
5486
                        NODE *args;
5417
5500
                        $$ = dispatch2(aref_field, $1, escape_Qundef($3));
5418
5501
                        $$ = dispatch3(opassign, $$, $5, $6);
5419
5502
                    %*/
5420
 
                    ;}
 
5503
                    }
5421
5504
    break;
5422
5505
 
5423
5506
  case 34:
5424
5507
 
5425
 
/* Line 1464 of yacc.c  */
5426
 
#line 1139 "parse.y"
 
5508
/* Line 1806 of yacc.c  */
 
5509
#line 1127 "parse.y"
5427
5510
    {
5428
5511
                    /*%%%*/
5429
5512
                        value_expr((yyvsp[(5) - (5)].node));
5439
5522
                        $$ = dispatch3(field, $1, ripper_id2sym('.'), $3);
5440
5523
                        $$ = dispatch3(opassign, $$, $4, $5);
5441
5524
                    %*/
5442
 
                    ;}
 
5525
                    }
5443
5526
    break;
5444
5527
 
5445
5528
  case 35:
5446
5529
 
5447
 
/* Line 1464 of yacc.c  */
5448
 
#line 1156 "parse.y"
 
5530
/* Line 1806 of yacc.c  */
 
5531
#line 1144 "parse.y"
5449
5532
    {
5450
5533
                    /*%%%*/
5451
5534
                        value_expr((yyvsp[(5) - (5)].node));
5461
5544
                        $$ = dispatch3(field, $1, ripper_id2sym('.'), $3);
5462
5545
                        $$ = dispatch3(opassign, $$, $4, $5);
5463
5546
                    %*/
5464
 
                    ;}
 
5547
                    }
5465
5548
    break;
5466
5549
 
5467
5550
  case 36:
5468
5551
 
5469
 
/* Line 1464 of yacc.c  */
5470
 
#line 1173 "parse.y"
 
5552
/* Line 1806 of yacc.c  */
 
5553
#line 1161 "parse.y"
5471
5554
    {
5472
5555
                    /*%%%*/
5473
5556
                        yyerror("constant re-assignment");
5477
5560
                        $$ = dispatch3(opassign, $$, $4, $5);
5478
5561
                        $$ = dispatch1(assign_error, $$);
5479
5562
                    %*/
5480
 
                    ;}
 
5563
                    }
5481
5564
    break;
5482
5565
 
5483
5566
  case 37:
5484
5567
 
5485
 
/* Line 1464 of yacc.c  */
5486
 
#line 1184 "parse.y"
 
5568
/* Line 1806 of yacc.c  */
 
5569
#line 1172 "parse.y"
5487
5570
    {
5488
5571
                    /*%%%*/
5489
5572
                        value_expr((yyvsp[(5) - (5)].node));
5499
5582
                        $$ = dispatch3(field, $1, ripper_intern("::"), $3);
5500
5583
                        $$ = dispatch3(opassign, $$, $4, $5);
5501
5584
                    %*/
5502
 
                    ;}
 
5585
                    }
5503
5586
    break;
5504
5587
 
5505
5588
  case 38:
5506
5589
 
5507
 
/* Line 1464 of yacc.c  */
5508
 
#line 1201 "parse.y"
 
5590
/* Line 1806 of yacc.c  */
 
5591
#line 1189 "parse.y"
5509
5592
    {
5510
5593
                    /*%%%*/
5511
5594
                        rb_backref_error((yyvsp[(1) - (3)].node));
5514
5597
                        $$ = dispatch2(assign, dispatch1(var_field, $1), $3);
5515
5598
                        $$ = dispatch1(assign_error, $$);
5516
5599
                    %*/
5517
 
                    ;}
 
5600
                    }
5518
5601
    break;
5519
5602
 
5520
5603
  case 39:
5521
5604
 
5522
 
/* Line 1464 of yacc.c  */
5523
 
#line 1211 "parse.y"
 
5605
/* Line 1806 of yacc.c  */
 
5606
#line 1199 "parse.y"
5524
5607
    {
5525
5608
                    /*%%%*/
5526
5609
                        value_expr((yyvsp[(3) - (3)].node));
5528
5611
                    /*%
5529
5612
                        $$ = dispatch2(assign, $1, $3);
5530
5613
                    %*/
5531
 
                    ;}
 
5614
                    }
5532
5615
    break;
5533
5616
 
5534
5617
  case 40:
5535
5618
 
5536
 
/* Line 1464 of yacc.c  */
5537
 
#line 1220 "parse.y"
 
5619
/* Line 1806 of yacc.c  */
 
5620
#line 1208 "parse.y"
5538
5621
    {
5539
5622
                    /*%%%*/
5540
5623
                        (yyvsp[(1) - (3)].node)->nd_value = (yyvsp[(3) - (3)].node);
5542
5625
                    /*%
5543
5626
                        $$ = dispatch2(massign, $1, $3);
5544
5627
                    %*/
5545
 
                    ;}
 
5628
                    }
5546
5629
    break;
5547
5630
 
5548
5631
  case 41:
5549
5632
 
5550
 
/* Line 1464 of yacc.c  */
 
5633
/* Line 1806 of yacc.c  */
 
5634
#line 1217 "parse.y"
 
5635
    {
 
5636
                    /*%%%*/
 
5637
                        (yyvsp[(1) - (3)].node)->nd_value = (yyvsp[(3) - (3)].node);
 
5638
                        (yyval.node) = (yyvsp[(1) - (3)].node);
 
5639
                    /*%
 
5640
                        $$ = dispatch2(massign, $1, $3);
 
5641
                    %*/
 
5642
                    }
 
5643
    break;
 
5644
 
 
5645
  case 43:
 
5646
 
 
5647
/* Line 1806 of yacc.c  */
5551
5648
#line 1229 "parse.y"
5552
5649
    {
5553
5650
                    /*%%%*/
5554
 
                        (yyvsp[(1) - (3)].node)->nd_value = (yyvsp[(3) - (3)].node);
5555
 
                        (yyval.node) = (yyvsp[(1) - (3)].node);
 
5651
                        value_expr((yyvsp[(3) - (3)].node));
 
5652
                        (yyval.node) = node_assign((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
5556
5653
                    /*%
5557
 
                        $$ = dispatch2(massign, $1, $3);
 
5654
                        $$ = dispatch2(assign, $1, $3);
5558
5655
                    %*/
5559
 
                    ;}
 
5656
                    }
5560
5657
    break;
5561
5658
 
5562
5659
  case 44:
5563
5660
 
5564
 
/* Line 1464 of yacc.c  */
5565
 
#line 1242 "parse.y"
 
5661
/* Line 1806 of yacc.c  */
 
5662
#line 1238 "parse.y"
 
5663
    {
 
5664
                    /*%%%*/
 
5665
                        value_expr((yyvsp[(3) - (3)].node));
 
5666
                        (yyval.node) = node_assign((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
 
5667
                    /*%
 
5668
                        $$ = dispatch2(assign, $1, $3);
 
5669
                    %*/
 
5670
                    }
 
5671
    break;
 
5672
 
 
5673
  case 46:
 
5674
 
 
5675
/* Line 1806 of yacc.c  */
 
5676
#line 1251 "parse.y"
5566
5677
    {
5567
5678
                    /*%%%*/
5568
5679
                        (yyval.node) = logop(NODE_AND, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
5569
5680
                    /*%
5570
5681
                        $$ = dispatch3(binary, $1, ripper_intern("and"), $3);
5571
5682
                    %*/
5572
 
                    ;}
 
5683
                    }
5573
5684
    break;
5574
5685
 
5575
 
  case 45:
 
5686
  case 47:
5576
5687
 
5577
 
/* Line 1464 of yacc.c  */
5578
 
#line 1250 "parse.y"
 
5688
/* Line 1806 of yacc.c  */
 
5689
#line 1259 "parse.y"
5579
5690
    {
5580
5691
                    /*%%%*/
5581
5692
                        (yyval.node) = logop(NODE_OR, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
5582
5693
                    /*%
5583
5694
                        $$ = dispatch3(binary, $1, ripper_intern("or"), $3);
5584
5695
                    %*/
5585
 
                    ;}
 
5696
                    }
5586
5697
    break;
5587
5698
 
5588
 
  case 46:
 
5699
  case 48:
5589
5700
 
5590
 
/* Line 1464 of yacc.c  */
5591
 
#line 1258 "parse.y"
 
5701
/* Line 1806 of yacc.c  */
 
5702
#line 1267 "parse.y"
5592
5703
    {
5593
5704
                    /*%%%*/
5594
5705
                        (yyval.node) = call_uni_op(cond((yyvsp[(3) - (3)].node)), '!');
5595
5706
                    /*%
5596
5707
                        $$ = dispatch2(unary, ripper_intern("not"), $3);
5597
5708
                    %*/
5598
 
                    ;}
 
5709
                    }
5599
5710
    break;
5600
5711
 
5601
 
  case 47:
 
5712
  case 49:
5602
5713
 
5603
 
/* Line 1464 of yacc.c  */
5604
 
#line 1266 "parse.y"
 
5714
/* Line 1806 of yacc.c  */
 
5715
#line 1275 "parse.y"
5605
5716
    {
5606
5717
                    /*%%%*/
5607
5718
                        (yyval.node) = call_uni_op(cond((yyvsp[(2) - (2)].node)), '!');
5608
5719
                    /*%
5609
5720
                        $$ = dispatch2(unary, ripper_id2sym('!'), $2);
5610
5721
                    %*/
5611
 
                    ;}
 
5722
                    }
5612
5723
    break;
5613
5724
 
5614
 
  case 49:
 
5725
  case 51:
5615
5726
 
5616
 
/* Line 1464 of yacc.c  */
5617
 
#line 1277 "parse.y"
 
5727
/* Line 1806 of yacc.c  */
 
5728
#line 1286 "parse.y"
5618
5729
    {
5619
5730
                    /*%%%*/
5620
5731
                        value_expr((yyvsp[(1) - (1)].node));
5623
5734
                    /*%
5624
5735
                        $$ = $1;
5625
5736
                    %*/
5626
 
                    ;}
5627
 
    break;
5628
 
 
5629
 
  case 53:
5630
 
 
5631
 
/* Line 1464 of yacc.c  */
5632
 
#line 1294 "parse.y"
5633
 
    {
5634
 
                    /*%%%*/
5635
 
                        (yyval.node) = NEW_CALL((yyvsp[(1) - (4)].node), (yyvsp[(3) - (4)].id), (yyvsp[(4) - (4)].node));
5636
 
                    /*%
5637
 
                        $$ = dispatch3(call, $1, ripper_id2sym('.'), $3);
5638
 
                        $$ = method_arg($$, $4);
5639
 
                    %*/
5640
 
                    ;}
5641
 
    break;
5642
 
 
5643
 
  case 54:
5644
 
 
5645
 
/* Line 1464 of yacc.c  */
 
5737
                    }
 
5738
    break;
 
5739
 
 
5740
  case 55:
 
5741
 
 
5742
/* Line 1806 of yacc.c  */
5646
5743
#line 1303 "parse.y"
5647
5744
    {
5648
5745
                    /*%%%*/
5649
5746
                        (yyval.node) = NEW_CALL((yyvsp[(1) - (4)].node), (yyvsp[(3) - (4)].id), (yyvsp[(4) - (4)].node));
5650
5747
                    /*%
5651
 
                        $$ = dispatch3(call, $1, ripper_intern("::"), $3);
 
5748
                        $$ = dispatch3(call, $1, ripper_id2sym('.'), $3);
5652
5749
                        $$ = method_arg($$, $4);
5653
5750
                    %*/
5654
 
                    ;}
5655
 
    break;
5656
 
 
5657
 
  case 55:
5658
 
 
5659
 
/* Line 1464 of yacc.c  */
5660
 
#line 1314 "parse.y"
5661
 
    {
5662
 
                        (yyvsp[(1) - (1)].vars) = dyna_push();
5663
 
                    /*%%%*/
5664
 
                        (yyval.num) = ruby_sourceline;
5665
 
                    /*%
5666
 
                    %*/
5667
 
                    ;}
 
5751
                    }
5668
5752
    break;
5669
5753
 
5670
5754
  case 56:
5671
5755
 
5672
 
/* Line 1464 of yacc.c  */
5673
 
#line 1324 "parse.y"
 
5756
/* Line 1806 of yacc.c  */
 
5757
#line 1312 "parse.y"
5674
5758
    {
5675
5759
                    /*%%%*/
5676
 
                        (yyval.node) = NEW_ITER((yyvsp[(3) - (5)].node),(yyvsp[(4) - (5)].node));
5677
 
                        nd_set_line((yyval.node), (yyvsp[(2) - (5)].num));
 
5760
                        (yyval.node) = NEW_CALL((yyvsp[(1) - (4)].node), (yyvsp[(3) - (4)].id), (yyvsp[(4) - (4)].node));
5678
5761
                    /*%
5679
 
                        $$ = dispatch2(brace_block, escape_Qundef($3), $4);
 
5762
                        $$ = dispatch3(call, $1, ripper_intern("::"), $3);
 
5763
                        $$ = method_arg($$, $4);
5680
5764
                    %*/
5681
 
                        dyna_pop((yyvsp[(1) - (5)].vars));
5682
 
                    ;}
 
5765
                    }
5683
5766
    break;
5684
5767
 
5685
5768
  case 57:
5686
5769
 
5687
 
/* Line 1464 of yacc.c  */
5688
 
#line 1336 "parse.y"
 
5770
/* Line 1806 of yacc.c  */
 
5771
#line 1323 "parse.y"
5689
5772
    {
 
5773
                        (yyvsp[(1) - (1)].vars) = dyna_push();
5690
5774
                    /*%%%*/
5691
 
                        (yyval.node) = NEW_FCALL((yyvsp[(1) - (2)].id), (yyvsp[(2) - (2)].node));
5692
 
                        fixpos((yyval.node), (yyvsp[(2) - (2)].node));
 
5775
                        (yyval.num) = ruby_sourceline;
5693
5776
                    /*%
5694
 
                        $$ = dispatch2(command, $1, $2);
5695
5777
                    %*/
5696
 
                    ;}
 
5778
                    }
5697
5779
    break;
5698
5780
 
5699
5781
  case 58:
5700
5782
 
5701
 
/* Line 1464 of yacc.c  */
 
5783
/* Line 1806 of yacc.c  */
 
5784
#line 1333 "parse.y"
 
5785
    {
 
5786
                    /*%%%*/
 
5787
                        (yyval.node) = NEW_ITER((yyvsp[(3) - (5)].node),(yyvsp[(4) - (5)].node));
 
5788
                        nd_set_line((yyval.node), (yyvsp[(2) - (5)].num));
 
5789
                    /*%
 
5790
                        $$ = dispatch2(brace_block, escape_Qundef($3), $4);
 
5791
                    %*/
 
5792
                        dyna_pop((yyvsp[(1) - (5)].vars));
 
5793
                    }
 
5794
    break;
 
5795
 
 
5796
  case 59:
 
5797
 
 
5798
/* Line 1806 of yacc.c  */
5702
5799
#line 1345 "parse.y"
5703
5800
    {
5704
5801
                    /*%%%*/
 
5802
                        (yyval.node) = NEW_FCALL((yyvsp[(1) - (2)].id), (yyvsp[(2) - (2)].node));
 
5803
                        fixpos((yyval.node), (yyvsp[(2) - (2)].node));
 
5804
                    /*%
 
5805
                        $$ = dispatch2(command, $1, $2);
 
5806
                    %*/
 
5807
                    }
 
5808
    break;
 
5809
 
 
5810
  case 60:
 
5811
 
 
5812
/* Line 1806 of yacc.c  */
 
5813
#line 1354 "parse.y"
 
5814
    {
 
5815
                    /*%%%*/
5705
5816
                        block_dup_check((yyvsp[(2) - (3)].node),(yyvsp[(3) - (3)].node));
5706
5817
                        (yyvsp[(3) - (3)].node)->nd_iter = NEW_FCALL((yyvsp[(1) - (3)].id), (yyvsp[(2) - (3)].node));
5707
5818
                        (yyval.node) = (yyvsp[(3) - (3)].node);
5710
5821
                        $$ = dispatch2(command, $1, $2);
5711
5822
                        $$ = method_add_block($$, $3);
5712
5823
                    %*/
5713
 
                    ;}
5714
 
    break;
5715
 
 
5716
 
  case 59:
5717
 
 
5718
 
/* Line 1464 of yacc.c  */
5719
 
#line 1357 "parse.y"
5720
 
    {
5721
 
                    /*%%%*/
5722
 
                        (yyval.node) = NEW_CALL((yyvsp[(1) - (4)].node), (yyvsp[(3) - (4)].id), (yyvsp[(4) - (4)].node));
5723
 
                        fixpos((yyval.node), (yyvsp[(1) - (4)].node));
5724
 
                    /*%
5725
 
                        $$ = dispatch4(command_call, $1, ripper_id2sym('.'), $3, $4);
5726
 
                    %*/
5727
 
                    ;}
5728
 
    break;
5729
 
 
5730
 
  case 60:
5731
 
 
5732
 
/* Line 1464 of yacc.c  */
 
5824
                    }
 
5825
    break;
 
5826
 
 
5827
  case 61:
 
5828
 
 
5829
/* Line 1806 of yacc.c  */
5733
5830
#line 1366 "parse.y"
5734
5831
    {
5735
5832
                    /*%%%*/
5736
 
                        block_dup_check((yyvsp[(4) - (5)].node),(yyvsp[(5) - (5)].node));
5737
 
                        (yyvsp[(5) - (5)].node)->nd_iter = NEW_CALL((yyvsp[(1) - (5)].node), (yyvsp[(3) - (5)].id), (yyvsp[(4) - (5)].node));
5738
 
                        (yyval.node) = (yyvsp[(5) - (5)].node);
5739
 
                        fixpos((yyval.node), (yyvsp[(1) - (5)].node));
5740
 
                    /*%
5741
 
                        $$ = dispatch4(command_call, $1, ripper_id2sym('.'), $3, $4);
5742
 
                        $$ = method_add_block($$, $5);
5743
 
                    %*/
5744
 
                   ;}
5745
 
    break;
5746
 
 
5747
 
  case 61:
5748
 
 
5749
 
/* Line 1464 of yacc.c  */
5750
 
#line 1378 "parse.y"
5751
 
    {
5752
 
                    /*%%%*/
5753
5833
                        (yyval.node) = NEW_CALL((yyvsp[(1) - (4)].node), (yyvsp[(3) - (4)].id), (yyvsp[(4) - (4)].node));
5754
5834
                        fixpos((yyval.node), (yyvsp[(1) - (4)].node));
5755
5835
                    /*%
5756
 
                        $$ = dispatch4(command_call, $1, ripper_intern("::"), $3, $4);
 
5836
                        $$ = dispatch4(command_call, $1, ripper_id2sym('.'), $3, $4);
5757
5837
                    %*/
5758
 
                    ;}
 
5838
                    }
5759
5839
    break;
5760
5840
 
5761
5841
  case 62:
5762
5842
 
5763
 
/* Line 1464 of yacc.c  */
 
5843
/* Line 1806 of yacc.c  */
 
5844
#line 1375 "parse.y"
 
5845
    {
 
5846
                    /*%%%*/
 
5847
                        block_dup_check((yyvsp[(4) - (5)].node),(yyvsp[(5) - (5)].node));
 
5848
                        (yyvsp[(5) - (5)].node)->nd_iter = NEW_CALL((yyvsp[(1) - (5)].node), (yyvsp[(3) - (5)].id), (yyvsp[(4) - (5)].node));
 
5849
                        (yyval.node) = (yyvsp[(5) - (5)].node);
 
5850
                        fixpos((yyval.node), (yyvsp[(1) - (5)].node));
 
5851
                    /*%
 
5852
                        $$ = dispatch4(command_call, $1, ripper_id2sym('.'), $3, $4);
 
5853
                        $$ = method_add_block($$, $5);
 
5854
                    %*/
 
5855
                   }
 
5856
    break;
 
5857
 
 
5858
  case 63:
 
5859
 
 
5860
/* Line 1806 of yacc.c  */
5764
5861
#line 1387 "parse.y"
5765
5862
    {
5766
5863
                    /*%%%*/
5767
 
                        block_dup_check((yyvsp[(4) - (5)].node),(yyvsp[(5) - (5)].node));
5768
 
                        (yyvsp[(5) - (5)].node)->nd_iter = NEW_CALL((yyvsp[(1) - (5)].node), (yyvsp[(3) - (5)].id), (yyvsp[(4) - (5)].node));
5769
 
                        (yyval.node) = (yyvsp[(5) - (5)].node);
5770
 
                        fixpos((yyval.node), (yyvsp[(1) - (5)].node));
 
5864
                        (yyval.node) = NEW_CALL((yyvsp[(1) - (4)].node), (yyvsp[(3) - (4)].id), (yyvsp[(4) - (4)].node));
 
5865
                        fixpos((yyval.node), (yyvsp[(1) - (4)].node));
5771
5866
                    /*%
5772
5867
                        $$ = dispatch4(command_call, $1, ripper_intern("::"), $3, $4);
5773
 
                        $$ = method_add_block($$, $5);
5774
 
                    %*/
5775
 
                   ;}
5776
 
    break;
5777
 
 
5778
 
  case 63:
5779
 
 
5780
 
/* Line 1464 of yacc.c  */
5781
 
#line 1399 "parse.y"
5782
 
    {
5783
 
                    /*%%%*/
5784
 
                        (yyval.node) = NEW_SUPER((yyvsp[(2) - (2)].node));
5785
 
                        fixpos((yyval.node), (yyvsp[(2) - (2)].node));
5786
 
                    /*%
5787
 
                        $$ = dispatch1(super, $2);
5788
 
                    %*/
5789
 
                    ;}
 
5868
                    %*/
 
5869
                    }
5790
5870
    break;
5791
5871
 
5792
5872
  case 64:
5793
5873
 
5794
 
/* Line 1464 of yacc.c  */
 
5874
/* Line 1806 of yacc.c  */
 
5875
#line 1396 "parse.y"
 
5876
    {
 
5877
                    /*%%%*/
 
5878
                        block_dup_check((yyvsp[(4) - (5)].node),(yyvsp[(5) - (5)].node));
 
5879
                        (yyvsp[(5) - (5)].node)->nd_iter = NEW_CALL((yyvsp[(1) - (5)].node), (yyvsp[(3) - (5)].id), (yyvsp[(4) - (5)].node));
 
5880
                        (yyval.node) = (yyvsp[(5) - (5)].node);
 
5881
                        fixpos((yyval.node), (yyvsp[(1) - (5)].node));
 
5882
                    /*%
 
5883
                        $$ = dispatch4(command_call, $1, ripper_intern("::"), $3, $4);
 
5884
                        $$ = method_add_block($$, $5);
 
5885
                    %*/
 
5886
                   }
 
5887
    break;
 
5888
 
 
5889
  case 65:
 
5890
 
 
5891
/* Line 1806 of yacc.c  */
5795
5892
#line 1408 "parse.y"
5796
5893
    {
5797
5894
                    /*%%%*/
 
5895
                        (yyval.node) = NEW_SUPER((yyvsp[(2) - (2)].node));
 
5896
                        fixpos((yyval.node), (yyvsp[(2) - (2)].node));
 
5897
                    /*%
 
5898
                        $$ = dispatch1(super, $2);
 
5899
                    %*/
 
5900
                    }
 
5901
    break;
 
5902
 
 
5903
  case 66:
 
5904
 
 
5905
/* Line 1806 of yacc.c  */
 
5906
#line 1417 "parse.y"
 
5907
    {
 
5908
                    /*%%%*/
5798
5909
                        (yyval.node) = new_yield((yyvsp[(2) - (2)].node));
5799
5910
                        fixpos((yyval.node), (yyvsp[(2) - (2)].node));
5800
5911
                    /*%
5801
5912
                        $$ = dispatch1(yield, $2);
5802
5913
                    %*/
5803
 
                    ;}
 
5914
                    }
5804
5915
    break;
5805
5916
 
5806
 
  case 65:
 
5917
  case 67:
5807
5918
 
5808
 
/* Line 1464 of yacc.c  */
5809
 
#line 1417 "parse.y"
 
5919
/* Line 1806 of yacc.c  */
 
5920
#line 1426 "parse.y"
5810
5921
    {
5811
5922
                    /*%%%*/
5812
5923
                        (yyval.node) = NEW_RETURN(ret_args((yyvsp[(2) - (2)].node)));
5813
5924
                    /*%
5814
5925
                        $$ = dispatch1(return, $2);
5815
5926
                    %*/
5816
 
                    ;}
 
5927
                    }
5817
5928
    break;
5818
5929
 
5819
 
  case 66:
 
5930
  case 68:
5820
5931
 
5821
 
/* Line 1464 of yacc.c  */
5822
 
#line 1425 "parse.y"
 
5932
/* Line 1806 of yacc.c  */
 
5933
#line 1434 "parse.y"
5823
5934
    {
5824
5935
                    /*%%%*/
5825
5936
                        (yyval.node) = NEW_BREAK(ret_args((yyvsp[(2) - (2)].node)));
5826
5937
                    /*%
5827
5938
                        $$ = dispatch1(break, $2);
5828
5939
                    %*/
5829
 
                    ;}
 
5940
                    }
5830
5941
    break;
5831
5942
 
5832
 
  case 67:
 
5943
  case 69:
5833
5944
 
5834
 
/* Line 1464 of yacc.c  */
5835
 
#line 1433 "parse.y"
 
5945
/* Line 1806 of yacc.c  */
 
5946
#line 1442 "parse.y"
5836
5947
    {
5837
5948
                    /*%%%*/
5838
5949
                        (yyval.node) = NEW_NEXT(ret_args((yyvsp[(2) - (2)].node)));
5839
5950
                    /*%
5840
5951
                        $$ = dispatch1(next, $2);
5841
5952
                    %*/
5842
 
                    ;}
5843
 
    break;
5844
 
 
5845
 
  case 69:
5846
 
 
5847
 
/* Line 1464 of yacc.c  */
5848
 
#line 1444 "parse.y"
5849
 
    {
5850
 
                    /*%%%*/
5851
 
                        (yyval.node) = (yyvsp[(2) - (3)].node);
5852
 
                    /*%
5853
 
                        $$ = dispatch1(mlhs_paren, $2);
5854
 
                    %*/
5855
 
                    ;}
 
5953
                    }
5856
5954
    break;
5857
5955
 
5858
5956
  case 71:
5859
5957
 
5860
 
/* Line 1464 of yacc.c  */
5861
 
#line 1455 "parse.y"
 
5958
/* Line 1806 of yacc.c  */
 
5959
#line 1453 "parse.y"
 
5960
    {
 
5961
                    /*%%%*/
 
5962
                        (yyval.node) = (yyvsp[(2) - (3)].node);
 
5963
                    /*%
 
5964
                        $$ = dispatch1(mlhs_paren, $2);
 
5965
                    %*/
 
5966
                    }
 
5967
    break;
 
5968
 
 
5969
  case 73:
 
5970
 
 
5971
/* Line 1806 of yacc.c  */
 
5972
#line 1464 "parse.y"
5862
5973
    {
5863
5974
                    /*%%%*/
5864
5975
                        (yyval.node) = NEW_MASGN(NEW_LIST((yyvsp[(2) - (3)].node)), 0);
5865
5976
                    /*%
5866
5977
                        $$ = dispatch1(mlhs_paren, $2);
5867
5978
                    %*/
5868
 
                    ;}
 
5979
                    }
5869
5980
    break;
5870
5981
 
5871
 
  case 72:
 
5982
  case 74:
5872
5983
 
5873
 
/* Line 1464 of yacc.c  */
5874
 
#line 1465 "parse.y"
 
5984
/* Line 1806 of yacc.c  */
 
5985
#line 1474 "parse.y"
5875
5986
    {
5876
5987
                    /*%%%*/
5877
5988
                        (yyval.node) = NEW_MASGN((yyvsp[(1) - (1)].node), 0);
5878
5989
                    /*%
5879
5990
                        $$ = $1;
5880
5991
                    %*/
5881
 
                    ;}
 
5992
                    }
5882
5993
    break;
5883
5994
 
5884
 
  case 73:
 
5995
  case 75:
5885
5996
 
5886
 
/* Line 1464 of yacc.c  */
5887
 
#line 1473 "parse.y"
 
5997
/* Line 1806 of yacc.c  */
 
5998
#line 1482 "parse.y"
5888
5999
    {
5889
6000
                    /*%%%*/
5890
6001
                        (yyval.node) = NEW_MASGN(list_append((yyvsp[(1) - (2)].node),(yyvsp[(2) - (2)].node)), 0);
5891
6002
                    /*%
5892
6003
                        $$ = mlhs_add($1, $2);
5893
6004
                    %*/
5894
 
                    ;}
 
6005
                    }
5895
6006
    break;
5896
6007
 
5897
 
  case 74:
 
6008
  case 76:
5898
6009
 
5899
 
/* Line 1464 of yacc.c  */
5900
 
#line 1481 "parse.y"
 
6010
/* Line 1806 of yacc.c  */
 
6011
#line 1490 "parse.y"
5901
6012
    {
5902
6013
                    /*%%%*/
5903
6014
                        (yyval.node) = NEW_MASGN((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
5904
6015
                    /*%
5905
6016
                        $$ = mlhs_add_star($1, $3);
5906
6017
                    %*/
5907
 
                    ;}
 
6018
                    }
5908
6019
    break;
5909
6020
 
5910
 
  case 75:
 
6021
  case 77:
5911
6022
 
5912
 
/* Line 1464 of yacc.c  */
5913
 
#line 1489 "parse.y"
 
6023
/* Line 1806 of yacc.c  */
 
6024
#line 1498 "parse.y"
5914
6025
    {
5915
6026
                    /*%%%*/
5916
6027
                        (yyval.node) = NEW_MASGN((yyvsp[(1) - (5)].node), NEW_POSTARG((yyvsp[(3) - (5)].node),(yyvsp[(5) - (5)].node)));
5918
6029
                        $1 = mlhs_add_star($1, $3);
5919
6030
                        $$ = mlhs_add($1, $5);
5920
6031
                    %*/
5921
 
                    ;}
 
6032
                    }
5922
6033
    break;
5923
6034
 
5924
 
  case 76:
 
6035
  case 78:
5925
6036
 
5926
 
/* Line 1464 of yacc.c  */
5927
 
#line 1498 "parse.y"
 
6037
/* Line 1806 of yacc.c  */
 
6038
#line 1507 "parse.y"
5928
6039
    {
5929
6040
                    /*%%%*/
5930
6041
                        (yyval.node) = NEW_MASGN((yyvsp[(1) - (2)].node), -1);
5931
6042
                    /*%
5932
6043
                        $$ = mlhs_add_star($1, Qnil);
5933
6044
                    %*/
5934
 
                    ;}
 
6045
                    }
5935
6046
    break;
5936
6047
 
5937
 
  case 77:
 
6048
  case 79:
5938
6049
 
5939
 
/* Line 1464 of yacc.c  */
5940
 
#line 1506 "parse.y"
 
6050
/* Line 1806 of yacc.c  */
 
6051
#line 1515 "parse.y"
5941
6052
    {
5942
6053
                    /*%%%*/
5943
6054
                        (yyval.node) = NEW_MASGN((yyvsp[(1) - (4)].node), NEW_POSTARG(-1, (yyvsp[(4) - (4)].node)));
5945
6056
                        $1 = mlhs_add_star($1, Qnil);
5946
6057
                        $$ = mlhs_add($1, $4);
5947
6058
                    %*/
5948
 
                    ;}
 
6059
                    }
5949
6060
    break;
5950
6061
 
5951
 
  case 78:
 
6062
  case 80:
5952
6063
 
5953
 
/* Line 1464 of yacc.c  */
5954
 
#line 1515 "parse.y"
 
6064
/* Line 1806 of yacc.c  */
 
6065
#line 1524 "parse.y"
5955
6066
    {
5956
6067
                    /*%%%*/
5957
6068
                        (yyval.node) = NEW_MASGN(0, (yyvsp[(2) - (2)].node));
5958
6069
                    /*%
5959
6070
                        $$ = mlhs_add_star(mlhs_new(), $2);
5960
6071
                    %*/
5961
 
                    ;}
 
6072
                    }
5962
6073
    break;
5963
6074
 
5964
 
  case 79:
 
6075
  case 81:
5965
6076
 
5966
 
/* Line 1464 of yacc.c  */
5967
 
#line 1523 "parse.y"
 
6077
/* Line 1806 of yacc.c  */
 
6078
#line 1532 "parse.y"
5968
6079
    {
5969
6080
                    /*%%%*/
5970
6081
                        (yyval.node) = NEW_MASGN(0, NEW_POSTARG((yyvsp[(2) - (4)].node),(yyvsp[(4) - (4)].node)));
5972
6083
                        $2 = mlhs_add_star(mlhs_new(), $2);
5973
6084
                        $$ = mlhs_add($2, $4);
5974
6085
                    %*/
5975
 
                    ;}
 
6086
                    }
5976
6087
    break;
5977
6088
 
5978
 
  case 80:
 
6089
  case 82:
5979
6090
 
5980
 
/* Line 1464 of yacc.c  */
5981
 
#line 1532 "parse.y"
 
6091
/* Line 1806 of yacc.c  */
 
6092
#line 1541 "parse.y"
5982
6093
    {
5983
6094
                    /*%%%*/
5984
6095
                        (yyval.node) = NEW_MASGN(0, -1);
5985
6096
                    /*%
5986
6097
                        $$ = mlhs_add_star(mlhs_new(), Qnil);
5987
6098
                    %*/
5988
 
                    ;}
 
6099
                    }
5989
6100
    break;
5990
6101
 
5991
 
  case 81:
 
6102
  case 83:
5992
6103
 
5993
 
/* Line 1464 of yacc.c  */
5994
 
#line 1540 "parse.y"
 
6104
/* Line 1806 of yacc.c  */
 
6105
#line 1549 "parse.y"
5995
6106
    {
5996
6107
                    /*%%%*/
5997
6108
                        (yyval.node) = NEW_MASGN(0, NEW_POSTARG(-1, (yyvsp[(3) - (3)].node)));
5999
6110
                        $$ = mlhs_add_star(mlhs_new(), Qnil);
6000
6111
                        $$ = mlhs_add($$, $3);
6001
6112
                    %*/
6002
 
                    ;}
6003
 
    break;
6004
 
 
6005
 
  case 83:
6006
 
 
6007
 
/* Line 1464 of yacc.c  */
6008
 
#line 1552 "parse.y"
6009
 
    {
6010
 
                    /*%%%*/
6011
 
                        (yyval.node) = (yyvsp[(2) - (3)].node);
6012
 
                    /*%
6013
 
                        $$ = dispatch1(mlhs_paren, $2);
6014
 
                    %*/
6015
 
                    ;}
6016
 
    break;
6017
 
 
6018
 
  case 84:
6019
 
 
6020
 
/* Line 1464 of yacc.c  */
6021
 
#line 1562 "parse.y"
6022
 
    {
6023
 
                    /*%%%*/
6024
 
                        (yyval.node) = NEW_LIST((yyvsp[(1) - (2)].node));
6025
 
                    /*%
6026
 
                        $$ = mlhs_add(mlhs_new(), $1);
6027
 
                    %*/
6028
 
                    ;}
 
6113
                    }
6029
6114
    break;
6030
6115
 
6031
6116
  case 85:
6032
6117
 
6033
 
/* Line 1464 of yacc.c  */
6034
 
#line 1570 "parse.y"
 
6118
/* Line 1806 of yacc.c  */
 
6119
#line 1561 "parse.y"
6035
6120
    {
6036
6121
                    /*%%%*/
6037
 
                        (yyval.node) = list_append((yyvsp[(1) - (3)].node), (yyvsp[(2) - (3)].node));
 
6122
                        (yyval.node) = (yyvsp[(2) - (3)].node);
6038
6123
                    /*%
6039
 
                        $$ = mlhs_add($1, $2);
 
6124
                        $$ = dispatch1(mlhs_paren, $2);
6040
6125
                    %*/
6041
 
                    ;}
 
6126
                    }
6042
6127
    break;
6043
6128
 
6044
6129
  case 86:
6045
6130
 
6046
 
/* Line 1464 of yacc.c  */
6047
 
#line 1580 "parse.y"
 
6131
/* Line 1806 of yacc.c  */
 
6132
#line 1571 "parse.y"
6048
6133
    {
6049
6134
                    /*%%%*/
6050
 
                        (yyval.node) = NEW_LIST((yyvsp[(1) - (1)].node));
 
6135
                        (yyval.node) = NEW_LIST((yyvsp[(1) - (2)].node));
6051
6136
                    /*%
6052
6137
                        $$ = mlhs_add(mlhs_new(), $1);
6053
6138
                    %*/
6054
 
                    ;}
 
6139
                    }
6055
6140
    break;
6056
6141
 
6057
6142
  case 87:
6058
6143
 
6059
 
/* Line 1464 of yacc.c  */
6060
 
#line 1588 "parse.y"
 
6144
/* Line 1806 of yacc.c  */
 
6145
#line 1579 "parse.y"
6061
6146
    {
6062
6147
                    /*%%%*/
6063
 
                        (yyval.node) = list_append((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
 
6148
                        (yyval.node) = list_append((yyvsp[(1) - (3)].node), (yyvsp[(2) - (3)].node));
6064
6149
                    /*%
6065
 
                        $$ = mlhs_add($1, $3);
 
6150
                        $$ = mlhs_add($1, $2);
6066
6151
                    %*/
6067
 
                    ;}
 
6152
                    }
6068
6153
    break;
6069
6154
 
6070
6155
  case 88:
6071
6156
 
6072
 
/* Line 1464 of yacc.c  */
6073
 
#line 1598 "parse.y"
 
6157
/* Line 1806 of yacc.c  */
 
6158
#line 1589 "parse.y"
6074
6159
    {
6075
 
                        (yyval.node) = assignable((yyvsp[(1) - (1)].id), 0);
6076
 
                    ;}
 
6160
                    /*%%%*/
 
6161
                        (yyval.node) = NEW_LIST((yyvsp[(1) - (1)].node));
 
6162
                    /*%
 
6163
                        $$ = mlhs_add(mlhs_new(), $1);
 
6164
                    %*/
 
6165
                    }
6077
6166
    break;
6078
6167
 
6079
6168
  case 89:
6080
6169
 
6081
 
/* Line 1464 of yacc.c  */
6082
 
#line 1602 "parse.y"
 
6170
/* Line 1806 of yacc.c  */
 
6171
#line 1597 "parse.y"
6083
6172
    {
6084
6173
                    /*%%%*/
6085
 
                        (yyval.node) = aryset((yyvsp[(1) - (4)].node), (yyvsp[(3) - (4)].node));
 
6174
                        (yyval.node) = list_append((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
6086
6175
                    /*%
6087
 
                        $$ = dispatch2(aref_field, $1, escape_Qundef($3));
 
6176
                        $$ = mlhs_add($1, $3);
6088
6177
                    %*/
6089
 
                    ;}
 
6178
                    }
6090
6179
    break;
6091
6180
 
6092
6181
  case 90:
6093
6182
 
6094
 
/* Line 1464 of yacc.c  */
6095
 
#line 1610 "parse.y"
 
6183
/* Line 1806 of yacc.c  */
 
6184
#line 1607 "parse.y"
6096
6185
    {
6097
 
                    /*%%%*/
6098
 
                        (yyval.node) = attrset((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].id));
6099
 
                    /*%
6100
 
                        $$ = dispatch3(field, $1, ripper_id2sym('.'), $3);
6101
 
                    %*/
6102
 
                    ;}
 
6186
                        (yyval.node) = assignable((yyvsp[(1) - (1)].id), 0);
 
6187
                    }
6103
6188
    break;
6104
6189
 
6105
6190
  case 91:
6106
6191
 
6107
 
/* Line 1464 of yacc.c  */
6108
 
#line 1618 "parse.y"
 
6192
/* Line 1806 of yacc.c  */
 
6193
#line 1611 "parse.y"
6109
6194
    {
6110
 
                    /*%%%*/
6111
 
                        (yyval.node) = attrset((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].id));
6112
 
                    /*%
6113
 
                        $$ = dispatch2(const_path_field, $1, $3);
6114
 
                    %*/
6115
 
                    ;}
 
6195
                        (yyval.node) = assignable((yyvsp[(1) - (1)].id), 0);
 
6196
                    }
6116
6197
    break;
6117
6198
 
6118
6199
  case 92:
6119
6200
 
6120
 
/* Line 1464 of yacc.c  */
6121
 
#line 1626 "parse.y"
 
6201
/* Line 1806 of yacc.c  */
 
6202
#line 1615 "parse.y"
6122
6203
    {
6123
6204
                    /*%%%*/
6124
 
                        (yyval.node) = attrset((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].id));
 
6205
                        (yyval.node) = aryset((yyvsp[(1) - (4)].node), (yyvsp[(3) - (4)].node));
6125
6206
                    /*%
6126
 
                        $$ = dispatch3(field, $1, ripper_id2sym('.'), $3);
 
6207
                        $$ = dispatch2(aref_field, $1, escape_Qundef($3));
6127
6208
                    %*/
6128
 
                    ;}
 
6209
                    }
6129
6210
    break;
6130
6211
 
6131
6212
  case 93:
6132
6213
 
6133
 
/* Line 1464 of yacc.c  */
6134
 
#line 1634 "parse.y"
 
6214
/* Line 1806 of yacc.c  */
 
6215
#line 1623 "parse.y"
6135
6216
    {
6136
6217
                    /*%%%*/
6137
 
                        if (in_def || in_single)
6138
 
                            yyerror("dynamic constant assignment");
6139
 
                        (yyval.node) = NEW_CDECL(0, 0, NEW_COLON2((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].id)));
 
6218
                        (yyval.node) = attrset((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].id));
6140
6219
                    /*%
6141
 
                        if (in_def || in_single)
6142
 
                            yyerror("dynamic constant assignment");
6143
 
                        $$ = dispatch2(const_path_field, $1, $3);
 
6220
                        $$ = dispatch3(field, $1, ripper_id2sym('.'), $3);
6144
6221
                    %*/
6145
 
                    ;}
 
6222
                    }
6146
6223
    break;
6147
6224
 
6148
6225
  case 94:
6149
6226
 
6150
 
/* Line 1464 of yacc.c  */
6151
 
#line 1646 "parse.y"
 
6227
/* Line 1806 of yacc.c  */
 
6228
#line 1631 "parse.y"
6152
6229
    {
6153
6230
                    /*%%%*/
6154
 
                        if (in_def || in_single)
6155
 
                            yyerror("dynamic constant assignment");
6156
 
                        (yyval.node) = NEW_CDECL(0, 0, NEW_COLON3((yyvsp[(2) - (2)].id)));
 
6231
                        (yyval.node) = attrset((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].id));
6157
6232
                    /*%
6158
 
                        $$ = dispatch1(top_const_field, $2);
 
6233
                        $$ = dispatch2(const_path_field, $1, $3);
6159
6234
                    %*/
6160
 
                    ;}
 
6235
                    }
6161
6236
    break;
6162
6237
 
6163
6238
  case 95:
6164
6239
 
6165
 
/* Line 1464 of yacc.c  */
6166
 
#line 1656 "parse.y"
 
6240
/* Line 1806 of yacc.c  */
 
6241
#line 1639 "parse.y"
6167
6242
    {
6168
6243
                    /*%%%*/
6169
 
                        rb_backref_error((yyvsp[(1) - (1)].node));
6170
 
                        (yyval.node) = NEW_BEGIN(0);
 
6244
                        (yyval.node) = attrset((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].id));
6171
6245
                    /*%
6172
 
                        $$ = dispatch1(var_field, $1);
6173
 
                        $$ = dispatch1(assign_error, $$);
 
6246
                        $$ = dispatch3(field, $1, ripper_id2sym('.'), $3);
6174
6247
                    %*/
6175
 
                    ;}
 
6248
                    }
6176
6249
    break;
6177
6250
 
6178
6251
  case 96:
6179
6252
 
6180
 
/* Line 1464 of yacc.c  */
6181
 
#line 1668 "parse.y"
 
6253
/* Line 1806 of yacc.c  */
 
6254
#line 1647 "parse.y"
6182
6255
    {
6183
 
                        (yyval.node) = assignable((yyvsp[(1) - (1)].id), 0);
6184
6256
                    /*%%%*/
6185
 
                        if (!(yyval.node)) (yyval.node) = NEW_BEGIN(0);
 
6257
                        if (in_def || in_single)
 
6258
                            yyerror("dynamic constant assignment");
 
6259
                        (yyval.node) = NEW_CDECL(0, 0, NEW_COLON2((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].id)));
6186
6260
                    /*%
6187
 
                        $$ = dispatch1(var_field, $$);
 
6261
                        if (in_def || in_single)
 
6262
                            yyerror("dynamic constant assignment");
 
6263
                        $$ = dispatch2(const_path_field, $1, $3);
6188
6264
                    %*/
6189
 
                    ;}
 
6265
                    }
6190
6266
    break;
6191
6267
 
6192
6268
  case 97:
6193
6269
 
6194
 
/* Line 1464 of yacc.c  */
6195
 
#line 1677 "parse.y"
 
6270
/* Line 1806 of yacc.c  */
 
6271
#line 1659 "parse.y"
6196
6272
    {
6197
6273
                    /*%%%*/
6198
 
                        (yyval.node) = aryset((yyvsp[(1) - (4)].node), (yyvsp[(3) - (4)].node));
 
6274
                        if (in_def || in_single)
 
6275
                            yyerror("dynamic constant assignment");
 
6276
                        (yyval.node) = NEW_CDECL(0, 0, NEW_COLON3((yyvsp[(2) - (2)].id)));
6199
6277
                    /*%
6200
 
                        $$ = dispatch2(aref_field, $1, escape_Qundef($3));
 
6278
                        $$ = dispatch1(top_const_field, $2);
6201
6279
                    %*/
6202
 
                    ;}
 
6280
                    }
6203
6281
    break;
6204
6282
 
6205
6283
  case 98:
6206
6284
 
6207
 
/* Line 1464 of yacc.c  */
6208
 
#line 1685 "parse.y"
 
6285
/* Line 1806 of yacc.c  */
 
6286
#line 1669 "parse.y"
6209
6287
    {
6210
6288
                    /*%%%*/
6211
 
                        (yyval.node) = attrset((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].id));
 
6289
                        rb_backref_error((yyvsp[(1) - (1)].node));
 
6290
                        (yyval.node) = NEW_BEGIN(0);
6212
6291
                    /*%
6213
 
                        $$ = dispatch3(field, $1, ripper_id2sym('.'), $3);
 
6292
                        $$ = dispatch1(var_field, $1);
 
6293
                        $$ = dispatch1(assign_error, $$);
6214
6294
                    %*/
6215
 
                    ;}
 
6295
                    }
6216
6296
    break;
6217
6297
 
6218
6298
  case 99:
6219
6299
 
6220
 
/* Line 1464 of yacc.c  */
6221
 
#line 1693 "parse.y"
 
6300
/* Line 1806 of yacc.c  */
 
6301
#line 1681 "parse.y"
6222
6302
    {
 
6303
                        (yyval.node) = assignable((yyvsp[(1) - (1)].id), 0);
6223
6304
                    /*%%%*/
6224
 
                        (yyval.node) = attrset((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].id));
 
6305
                        if (!(yyval.node)) (yyval.node) = NEW_BEGIN(0);
6225
6306
                    /*%
6226
 
                        $$ = dispatch3(field, $1, ripper_intern("::"), $3);
 
6307
                        $$ = dispatch1(var_field, $$);
6227
6308
                    %*/
6228
 
                    ;}
 
6309
                    }
6229
6310
    break;
6230
6311
 
6231
6312
  case 100:
6232
6313
 
6233
 
/* Line 1464 of yacc.c  */
6234
 
#line 1701 "parse.y"
 
6314
/* Line 1806 of yacc.c  */
 
6315
#line 1690 "parse.y"
6235
6316
    {
 
6317
                        (yyval.node) = assignable((yyvsp[(1) - (1)].id), 0);
6236
6318
                    /*%%%*/
6237
 
                        (yyval.node) = attrset((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].id));
 
6319
                        if (!(yyval.node)) (yyval.node) = NEW_BEGIN(0);
6238
6320
                    /*%
6239
 
                        $$ = dispatch3(field, $1, ripper_id2sym('.'), $3);
 
6321
                        $$ = dispatch1(var_field, $$);
6240
6322
                    %*/
6241
 
                    ;}
 
6323
                    }
6242
6324
    break;
6243
6325
 
6244
6326
  case 101:
6245
6327
 
6246
 
/* Line 1464 of yacc.c  */
6247
 
#line 1709 "parse.y"
 
6328
/* Line 1806 of yacc.c  */
 
6329
#line 1699 "parse.y"
6248
6330
    {
6249
6331
                    /*%%%*/
6250
 
                        if (in_def || in_single)
6251
 
                            yyerror("dynamic constant assignment");
6252
 
                        (yyval.node) = NEW_CDECL(0, 0, NEW_COLON2((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].id)));
 
6332
                        (yyval.node) = aryset((yyvsp[(1) - (4)].node), (yyvsp[(3) - (4)].node));
6253
6333
                    /*%
6254
 
                        $$ = dispatch2(const_path_field, $1, $3);
6255
 
                        if (in_def || in_single) {
6256
 
                            $$ = dispatch1(assign_error, $$);
6257
 
                        }
 
6334
                        $$ = dispatch2(aref_field, $1, escape_Qundef($3));
6258
6335
                    %*/
6259
 
                    ;}
 
6336
                    }
6260
6337
    break;
6261
6338
 
6262
6339
  case 102:
6263
6340
 
6264
 
/* Line 1464 of yacc.c  */
6265
 
#line 1722 "parse.y"
 
6341
/* Line 1806 of yacc.c  */
 
6342
#line 1707 "parse.y"
6266
6343
    {
6267
6344
                    /*%%%*/
6268
 
                        if (in_def || in_single)
6269
 
                            yyerror("dynamic constant assignment");
6270
 
                        (yyval.node) = NEW_CDECL(0, 0, NEW_COLON3((yyvsp[(2) - (2)].id)));
 
6345
                        (yyval.node) = attrset((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].id));
6271
6346
                    /*%
6272
 
                        $$ = dispatch1(top_const_field, $2);
6273
 
                        if (in_def || in_single) {
6274
 
                            $$ = dispatch1(assign_error, $$);
6275
 
                        }
 
6347
                        $$ = dispatch3(field, $1, ripper_id2sym('.'), $3);
6276
6348
                    %*/
6277
 
                    ;}
 
6349
                    }
6278
6350
    break;
6279
6351
 
6280
6352
  case 103:
6281
6353
 
6282
 
/* Line 1464 of yacc.c  */
6283
 
#line 1735 "parse.y"
 
6354
/* Line 1806 of yacc.c  */
 
6355
#line 1715 "parse.y"
 
6356
    {
 
6357
                    /*%%%*/
 
6358
                        (yyval.node) = attrset((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].id));
 
6359
                    /*%
 
6360
                        $$ = dispatch3(field, $1, ripper_intern("::"), $3);
 
6361
                    %*/
 
6362
                    }
 
6363
    break;
 
6364
 
 
6365
  case 104:
 
6366
 
 
6367
/* Line 1806 of yacc.c  */
 
6368
#line 1723 "parse.y"
 
6369
    {
 
6370
                    /*%%%*/
 
6371
                        (yyval.node) = attrset((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].id));
 
6372
                    /*%
 
6373
                        $$ = dispatch3(field, $1, ripper_id2sym('.'), $3);
 
6374
                    %*/
 
6375
                    }
 
6376
    break;
 
6377
 
 
6378
  case 105:
 
6379
 
 
6380
/* Line 1806 of yacc.c  */
 
6381
#line 1731 "parse.y"
 
6382
    {
 
6383
                    /*%%%*/
 
6384
                        if (in_def || in_single)
 
6385
                            yyerror("dynamic constant assignment");
 
6386
                        (yyval.node) = NEW_CDECL(0, 0, NEW_COLON2((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].id)));
 
6387
                    /*%
 
6388
                        $$ = dispatch2(const_path_field, $1, $3);
 
6389
                        if (in_def || in_single) {
 
6390
                            $$ = dispatch1(assign_error, $$);
 
6391
                        }
 
6392
                    %*/
 
6393
                    }
 
6394
    break;
 
6395
 
 
6396
  case 106:
 
6397
 
 
6398
/* Line 1806 of yacc.c  */
 
6399
#line 1744 "parse.y"
 
6400
    {
 
6401
                    /*%%%*/
 
6402
                        if (in_def || in_single)
 
6403
                            yyerror("dynamic constant assignment");
 
6404
                        (yyval.node) = NEW_CDECL(0, 0, NEW_COLON3((yyvsp[(2) - (2)].id)));
 
6405
                    /*%
 
6406
                        $$ = dispatch1(top_const_field, $2);
 
6407
                        if (in_def || in_single) {
 
6408
                            $$ = dispatch1(assign_error, $$);
 
6409
                        }
 
6410
                    %*/
 
6411
                    }
 
6412
    break;
 
6413
 
 
6414
  case 107:
 
6415
 
 
6416
/* Line 1806 of yacc.c  */
 
6417
#line 1757 "parse.y"
6284
6418
    {
6285
6419
                    /*%%%*/
6286
6420
                        rb_backref_error((yyvsp[(1) - (1)].node));
6288
6422
                    /*%
6289
6423
                        $$ = dispatch1(assign_error, $1);
6290
6424
                    %*/
6291
 
                    ;}
 
6425
                    }
6292
6426
    break;
6293
6427
 
6294
 
  case 104:
 
6428
  case 108:
6295
6429
 
6296
 
/* Line 1464 of yacc.c  */
6297
 
#line 1746 "parse.y"
 
6430
/* Line 1806 of yacc.c  */
 
6431
#line 1768 "parse.y"
6298
6432
    {
6299
6433
                    /*%%%*/
6300
6434
                        yyerror("class/module name must be CONSTANT");
6301
6435
                    /*%
6302
6436
                        $$ = dispatch1(class_name_error, $1);
6303
6437
                    %*/
6304
 
                    ;}
 
6438
                    }
6305
6439
    break;
6306
6440
 
6307
 
  case 106:
 
6441
  case 110:
6308
6442
 
6309
 
/* Line 1464 of yacc.c  */
6310
 
#line 1757 "parse.y"
 
6443
/* Line 1806 of yacc.c  */
 
6444
#line 1779 "parse.y"
6311
6445
    {
6312
6446
                    /*%%%*/
6313
6447
                        (yyval.node) = NEW_COLON3((yyvsp[(2) - (2)].id));
6314
6448
                    /*%
6315
6449
                        $$ = dispatch1(top_const_ref, $2);
6316
6450
                    %*/
6317
 
                    ;}
 
6451
                    }
6318
6452
    break;
6319
6453
 
6320
 
  case 107:
 
6454
  case 111:
6321
6455
 
6322
 
/* Line 1464 of yacc.c  */
6323
 
#line 1765 "parse.y"
 
6456
/* Line 1806 of yacc.c  */
 
6457
#line 1787 "parse.y"
6324
6458
    {
6325
6459
                    /*%%%*/
6326
6460
                        (yyval.node) = NEW_COLON2(0, (yyval.node));
6327
6461
                    /*%
6328
6462
                        $$ = dispatch1(const_ref, $1);
6329
6463
                    %*/
6330
 
                    ;}
6331
 
    break;
6332
 
 
6333
 
  case 108:
6334
 
 
6335
 
/* Line 1464 of yacc.c  */
6336
 
#line 1773 "parse.y"
6337
 
    {
6338
 
                    /*%%%*/
6339
 
                        (yyval.node) = NEW_COLON2((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].id));
6340
 
                    /*%
6341
 
                        $$ = dispatch2(const_path_ref, $1, $3);
6342
 
                    %*/
6343
 
                    ;}
 
6464
                    }
6344
6465
    break;
6345
6466
 
6346
6467
  case 112:
6347
6468
 
6348
 
/* Line 1464 of yacc.c  */
6349
 
#line 1786 "parse.y"
6350
 
    {
6351
 
                        lex_state = EXPR_ENDFN;
6352
 
                        (yyval.id) = (yyvsp[(1) - (1)].id);
6353
 
                    ;}
6354
 
    break;
6355
 
 
6356
 
  case 113:
6357
 
 
6358
 
/* Line 1464 of yacc.c  */
6359
 
#line 1791 "parse.y"
6360
 
    {
6361
 
                        lex_state = EXPR_ENDFN;
 
6469
/* Line 1806 of yacc.c  */
 
6470
#line 1795 "parse.y"
 
6471
    {
6362
6472
                    /*%%%*/
6363
 
                        (yyval.id) = (yyvsp[(1) - (1)].id);
 
6473
                        (yyval.node) = NEW_COLON2((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].id));
6364
6474
                    /*%
6365
 
                        $$ = $1;
 
6475
                        $$ = dispatch2(const_path_ref, $1, $3);
6366
6476
                    %*/
6367
 
                    ;}
 
6477
                    }
6368
6478
    break;
6369
6479
 
6370
6480
  case 116:
6371
6481
 
6372
 
/* Line 1464 of yacc.c  */
6373
 
#line 1806 "parse.y"
6374
 
    {
6375
 
                    /*%%%*/
6376
 
                        (yyval.node) = NEW_LIT(ID2SYM((yyvsp[(1) - (1)].id)));
6377
 
                    /*%
6378
 
                        $$ = dispatch1(symbol_literal, $1);
6379
 
                    %*/
6380
 
                    ;}
6381
 
    break;
6382
 
 
6383
 
  case 118:
6384
 
 
6385
 
/* Line 1464 of yacc.c  */
6386
 
#line 1817 "parse.y"
6387
 
    {
6388
 
                    /*%%%*/
6389
 
                        (yyval.node) = NEW_UNDEF((yyvsp[(1) - (1)].node));
6390
 
                    /*%
6391
 
                        $$ = rb_ary_new3(1, $1);
6392
 
                    %*/
6393
 
                    ;}
6394
 
    break;
6395
 
 
6396
 
  case 119:
6397
 
 
6398
 
/* Line 1464 of yacc.c  */
6399
 
#line 1824 "parse.y"
6400
 
    {lex_state = EXPR_FNAME;;}
 
6482
/* Line 1806 of yacc.c  */
 
6483
#line 1808 "parse.y"
 
6484
    {
 
6485
                        lex_state = EXPR_ENDFN;
 
6486
                        (yyval.id) = (yyvsp[(1) - (1)].id);
 
6487
                    }
 
6488
    break;
 
6489
 
 
6490
  case 117:
 
6491
 
 
6492
/* Line 1806 of yacc.c  */
 
6493
#line 1813 "parse.y"
 
6494
    {
 
6495
                        lex_state = EXPR_ENDFN;
 
6496
                    /*%%%*/
 
6497
                        (yyval.id) = (yyvsp[(1) - (1)].id);
 
6498
                    /*%
 
6499
                        $$ = $1;
 
6500
                    %*/
 
6501
                    }
6401
6502
    break;
6402
6503
 
6403
6504
  case 120:
6404
6505
 
6405
 
/* Line 1464 of yacc.c  */
6406
 
#line 1825 "parse.y"
 
6506
/* Line 1806 of yacc.c  */
 
6507
#line 1828 "parse.y"
6407
6508
    {
6408
6509
                    /*%%%*/
6409
 
                        (yyval.node) = block_append((yyvsp[(1) - (4)].node), NEW_UNDEF((yyvsp[(4) - (4)].node)));
 
6510
                        (yyval.node) = NEW_LIT(ID2SYM((yyvsp[(1) - (1)].id)));
6410
6511
                    /*%
6411
 
                        rb_ary_push($1, $4);
 
6512
                        $$ = dispatch1(symbol_literal, $1);
6412
6513
                    %*/
6413
 
                    ;}
6414
 
    break;
6415
 
 
6416
 
  case 121:
6417
 
 
6418
 
/* Line 1464 of yacc.c  */
6419
 
#line 1834 "parse.y"
6420
 
    { ifndef_ripper((yyval.id) = '|'); ;}
 
6514
                    }
6421
6515
    break;
6422
6516
 
6423
6517
  case 122:
6424
6518
 
6425
 
/* Line 1464 of yacc.c  */
6426
 
#line 1835 "parse.y"
6427
 
    { ifndef_ripper((yyval.id) = '^'); ;}
 
6519
/* Line 1806 of yacc.c  */
 
6520
#line 1839 "parse.y"
 
6521
    {
 
6522
                    /*%%%*/
 
6523
                        (yyval.node) = NEW_UNDEF((yyvsp[(1) - (1)].node));
 
6524
                    /*%
 
6525
                        $$ = rb_ary_new3(1, $1);
 
6526
                    %*/
 
6527
                    }
6428
6528
    break;
6429
6529
 
6430
6530
  case 123:
6431
6531
 
6432
 
/* Line 1464 of yacc.c  */
6433
 
#line 1836 "parse.y"
6434
 
    { ifndef_ripper((yyval.id) = '&'); ;}
 
6532
/* Line 1806 of yacc.c  */
 
6533
#line 1846 "parse.y"
 
6534
    {lex_state = EXPR_FNAME;}
6435
6535
    break;
6436
6536
 
6437
6537
  case 124:
6438
6538
 
6439
 
/* Line 1464 of yacc.c  */
6440
 
#line 1837 "parse.y"
6441
 
    { ifndef_ripper((yyval.id) = tCMP); ;}
 
6539
/* Line 1806 of yacc.c  */
 
6540
#line 1847 "parse.y"
 
6541
    {
 
6542
                    /*%%%*/
 
6543
                        (yyval.node) = block_append((yyvsp[(1) - (4)].node), NEW_UNDEF((yyvsp[(4) - (4)].node)));
 
6544
                    /*%
 
6545
                        rb_ary_push($1, $4);
 
6546
                    %*/
 
6547
                    }
6442
6548
    break;
6443
6549
 
6444
6550
  case 125:
6445
6551
 
6446
 
/* Line 1464 of yacc.c  */
6447
 
#line 1838 "parse.y"
6448
 
    { ifndef_ripper((yyval.id) = tEQ); ;}
 
6552
/* Line 1806 of yacc.c  */
 
6553
#line 1856 "parse.y"
 
6554
    { ifndef_ripper((yyval.id) = '|'); }
6449
6555
    break;
6450
6556
 
6451
6557
  case 126:
6452
6558
 
6453
 
/* Line 1464 of yacc.c  */
6454
 
#line 1839 "parse.y"
6455
 
    { ifndef_ripper((yyval.id) = tEQQ); ;}
 
6559
/* Line 1806 of yacc.c  */
 
6560
#line 1857 "parse.y"
 
6561
    { ifndef_ripper((yyval.id) = '^'); }
6456
6562
    break;
6457
6563
 
6458
6564
  case 127:
6459
6565
 
6460
 
/* Line 1464 of yacc.c  */
6461
 
#line 1840 "parse.y"
6462
 
    { ifndef_ripper((yyval.id) = tMATCH); ;}
 
6566
/* Line 1806 of yacc.c  */
 
6567
#line 1858 "parse.y"
 
6568
    { ifndef_ripper((yyval.id) = '&'); }
6463
6569
    break;
6464
6570
 
6465
6571
  case 128:
6466
6572
 
6467
 
/* Line 1464 of yacc.c  */
6468
 
#line 1841 "parse.y"
6469
 
    { ifndef_ripper((yyval.id) = tNMATCH); ;}
 
6573
/* Line 1806 of yacc.c  */
 
6574
#line 1859 "parse.y"
 
6575
    { ifndef_ripper((yyval.id) = tCMP); }
6470
6576
    break;
6471
6577
 
6472
6578
  case 129:
6473
6579
 
6474
 
/* Line 1464 of yacc.c  */
6475
 
#line 1842 "parse.y"
6476
 
    { ifndef_ripper((yyval.id) = '>'); ;}
 
6580
/* Line 1806 of yacc.c  */
 
6581
#line 1860 "parse.y"
 
6582
    { ifndef_ripper((yyval.id) = tEQ); }
6477
6583
    break;
6478
6584
 
6479
6585
  case 130:
6480
6586
 
6481
 
/* Line 1464 of yacc.c  */
6482
 
#line 1843 "parse.y"
6483
 
    { ifndef_ripper((yyval.id) = tGEQ); ;}
 
6587
/* Line 1806 of yacc.c  */
 
6588
#line 1861 "parse.y"
 
6589
    { ifndef_ripper((yyval.id) = tEQQ); }
6484
6590
    break;
6485
6591
 
6486
6592
  case 131:
6487
6593
 
6488
 
/* Line 1464 of yacc.c  */
6489
 
#line 1844 "parse.y"
6490
 
    { ifndef_ripper((yyval.id) = '<'); ;}
 
6594
/* Line 1806 of yacc.c  */
 
6595
#line 1862 "parse.y"
 
6596
    { ifndef_ripper((yyval.id) = tMATCH); }
6491
6597
    break;
6492
6598
 
6493
6599
  case 132:
6494
6600
 
6495
 
/* Line 1464 of yacc.c  */
6496
 
#line 1845 "parse.y"
6497
 
    { ifndef_ripper((yyval.id) = tLEQ); ;}
 
6601
/* Line 1806 of yacc.c  */
 
6602
#line 1863 "parse.y"
 
6603
    { ifndef_ripper((yyval.id) = tNMATCH); }
6498
6604
    break;
6499
6605
 
6500
6606
  case 133:
6501
6607
 
6502
 
/* Line 1464 of yacc.c  */
6503
 
#line 1846 "parse.y"
6504
 
    { ifndef_ripper((yyval.id) = tNEQ); ;}
 
6608
/* Line 1806 of yacc.c  */
 
6609
#line 1864 "parse.y"
 
6610
    { ifndef_ripper((yyval.id) = '>'); }
6505
6611
    break;
6506
6612
 
6507
6613
  case 134:
6508
6614
 
6509
 
/* Line 1464 of yacc.c  */
6510
 
#line 1847 "parse.y"
6511
 
    { ifndef_ripper((yyval.id) = tLSHFT); ;}
 
6615
/* Line 1806 of yacc.c  */
 
6616
#line 1865 "parse.y"
 
6617
    { ifndef_ripper((yyval.id) = tGEQ); }
6512
6618
    break;
6513
6619
 
6514
6620
  case 135:
6515
6621
 
6516
 
/* Line 1464 of yacc.c  */
6517
 
#line 1848 "parse.y"
6518
 
    { ifndef_ripper((yyval.id) = tRSHFT); ;}
 
6622
/* Line 1806 of yacc.c  */
 
6623
#line 1866 "parse.y"
 
6624
    { ifndef_ripper((yyval.id) = '<'); }
6519
6625
    break;
6520
6626
 
6521
6627
  case 136:
6522
6628
 
6523
 
/* Line 1464 of yacc.c  */
6524
 
#line 1849 "parse.y"
6525
 
    { ifndef_ripper((yyval.id) = '+'); ;}
 
6629
/* Line 1806 of yacc.c  */
 
6630
#line 1867 "parse.y"
 
6631
    { ifndef_ripper((yyval.id) = tLEQ); }
6526
6632
    break;
6527
6633
 
6528
6634
  case 137:
6529
6635
 
6530
 
/* Line 1464 of yacc.c  */
6531
 
#line 1850 "parse.y"
6532
 
    { ifndef_ripper((yyval.id) = '-'); ;}
 
6636
/* Line 1806 of yacc.c  */
 
6637
#line 1868 "parse.y"
 
6638
    { ifndef_ripper((yyval.id) = tNEQ); }
6533
6639
    break;
6534
6640
 
6535
6641
  case 138:
6536
6642
 
6537
 
/* Line 1464 of yacc.c  */
6538
 
#line 1851 "parse.y"
6539
 
    { ifndef_ripper((yyval.id) = '*'); ;}
 
6643
/* Line 1806 of yacc.c  */
 
6644
#line 1869 "parse.y"
 
6645
    { ifndef_ripper((yyval.id) = tLSHFT); }
6540
6646
    break;
6541
6647
 
6542
6648
  case 139:
6543
6649
 
6544
 
/* Line 1464 of yacc.c  */
6545
 
#line 1852 "parse.y"
6546
 
    { ifndef_ripper((yyval.id) = '*'); ;}
 
6650
/* Line 1806 of yacc.c  */
 
6651
#line 1870 "parse.y"
 
6652
    { ifndef_ripper((yyval.id) = tRSHFT); }
6547
6653
    break;
6548
6654
 
6549
6655
  case 140:
6550
6656
 
6551
 
/* Line 1464 of yacc.c  */
6552
 
#line 1853 "parse.y"
6553
 
    { ifndef_ripper((yyval.id) = '/'); ;}
 
6657
/* Line 1806 of yacc.c  */
 
6658
#line 1871 "parse.y"
 
6659
    { ifndef_ripper((yyval.id) = '+'); }
6554
6660
    break;
6555
6661
 
6556
6662
  case 141:
6557
6663
 
6558
 
/* Line 1464 of yacc.c  */
6559
 
#line 1854 "parse.y"
6560
 
    { ifndef_ripper((yyval.id) = '%'); ;}
 
6664
/* Line 1806 of yacc.c  */
 
6665
#line 1872 "parse.y"
 
6666
    { ifndef_ripper((yyval.id) = '-'); }
6561
6667
    break;
6562
6668
 
6563
6669
  case 142:
6564
6670
 
6565
 
/* Line 1464 of yacc.c  */
6566
 
#line 1855 "parse.y"
6567
 
    { ifndef_ripper((yyval.id) = tPOW); ;}
 
6671
/* Line 1806 of yacc.c  */
 
6672
#line 1873 "parse.y"
 
6673
    { ifndef_ripper((yyval.id) = '*'); }
6568
6674
    break;
6569
6675
 
6570
6676
  case 143:
6571
6677
 
6572
 
/* Line 1464 of yacc.c  */
6573
 
#line 1856 "parse.y"
6574
 
    { ifndef_ripper((yyval.id) = '!'); ;}
 
6678
/* Line 1806 of yacc.c  */
 
6679
#line 1874 "parse.y"
 
6680
    { ifndef_ripper((yyval.id) = '*'); }
6575
6681
    break;
6576
6682
 
6577
6683
  case 144:
6578
6684
 
6579
 
/* Line 1464 of yacc.c  */
6580
 
#line 1857 "parse.y"
6581
 
    { ifndef_ripper((yyval.id) = '~'); ;}
 
6685
/* Line 1806 of yacc.c  */
 
6686
#line 1875 "parse.y"
 
6687
    { ifndef_ripper((yyval.id) = '/'); }
6582
6688
    break;
6583
6689
 
6584
6690
  case 145:
6585
6691
 
6586
 
/* Line 1464 of yacc.c  */
6587
 
#line 1858 "parse.y"
6588
 
    { ifndef_ripper((yyval.id) = tUPLUS); ;}
 
6692
/* Line 1806 of yacc.c  */
 
6693
#line 1876 "parse.y"
 
6694
    { ifndef_ripper((yyval.id) = '%'); }
6589
6695
    break;
6590
6696
 
6591
6697
  case 146:
6592
6698
 
6593
 
/* Line 1464 of yacc.c  */
6594
 
#line 1859 "parse.y"
6595
 
    { ifndef_ripper((yyval.id) = tUMINUS); ;}
 
6699
/* Line 1806 of yacc.c  */
 
6700
#line 1877 "parse.y"
 
6701
    { ifndef_ripper((yyval.id) = tPOW); }
6596
6702
    break;
6597
6703
 
6598
6704
  case 147:
6599
6705
 
6600
 
/* Line 1464 of yacc.c  */
6601
 
#line 1860 "parse.y"
6602
 
    { ifndef_ripper((yyval.id) = tAREF); ;}
 
6706
/* Line 1806 of yacc.c  */
 
6707
#line 1878 "parse.y"
 
6708
    { ifndef_ripper((yyval.id) = '!'); }
6603
6709
    break;
6604
6710
 
6605
6711
  case 148:
6606
6712
 
6607
 
/* Line 1464 of yacc.c  */
6608
 
#line 1861 "parse.y"
6609
 
    { ifndef_ripper((yyval.id) = tASET); ;}
 
6713
/* Line 1806 of yacc.c  */
 
6714
#line 1879 "parse.y"
 
6715
    { ifndef_ripper((yyval.id) = '~'); }
6610
6716
    break;
6611
6717
 
6612
6718
  case 149:
6613
6719
 
6614
 
/* Line 1464 of yacc.c  */
6615
 
#line 1862 "parse.y"
6616
 
    { ifndef_ripper((yyval.id) = '`'); ;}
6617
 
    break;
6618
 
 
6619
 
  case 191:
6620
 
 
6621
 
/* Line 1464 of yacc.c  */
 
6720
/* Line 1806 of yacc.c  */
6622
6721
#line 1880 "parse.y"
 
6722
    { ifndef_ripper((yyval.id) = tUPLUS); }
 
6723
    break;
 
6724
 
 
6725
  case 150:
 
6726
 
 
6727
/* Line 1806 of yacc.c  */
 
6728
#line 1881 "parse.y"
 
6729
    { ifndef_ripper((yyval.id) = tUMINUS); }
 
6730
    break;
 
6731
 
 
6732
  case 151:
 
6733
 
 
6734
/* Line 1806 of yacc.c  */
 
6735
#line 1882 "parse.y"
 
6736
    { ifndef_ripper((yyval.id) = tAREF); }
 
6737
    break;
 
6738
 
 
6739
  case 152:
 
6740
 
 
6741
/* Line 1806 of yacc.c  */
 
6742
#line 1883 "parse.y"
 
6743
    { ifndef_ripper((yyval.id) = tASET); }
 
6744
    break;
 
6745
 
 
6746
  case 153:
 
6747
 
 
6748
/* Line 1806 of yacc.c  */
 
6749
#line 1884 "parse.y"
 
6750
    { ifndef_ripper((yyval.id) = '`'); }
 
6751
    break;
 
6752
 
 
6753
  case 195:
 
6754
 
 
6755
/* Line 1806 of yacc.c  */
 
6756
#line 1902 "parse.y"
6623
6757
    {
6624
6758
                    /*%%%*/
6625
6759
                        value_expr((yyvsp[(3) - (3)].node));
6627
6761
                    /*%
6628
6762
                        $$ = dispatch2(assign, $1, $3);
6629
6763
                    %*/
6630
 
                    ;}
 
6764
                    }
6631
6765
    break;
6632
6766
 
6633
 
  case 192:
 
6767
  case 196:
6634
6768
 
6635
 
/* Line 1464 of yacc.c  */
6636
 
#line 1889 "parse.y"
 
6769
/* Line 1806 of yacc.c  */
 
6770
#line 1911 "parse.y"
6637
6771
    {
6638
6772
                    /*%%%*/
6639
6773
                        value_expr((yyvsp[(3) - (5)].node));
6642
6776
                    /*%
6643
6777
                        $$ = dispatch2(assign, $1, dispatch2(rescue_mod, $3, $5));
6644
6778
                    %*/
6645
 
                    ;}
 
6779
                    }
6646
6780
    break;
6647
6781
 
6648
 
  case 193:
 
6782
  case 197:
6649
6783
 
6650
 
/* Line 1464 of yacc.c  */
6651
 
#line 1899 "parse.y"
 
6784
/* Line 1806 of yacc.c  */
 
6785
#line 1921 "parse.y"
6652
6786
    {
6653
6787
                    /*%%%*/
6654
6788
                        value_expr((yyvsp[(3) - (3)].node));
6676
6810
                    /*%
6677
6811
                        $$ = dispatch3(opassign, $1, $2, $3);
6678
6812
                    %*/
6679
 
                    ;}
 
6813
                    }
6680
6814
    break;
6681
6815
 
6682
 
  case 194:
 
6816
  case 198:
6683
6817
 
6684
 
/* Line 1464 of yacc.c  */
6685
 
#line 1928 "parse.y"
 
6818
/* Line 1806 of yacc.c  */
 
6819
#line 1950 "parse.y"
6686
6820
    {
6687
6821
                    /*%%%*/
6688
6822
                        value_expr((yyvsp[(3) - (5)].node));
6712
6846
                        $3 = dispatch2(rescue_mod, $3, $5);
6713
6847
                        $$ = dispatch3(opassign, $1, $2, $3);
6714
6848
                    %*/
6715
 
                    ;}
 
6849
                    }
6716
6850
    break;
6717
6851
 
6718
 
  case 195:
 
6852
  case 199:
6719
6853
 
6720
 
/* Line 1464 of yacc.c  */
6721
 
#line 1959 "parse.y"
 
6854
/* Line 1806 of yacc.c  */
 
6855
#line 1981 "parse.y"
6722
6856
    {
6723
6857
                    /*%%%*/
6724
6858
                        NODE *args;
6743
6877
                        $1 = dispatch2(aref_field, $1, escape_Qundef($3));
6744
6878
                        $$ = dispatch3(opassign, $1, $5, $6);
6745
6879
                    %*/
6746
 
                    ;}
6747
 
    break;
6748
 
 
6749
 
  case 196:
6750
 
 
6751
 
/* Line 1464 of yacc.c  */
6752
 
#line 1985 "parse.y"
6753
 
    {
6754
 
                    /*%%%*/
6755
 
                        value_expr((yyvsp[(5) - (5)].node));
6756
 
                        if ((yyvsp[(4) - (5)].id) == tOROP) {
6757
 
                            (yyvsp[(4) - (5)].id) = 0;
6758
 
                        }
6759
 
                        else if ((yyvsp[(4) - (5)].id) == tANDOP) {
6760
 
                            (yyvsp[(4) - (5)].id) = 1;
6761
 
                        }
6762
 
                        (yyval.node) = NEW_OP_ASGN2((yyvsp[(1) - (5)].node), (yyvsp[(3) - (5)].id), (yyvsp[(4) - (5)].id), (yyvsp[(5) - (5)].node));
6763
 
                        fixpos((yyval.node), (yyvsp[(1) - (5)].node));
6764
 
                    /*%
6765
 
                        $1 = dispatch3(field, $1, ripper_id2sym('.'), $3);
6766
 
                        $$ = dispatch3(opassign, $1, $4, $5);
6767
 
                    %*/
6768
 
                    ;}
6769
 
    break;
6770
 
 
6771
 
  case 197:
6772
 
 
6773
 
/* Line 1464 of yacc.c  */
6774
 
#line 2002 "parse.y"
6775
 
    {
6776
 
                    /*%%%*/
6777
 
                        value_expr((yyvsp[(5) - (5)].node));
6778
 
                        if ((yyvsp[(4) - (5)].id) == tOROP) {
6779
 
                            (yyvsp[(4) - (5)].id) = 0;
6780
 
                        }
6781
 
                        else if ((yyvsp[(4) - (5)].id) == tANDOP) {
6782
 
                            (yyvsp[(4) - (5)].id) = 1;
6783
 
                        }
6784
 
                        (yyval.node) = NEW_OP_ASGN2((yyvsp[(1) - (5)].node), (yyvsp[(3) - (5)].id), (yyvsp[(4) - (5)].id), (yyvsp[(5) - (5)].node));
6785
 
                        fixpos((yyval.node), (yyvsp[(1) - (5)].node));
6786
 
                    /*%
6787
 
                        $1 = dispatch3(field, $1, ripper_id2sym('.'), $3);
6788
 
                        $$ = dispatch3(opassign, $1, $4, $5);
6789
 
                    %*/
6790
 
                    ;}
6791
 
    break;
6792
 
 
6793
 
  case 198:
6794
 
 
6795
 
/* Line 1464 of yacc.c  */
6796
 
#line 2019 "parse.y"
6797
 
    {
6798
 
                    /*%%%*/
6799
 
                        value_expr((yyvsp[(5) - (5)].node));
6800
 
                        if ((yyvsp[(4) - (5)].id) == tOROP) {
6801
 
                            (yyvsp[(4) - (5)].id) = 0;
6802
 
                        }
6803
 
                        else if ((yyvsp[(4) - (5)].id) == tANDOP) {
6804
 
                            (yyvsp[(4) - (5)].id) = 1;
6805
 
                        }
6806
 
                        (yyval.node) = NEW_OP_ASGN2((yyvsp[(1) - (5)].node), (yyvsp[(3) - (5)].id), (yyvsp[(4) - (5)].id), (yyvsp[(5) - (5)].node));
6807
 
                        fixpos((yyval.node), (yyvsp[(1) - (5)].node));
6808
 
                    /*%
6809
 
                        $1 = dispatch3(field, $1, ripper_intern("::"), $3);
6810
 
                        $$ = dispatch3(opassign, $1, $4, $5);
6811
 
                    %*/
6812
 
                    ;}
6813
 
    break;
6814
 
 
6815
 
  case 199:
6816
 
 
6817
 
/* Line 1464 of yacc.c  */
6818
 
#line 2036 "parse.y"
6819
 
    {
6820
 
                    /*%%%*/
6821
 
                        yyerror("constant re-assignment");
6822
 
                        (yyval.node) = NEW_BEGIN(0);
6823
 
                    /*%
6824
 
                        $$ = dispatch2(const_path_field, $1, $3);
6825
 
                        $$ = dispatch3(opassign, $$, $4, $5);
6826
 
                        $$ = dispatch1(assign_error, $$);
6827
 
                    %*/
6828
 
                    ;}
 
6880
                    }
6829
6881
    break;
6830
6882
 
6831
6883
  case 200:
6832
6884
 
6833
 
/* Line 1464 of yacc.c  */
6834
 
#line 2047 "parse.y"
 
6885
/* Line 1806 of yacc.c  */
 
6886
#line 2007 "parse.y"
6835
6887
    {
6836
6888
                    /*%%%*/
6837
 
                        yyerror("constant re-assignment");
6838
 
                        (yyval.node) = NEW_BEGIN(0);
 
6889
                        value_expr((yyvsp[(5) - (5)].node));
 
6890
                        if ((yyvsp[(4) - (5)].id) == tOROP) {
 
6891
                            (yyvsp[(4) - (5)].id) = 0;
 
6892
                        }
 
6893
                        else if ((yyvsp[(4) - (5)].id) == tANDOP) {
 
6894
                            (yyvsp[(4) - (5)].id) = 1;
 
6895
                        }
 
6896
                        (yyval.node) = NEW_OP_ASGN2((yyvsp[(1) - (5)].node), (yyvsp[(3) - (5)].id), (yyvsp[(4) - (5)].id), (yyvsp[(5) - (5)].node));
 
6897
                        fixpos((yyval.node), (yyvsp[(1) - (5)].node));
6839
6898
                    /*%
6840
 
                        $$ = dispatch1(top_const_field, $2);
6841
 
                        $$ = dispatch3(opassign, $$, $3, $4);
6842
 
                        $$ = dispatch1(assign_error, $$);
 
6899
                        $1 = dispatch3(field, $1, ripper_id2sym('.'), $3);
 
6900
                        $$ = dispatch3(opassign, $1, $4, $5);
6843
6901
                    %*/
6844
 
                    ;}
 
6902
                    }
6845
6903
    break;
6846
6904
 
6847
6905
  case 201:
6848
6906
 
6849
 
/* Line 1464 of yacc.c  */
 
6907
/* Line 1806 of yacc.c  */
 
6908
#line 2024 "parse.y"
 
6909
    {
 
6910
                    /*%%%*/
 
6911
                        value_expr((yyvsp[(5) - (5)].node));
 
6912
                        if ((yyvsp[(4) - (5)].id) == tOROP) {
 
6913
                            (yyvsp[(4) - (5)].id) = 0;
 
6914
                        }
 
6915
                        else if ((yyvsp[(4) - (5)].id) == tANDOP) {
 
6916
                            (yyvsp[(4) - (5)].id) = 1;
 
6917
                        }
 
6918
                        (yyval.node) = NEW_OP_ASGN2((yyvsp[(1) - (5)].node), (yyvsp[(3) - (5)].id), (yyvsp[(4) - (5)].id), (yyvsp[(5) - (5)].node));
 
6919
                        fixpos((yyval.node), (yyvsp[(1) - (5)].node));
 
6920
                    /*%
 
6921
                        $1 = dispatch3(field, $1, ripper_id2sym('.'), $3);
 
6922
                        $$ = dispatch3(opassign, $1, $4, $5);
 
6923
                    %*/
 
6924
                    }
 
6925
    break;
 
6926
 
 
6927
  case 202:
 
6928
 
 
6929
/* Line 1806 of yacc.c  */
 
6930
#line 2041 "parse.y"
 
6931
    {
 
6932
                    /*%%%*/
 
6933
                        value_expr((yyvsp[(5) - (5)].node));
 
6934
                        if ((yyvsp[(4) - (5)].id) == tOROP) {
 
6935
                            (yyvsp[(4) - (5)].id) = 0;
 
6936
                        }
 
6937
                        else if ((yyvsp[(4) - (5)].id) == tANDOP) {
 
6938
                            (yyvsp[(4) - (5)].id) = 1;
 
6939
                        }
 
6940
                        (yyval.node) = NEW_OP_ASGN2((yyvsp[(1) - (5)].node), (yyvsp[(3) - (5)].id), (yyvsp[(4) - (5)].id), (yyvsp[(5) - (5)].node));
 
6941
                        fixpos((yyval.node), (yyvsp[(1) - (5)].node));
 
6942
                    /*%
 
6943
                        $1 = dispatch3(field, $1, ripper_intern("::"), $3);
 
6944
                        $$ = dispatch3(opassign, $1, $4, $5);
 
6945
                    %*/
 
6946
                    }
 
6947
    break;
 
6948
 
 
6949
  case 203:
 
6950
 
 
6951
/* Line 1806 of yacc.c  */
6850
6952
#line 2058 "parse.y"
6851
6953
    {
6852
6954
                    /*%%%*/
 
6955
                        yyerror("constant re-assignment");
 
6956
                        (yyval.node) = NEW_BEGIN(0);
 
6957
                    /*%
 
6958
                        $$ = dispatch2(const_path_field, $1, $3);
 
6959
                        $$ = dispatch3(opassign, $$, $4, $5);
 
6960
                        $$ = dispatch1(assign_error, $$);
 
6961
                    %*/
 
6962
                    }
 
6963
    break;
 
6964
 
 
6965
  case 204:
 
6966
 
 
6967
/* Line 1806 of yacc.c  */
 
6968
#line 2069 "parse.y"
 
6969
    {
 
6970
                    /*%%%*/
 
6971
                        yyerror("constant re-assignment");
 
6972
                        (yyval.node) = NEW_BEGIN(0);
 
6973
                    /*%
 
6974
                        $$ = dispatch1(top_const_field, $2);
 
6975
                        $$ = dispatch3(opassign, $$, $3, $4);
 
6976
                        $$ = dispatch1(assign_error, $$);
 
6977
                    %*/
 
6978
                    }
 
6979
    break;
 
6980
 
 
6981
  case 205:
 
6982
 
 
6983
/* Line 1806 of yacc.c  */
 
6984
#line 2080 "parse.y"
 
6985
    {
 
6986
                    /*%%%*/
6853
6987
                        rb_backref_error((yyvsp[(1) - (3)].node));
6854
6988
                        (yyval.node) = NEW_BEGIN(0);
6855
6989
                    /*%
6857
6991
                        $$ = dispatch3(opassign, $$, $2, $3);
6858
6992
                        $$ = dispatch1(assign_error, $$);
6859
6993
                    %*/
6860
 
                    ;}
 
6994
                    }
6861
6995
    break;
6862
6996
 
6863
 
  case 202:
 
6997
  case 206:
6864
6998
 
6865
 
/* Line 1464 of yacc.c  */
6866
 
#line 2069 "parse.y"
 
6999
/* Line 1806 of yacc.c  */
 
7000
#line 2091 "parse.y"
6867
7001
    {
6868
7002
                    /*%%%*/
6869
7003
                        value_expr((yyvsp[(1) - (3)].node));
6876
7010
                    /*%
6877
7011
                        $$ = dispatch2(dot2, $1, $3);
6878
7012
                    %*/
6879
 
                    ;}
 
7013
                    }
6880
7014
    break;
6881
7015
 
6882
 
  case 203:
 
7016
  case 207:
6883
7017
 
6884
 
/* Line 1464 of yacc.c  */
6885
 
#line 2083 "parse.y"
 
7018
/* Line 1806 of yacc.c  */
 
7019
#line 2105 "parse.y"
6886
7020
    {
6887
7021
                    /*%%%*/
6888
7022
                        value_expr((yyvsp[(1) - (3)].node));
6895
7029
                    /*%
6896
7030
                        $$ = dispatch2(dot3, $1, $3);
6897
7031
                    %*/
6898
 
                    ;}
 
7032
                    }
6899
7033
    break;
6900
7034
 
6901
 
  case 204:
 
7035
  case 208:
6902
7036
 
6903
 
/* Line 1464 of yacc.c  */
6904
 
#line 2097 "parse.y"
 
7037
/* Line 1806 of yacc.c  */
 
7038
#line 2119 "parse.y"
6905
7039
    {
6906
7040
                    /*%%%*/
6907
7041
                        (yyval.node) = call_bin_op((yyvsp[(1) - (3)].node), '+', (yyvsp[(3) - (3)].node));
6908
7042
                    /*%
6909
7043
                        $$ = dispatch3(binary, $1, ID2SYM('+'), $3);
6910
7044
                    %*/
6911
 
                    ;}
 
7045
                    }
6912
7046
    break;
6913
7047
 
6914
 
  case 205:
 
7048
  case 209:
6915
7049
 
6916
 
/* Line 1464 of yacc.c  */
6917
 
#line 2105 "parse.y"
 
7050
/* Line 1806 of yacc.c  */
 
7051
#line 2127 "parse.y"
6918
7052
    {
6919
7053
                    /*%%%*/
6920
7054
                        (yyval.node) = call_bin_op((yyvsp[(1) - (3)].node), '-', (yyvsp[(3) - (3)].node));
6921
7055
                    /*%
6922
7056
                        $$ = dispatch3(binary, $1, ID2SYM('-'), $3);
6923
7057
                    %*/
6924
 
                    ;}
 
7058
                    }
6925
7059
    break;
6926
7060
 
6927
 
  case 206:
 
7061
  case 210:
6928
7062
 
6929
 
/* Line 1464 of yacc.c  */
6930
 
#line 2113 "parse.y"
 
7063
/* Line 1806 of yacc.c  */
 
7064
#line 2135 "parse.y"
6931
7065
    {
6932
7066
                    /*%%%*/
6933
7067
                        (yyval.node) = call_bin_op((yyvsp[(1) - (3)].node), '*', (yyvsp[(3) - (3)].node));
6934
7068
                    /*%
6935
7069
                        $$ = dispatch3(binary, $1, ID2SYM('*'), $3);
6936
7070
                    %*/
6937
 
                    ;}
 
7071
                    }
6938
7072
    break;
6939
7073
 
6940
 
  case 207:
 
7074
  case 211:
6941
7075
 
6942
 
/* Line 1464 of yacc.c  */
6943
 
#line 2121 "parse.y"
 
7076
/* Line 1806 of yacc.c  */
 
7077
#line 2143 "parse.y"
6944
7078
    {
6945
7079
                    /*%%%*/
6946
7080
                        (yyval.node) = call_bin_op((yyvsp[(1) - (3)].node), '/', (yyvsp[(3) - (3)].node));
6947
7081
                    /*%
6948
7082
                        $$ = dispatch3(binary, $1, ID2SYM('/'), $3);
6949
7083
                    %*/
6950
 
                    ;}
 
7084
                    }
6951
7085
    break;
6952
7086
 
6953
 
  case 208:
 
7087
  case 212:
6954
7088
 
6955
 
/* Line 1464 of yacc.c  */
6956
 
#line 2129 "parse.y"
 
7089
/* Line 1806 of yacc.c  */
 
7090
#line 2151 "parse.y"
6957
7091
    {
6958
7092
                    /*%%%*/
6959
7093
                        (yyval.node) = call_bin_op((yyvsp[(1) - (3)].node), '%', (yyvsp[(3) - (3)].node));
6960
7094
                    /*%
6961
7095
                        $$ = dispatch3(binary, $1, ID2SYM('%'), $3);
6962
7096
                    %*/
6963
 
                    ;}
 
7097
                    }
6964
7098
    break;
6965
7099
 
6966
 
  case 209:
 
7100
  case 213:
6967
7101
 
6968
 
/* Line 1464 of yacc.c  */
6969
 
#line 2137 "parse.y"
 
7102
/* Line 1806 of yacc.c  */
 
7103
#line 2159 "parse.y"
6970
7104
    {
6971
7105
                    /*%%%*/
6972
7106
                        (yyval.node) = call_bin_op((yyvsp[(1) - (3)].node), tPOW, (yyvsp[(3) - (3)].node));
6973
7107
                    /*%
6974
7108
                        $$ = dispatch3(binary, $1, ripper_intern("**"), $3);
6975
7109
                    %*/
6976
 
                    ;}
6977
 
    break;
6978
 
 
6979
 
  case 210:
6980
 
 
6981
 
/* Line 1464 of yacc.c  */
6982
 
#line 2145 "parse.y"
6983
 
    {
6984
 
                    /*%%%*/
6985
 
                        (yyval.node) = NEW_CALL(call_bin_op((yyvsp[(2) - (4)].node), tPOW, (yyvsp[(4) - (4)].node)), tUMINUS, 0);
6986
 
                    /*%
6987
 
                        $$ = dispatch3(binary, $2, ripper_intern("**"), $4);
6988
 
                        $$ = dispatch2(unary, ripper_intern("-@"), $$);
6989
 
                    %*/
6990
 
                    ;}
6991
 
    break;
6992
 
 
6993
 
  case 211:
6994
 
 
6995
 
/* Line 1464 of yacc.c  */
6996
 
#line 2154 "parse.y"
6997
 
    {
6998
 
                    /*%%%*/
6999
 
                        (yyval.node) = NEW_CALL(call_bin_op((yyvsp[(2) - (4)].node), tPOW, (yyvsp[(4) - (4)].node)), tUMINUS, 0);
7000
 
                    /*%
7001
 
                        $$ = dispatch3(binary, $2, ripper_intern("**"), $4);
7002
 
                        $$ = dispatch2(unary, ripper_intern("-@"), $$);
7003
 
                    %*/
7004
 
                    ;}
7005
 
    break;
7006
 
 
7007
 
  case 212:
7008
 
 
7009
 
/* Line 1464 of yacc.c  */
7010
 
#line 2163 "parse.y"
 
7110
                    }
 
7111
    break;
 
7112
 
 
7113
  case 214:
 
7114
 
 
7115
/* Line 1806 of yacc.c  */
 
7116
#line 2167 "parse.y"
 
7117
    {
 
7118
                    /*%%%*/
 
7119
                        (yyval.node) = NEW_CALL(call_bin_op((yyvsp[(2) - (4)].node), tPOW, (yyvsp[(4) - (4)].node)), tUMINUS, 0);
 
7120
                    /*%
 
7121
                        $$ = dispatch3(binary, $2, ripper_intern("**"), $4);
 
7122
                        $$ = dispatch2(unary, ripper_intern("-@"), $$);
 
7123
                    %*/
 
7124
                    }
 
7125
    break;
 
7126
 
 
7127
  case 215:
 
7128
 
 
7129
/* Line 1806 of yacc.c  */
 
7130
#line 2176 "parse.y"
 
7131
    {
 
7132
                    /*%%%*/
 
7133
                        (yyval.node) = NEW_CALL(call_bin_op((yyvsp[(2) - (4)].node), tPOW, (yyvsp[(4) - (4)].node)), tUMINUS, 0);
 
7134
                    /*%
 
7135
                        $$ = dispatch3(binary, $2, ripper_intern("**"), $4);
 
7136
                        $$ = dispatch2(unary, ripper_intern("-@"), $$);
 
7137
                    %*/
 
7138
                    }
 
7139
    break;
 
7140
 
 
7141
  case 216:
 
7142
 
 
7143
/* Line 1806 of yacc.c  */
 
7144
#line 2185 "parse.y"
7011
7145
    {
7012
7146
                    /*%%%*/
7013
7147
                        (yyval.node) = call_uni_op((yyvsp[(2) - (2)].node), tUPLUS);
7014
7148
                    /*%
7015
7149
                        $$ = dispatch2(unary, ripper_intern("+@"), $2);
7016
7150
                    %*/
7017
 
                    ;}
 
7151
                    }
7018
7152
    break;
7019
7153
 
7020
 
  case 213:
 
7154
  case 217:
7021
7155
 
7022
 
/* Line 1464 of yacc.c  */
7023
 
#line 2171 "parse.y"
 
7156
/* Line 1806 of yacc.c  */
 
7157
#line 2193 "parse.y"
7024
7158
    {
7025
7159
                    /*%%%*/
7026
7160
                        (yyval.node) = call_uni_op((yyvsp[(2) - (2)].node), tUMINUS);
7027
7161
                    /*%
7028
7162
                        $$ = dispatch2(unary, ripper_intern("-@"), $2);
7029
7163
                    %*/
7030
 
                    ;}
 
7164
                    }
7031
7165
    break;
7032
7166
 
7033
 
  case 214:
 
7167
  case 218:
7034
7168
 
7035
 
/* Line 1464 of yacc.c  */
7036
 
#line 2179 "parse.y"
 
7169
/* Line 1806 of yacc.c  */
 
7170
#line 2201 "parse.y"
7037
7171
    {
7038
7172
                    /*%%%*/
7039
7173
                        (yyval.node) = call_bin_op((yyvsp[(1) - (3)].node), '|', (yyvsp[(3) - (3)].node));
7040
7174
                    /*%
7041
7175
                        $$ = dispatch3(binary, $1, ID2SYM('|'), $3);
7042
7176
                    %*/
7043
 
                    ;}
 
7177
                    }
7044
7178
    break;
7045
7179
 
7046
 
  case 215:
 
7180
  case 219:
7047
7181
 
7048
 
/* Line 1464 of yacc.c  */
7049
 
#line 2187 "parse.y"
 
7182
/* Line 1806 of yacc.c  */
 
7183
#line 2209 "parse.y"
7050
7184
    {
7051
7185
                    /*%%%*/
7052
7186
                        (yyval.node) = call_bin_op((yyvsp[(1) - (3)].node), '^', (yyvsp[(3) - (3)].node));
7053
7187
                    /*%
7054
7188
                        $$ = dispatch3(binary, $1, ID2SYM('^'), $3);
7055
7189
                    %*/
7056
 
                    ;}
 
7190
                    }
7057
7191
    break;
7058
7192
 
7059
 
  case 216:
 
7193
  case 220:
7060
7194
 
7061
 
/* Line 1464 of yacc.c  */
7062
 
#line 2195 "parse.y"
 
7195
/* Line 1806 of yacc.c  */
 
7196
#line 2217 "parse.y"
7063
7197
    {
7064
7198
                    /*%%%*/
7065
7199
                        (yyval.node) = call_bin_op((yyvsp[(1) - (3)].node), '&', (yyvsp[(3) - (3)].node));
7066
7200
                    /*%
7067
7201
                        $$ = dispatch3(binary, $1, ID2SYM('&'), $3);
7068
7202
                    %*/
7069
 
                    ;}
 
7203
                    }
7070
7204
    break;
7071
7205
 
7072
 
  case 217:
 
7206
  case 221:
7073
7207
 
7074
 
/* Line 1464 of yacc.c  */
7075
 
#line 2203 "parse.y"
 
7208
/* Line 1806 of yacc.c  */
 
7209
#line 2225 "parse.y"
7076
7210
    {
7077
7211
                    /*%%%*/
7078
7212
                        (yyval.node) = call_bin_op((yyvsp[(1) - (3)].node), tCMP, (yyvsp[(3) - (3)].node));
7079
7213
                    /*%
7080
7214
                        $$ = dispatch3(binary, $1, ripper_intern("<=>"), $3);
7081
7215
                    %*/
7082
 
                    ;}
 
7216
                    }
7083
7217
    break;
7084
7218
 
7085
 
  case 218:
 
7219
  case 222:
7086
7220
 
7087
 
/* Line 1464 of yacc.c  */
7088
 
#line 2211 "parse.y"
 
7221
/* Line 1806 of yacc.c  */
 
7222
#line 2233 "parse.y"
7089
7223
    {
7090
7224
                    /*%%%*/
7091
7225
                        (yyval.node) = call_bin_op((yyvsp[(1) - (3)].node), '>', (yyvsp[(3) - (3)].node));
7092
7226
                    /*%
7093
7227
                        $$ = dispatch3(binary, $1, ID2SYM('>'), $3);
7094
7228
                    %*/
7095
 
                    ;}
 
7229
                    }
7096
7230
    break;
7097
7231
 
7098
 
  case 219:
 
7232
  case 223:
7099
7233
 
7100
 
/* Line 1464 of yacc.c  */
7101
 
#line 2219 "parse.y"
 
7234
/* Line 1806 of yacc.c  */
 
7235
#line 2241 "parse.y"
7102
7236
    {
7103
7237
                    /*%%%*/
7104
7238
                        (yyval.node) = call_bin_op((yyvsp[(1) - (3)].node), tGEQ, (yyvsp[(3) - (3)].node));
7105
7239
                    /*%
7106
7240
                        $$ = dispatch3(binary, $1, ripper_intern(">="), $3);
7107
7241
                    %*/
7108
 
                    ;}
 
7242
                    }
7109
7243
    break;
7110
7244
 
7111
 
  case 220:
 
7245
  case 224:
7112
7246
 
7113
 
/* Line 1464 of yacc.c  */
7114
 
#line 2227 "parse.y"
 
7247
/* Line 1806 of yacc.c  */
 
7248
#line 2249 "parse.y"
7115
7249
    {
7116
7250
                    /*%%%*/
7117
7251
                        (yyval.node) = call_bin_op((yyvsp[(1) - (3)].node), '<', (yyvsp[(3) - (3)].node));
7118
7252
                    /*%
7119
7253
                        $$ = dispatch3(binary, $1, ID2SYM('<'), $3);
7120
7254
                    %*/
7121
 
                    ;}
 
7255
                    }
7122
7256
    break;
7123
7257
 
7124
 
  case 221:
 
7258
  case 225:
7125
7259
 
7126
 
/* Line 1464 of yacc.c  */
7127
 
#line 2235 "parse.y"
 
7260
/* Line 1806 of yacc.c  */
 
7261
#line 2257 "parse.y"
7128
7262
    {
7129
7263
                    /*%%%*/
7130
7264
                        (yyval.node) = call_bin_op((yyvsp[(1) - (3)].node), tLEQ, (yyvsp[(3) - (3)].node));
7131
7265
                    /*%
7132
7266
                        $$ = dispatch3(binary, $1, ripper_intern("<="), $3);
7133
7267
                    %*/
7134
 
                    ;}
 
7268
                    }
7135
7269
    break;
7136
7270
 
7137
 
  case 222:
 
7271
  case 226:
7138
7272
 
7139
 
/* Line 1464 of yacc.c  */
7140
 
#line 2243 "parse.y"
 
7273
/* Line 1806 of yacc.c  */
 
7274
#line 2265 "parse.y"
7141
7275
    {
7142
7276
                    /*%%%*/
7143
7277
                        (yyval.node) = call_bin_op((yyvsp[(1) - (3)].node), tEQ, (yyvsp[(3) - (3)].node));
7144
7278
                    /*%
7145
7279
                        $$ = dispatch3(binary, $1, ripper_intern("=="), $3);
7146
7280
                    %*/
7147
 
                    ;}
 
7281
                    }
7148
7282
    break;
7149
7283
 
7150
 
  case 223:
 
7284
  case 227:
7151
7285
 
7152
 
/* Line 1464 of yacc.c  */
7153
 
#line 2251 "parse.y"
 
7286
/* Line 1806 of yacc.c  */
 
7287
#line 2273 "parse.y"
7154
7288
    {
7155
7289
                    /*%%%*/
7156
7290
                        (yyval.node) = call_bin_op((yyvsp[(1) - (3)].node), tEQQ, (yyvsp[(3) - (3)].node));
7157
7291
                    /*%
7158
7292
                        $$ = dispatch3(binary, $1, ripper_intern("==="), $3);
7159
7293
                    %*/
7160
 
                    ;}
 
7294
                    }
7161
7295
    break;
7162
7296
 
7163
 
  case 224:
 
7297
  case 228:
7164
7298
 
7165
 
/* Line 1464 of yacc.c  */
7166
 
#line 2259 "parse.y"
 
7299
/* Line 1806 of yacc.c  */
 
7300
#line 2281 "parse.y"
7167
7301
    {
7168
7302
                    /*%%%*/
7169
7303
                        (yyval.node) = call_bin_op((yyvsp[(1) - (3)].node), tNEQ, (yyvsp[(3) - (3)].node));
7170
7304
                    /*%
7171
7305
                        $$ = dispatch3(binary, $1, ripper_intern("!="), $3);
7172
7306
                    %*/
7173
 
                    ;}
 
7307
                    }
7174
7308
    break;
7175
7309
 
7176
 
  case 225:
 
7310
  case 229:
7177
7311
 
7178
 
/* Line 1464 of yacc.c  */
7179
 
#line 2267 "parse.y"
 
7312
/* Line 1806 of yacc.c  */
 
7313
#line 2289 "parse.y"
7180
7314
    {
7181
7315
                    /*%%%*/
7182
7316
                        (yyval.node) = match_op((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
7186
7320
                    /*%
7187
7321
                        $$ = dispatch3(binary, $1, ripper_intern("=~"), $3);
7188
7322
                    %*/
7189
 
                    ;}
 
7323
                    }
7190
7324
    break;
7191
7325
 
7192
 
  case 226:
 
7326
  case 230:
7193
7327
 
7194
 
/* Line 1464 of yacc.c  */
7195
 
#line 2278 "parse.y"
 
7328
/* Line 1806 of yacc.c  */
 
7329
#line 2300 "parse.y"
7196
7330
    {
7197
7331
                    /*%%%*/
7198
7332
                        (yyval.node) = call_bin_op((yyvsp[(1) - (3)].node), tNMATCH, (yyvsp[(3) - (3)].node));
7199
7333
                    /*%
7200
7334
                        $$ = dispatch3(binary, $1, ripper_intern("!~"), $3);
7201
7335
                    %*/
7202
 
                    ;}
 
7336
                    }
7203
7337
    break;
7204
7338
 
7205
 
  case 227:
 
7339
  case 231:
7206
7340
 
7207
 
/* Line 1464 of yacc.c  */
7208
 
#line 2286 "parse.y"
 
7341
/* Line 1806 of yacc.c  */
 
7342
#line 2308 "parse.y"
7209
7343
    {
7210
7344
                    /*%%%*/
7211
7345
                        (yyval.node) = call_uni_op(cond((yyvsp[(2) - (2)].node)), '!');
7212
7346
                    /*%
7213
7347
                        $$ = dispatch2(unary, ID2SYM('!'), $2);
7214
7348
                    %*/
7215
 
                    ;}
 
7349
                    }
7216
7350
    break;
7217
7351
 
7218
 
  case 228:
 
7352
  case 232:
7219
7353
 
7220
 
/* Line 1464 of yacc.c  */
7221
 
#line 2294 "parse.y"
 
7354
/* Line 1806 of yacc.c  */
 
7355
#line 2316 "parse.y"
7222
7356
    {
7223
7357
                    /*%%%*/
7224
7358
                        (yyval.node) = call_uni_op((yyvsp[(2) - (2)].node), '~');
7225
7359
                    /*%
7226
7360
                        $$ = dispatch2(unary, ID2SYM('~'), $2);
7227
7361
                    %*/
7228
 
                    ;}
 
7362
                    }
7229
7363
    break;
7230
7364
 
7231
 
  case 229:
 
7365
  case 233:
7232
7366
 
7233
 
/* Line 1464 of yacc.c  */
7234
 
#line 2302 "parse.y"
 
7367
/* Line 1806 of yacc.c  */
 
7368
#line 2324 "parse.y"
7235
7369
    {
7236
7370
                    /*%%%*/
7237
7371
                        (yyval.node) = call_bin_op((yyvsp[(1) - (3)].node), tLSHFT, (yyvsp[(3) - (3)].node));
7238
7372
                    /*%
7239
7373
                        $$ = dispatch3(binary, $1, ripper_intern("<<"), $3);
7240
7374
                    %*/
7241
 
                    ;}
 
7375
                    }
7242
7376
    break;
7243
7377
 
7244
 
  case 230:
 
7378
  case 234:
7245
7379
 
7246
 
/* Line 1464 of yacc.c  */
7247
 
#line 2310 "parse.y"
 
7380
/* Line 1806 of yacc.c  */
 
7381
#line 2332 "parse.y"
7248
7382
    {
7249
7383
                    /*%%%*/
7250
7384
                        (yyval.node) = call_bin_op((yyvsp[(1) - (3)].node), tRSHFT, (yyvsp[(3) - (3)].node));
7251
7385
                    /*%
7252
7386
                        $$ = dispatch3(binary, $1, ripper_intern(">>"), $3);
7253
7387
                    %*/
7254
 
                    ;}
 
7388
                    }
7255
7389
    break;
7256
7390
 
7257
 
  case 231:
 
7391
  case 235:
7258
7392
 
7259
 
/* Line 1464 of yacc.c  */
7260
 
#line 2318 "parse.y"
 
7393
/* Line 1806 of yacc.c  */
 
7394
#line 2340 "parse.y"
7261
7395
    {
7262
7396
                    /*%%%*/
7263
7397
                        (yyval.node) = logop(NODE_AND, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
7264
7398
                    /*%
7265
7399
                        $$ = dispatch3(binary, $1, ripper_intern("&&"), $3);
7266
7400
                    %*/
7267
 
                    ;}
 
7401
                    }
7268
7402
    break;
7269
7403
 
7270
 
  case 232:
 
7404
  case 236:
7271
7405
 
7272
 
/* Line 1464 of yacc.c  */
7273
 
#line 2326 "parse.y"
 
7406
/* Line 1806 of yacc.c  */
 
7407
#line 2348 "parse.y"
7274
7408
    {
7275
7409
                    /*%%%*/
7276
7410
                        (yyval.node) = logop(NODE_OR, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
7277
7411
                    /*%
7278
7412
                        $$ = dispatch3(binary, $1, ripper_intern("||"), $3);
7279
7413
                    %*/
7280
 
                    ;}
7281
 
    break;
7282
 
 
7283
 
  case 233:
7284
 
 
7285
 
/* Line 1464 of yacc.c  */
7286
 
#line 2333 "parse.y"
7287
 
    {in_defined = 1;;}
7288
 
    break;
7289
 
 
7290
 
  case 234:
7291
 
 
7292
 
/* Line 1464 of yacc.c  */
7293
 
#line 2334 "parse.y"
 
7414
                    }
 
7415
    break;
 
7416
 
 
7417
  case 237:
 
7418
 
 
7419
/* Line 1806 of yacc.c  */
 
7420
#line 2355 "parse.y"
 
7421
    {in_defined = 1;}
 
7422
    break;
 
7423
 
 
7424
  case 238:
 
7425
 
 
7426
/* Line 1806 of yacc.c  */
 
7427
#line 2356 "parse.y"
7294
7428
    {
7295
7429
                    /*%%%*/
7296
7430
                        in_defined = 0;
7299
7433
                        in_defined = 0;
7300
7434
                        $$ = dispatch1(defined, $4);
7301
7435
                    %*/
7302
 
                    ;}
 
7436
                    }
7303
7437
    break;
7304
7438
 
7305
 
  case 235:
 
7439
  case 239:
7306
7440
 
7307
 
/* Line 1464 of yacc.c  */
7308
 
#line 2344 "parse.y"
 
7441
/* Line 1806 of yacc.c  */
 
7442
#line 2366 "parse.y"
7309
7443
    {
7310
7444
                    /*%%%*/
7311
7445
                        value_expr((yyvsp[(1) - (6)].node));
7314
7448
                    /*%
7315
7449
                        $$ = dispatch3(ifop, $1, $3, $6);
7316
7450
                    %*/
7317
 
                    ;}
7318
 
    break;
7319
 
 
7320
 
  case 236:
7321
 
 
7322
 
/* Line 1464 of yacc.c  */
7323
 
#line 2354 "parse.y"
7324
 
    {
7325
 
                        (yyval.node) = (yyvsp[(1) - (1)].node);
7326
 
                    ;}
7327
 
    break;
7328
 
 
7329
 
  case 237:
7330
 
 
7331
 
/* Line 1464 of yacc.c  */
7332
 
#line 2360 "parse.y"
7333
 
    {
7334
 
                    /*%%%*/
7335
 
                        value_expr((yyvsp[(1) - (1)].node));
7336
 
                        (yyval.node) = (yyvsp[(1) - (1)].node);
7337
 
                        if (!(yyval.node)) (yyval.node) = NEW_NIL();
7338
 
                    /*%
7339
 
                        $$ = $1;
7340
 
                    %*/
7341
 
                    ;}
7342
 
    break;
7343
 
 
7344
 
  case 239:
7345
 
 
7346
 
/* Line 1464 of yacc.c  */
7347
 
#line 2373 "parse.y"
7348
 
    {
7349
 
                        (yyval.node) = (yyvsp[(1) - (2)].node);
7350
 
                    ;}
 
7451
                    }
7351
7452
    break;
7352
7453
 
7353
7454
  case 240:
7354
7455
 
7355
 
/* Line 1464 of yacc.c  */
7356
 
#line 2377 "parse.y"
 
7456
/* Line 1806 of yacc.c  */
 
7457
#line 2376 "parse.y"
7357
7458
    {
7358
 
                    /*%%%*/
7359
 
                        (yyval.node) = arg_append((yyvsp[(1) - (4)].node), NEW_HASH((yyvsp[(3) - (4)].node)));
7360
 
                    /*%
7361
 
                        $$ = arg_add_assocs($1, $3);
7362
 
                    %*/
7363
 
                    ;}
 
7459
                        (yyval.node) = (yyvsp[(1) - (1)].node);
 
7460
                    }
7364
7461
    break;
7365
7462
 
7366
7463
  case 241:
7367
7464
 
7368
 
/* Line 1464 of yacc.c  */
7369
 
#line 2385 "parse.y"
 
7465
/* Line 1806 of yacc.c  */
 
7466
#line 2382 "parse.y"
7370
7467
    {
7371
7468
                    /*%%%*/
7372
 
                        (yyval.node) = NEW_LIST(NEW_HASH((yyvsp[(1) - (2)].node)));
 
7469
                        value_expr((yyvsp[(1) - (1)].node));
 
7470
                        (yyval.node) = (yyvsp[(1) - (1)].node);
 
7471
                        if (!(yyval.node)) (yyval.node) = NEW_NIL();
7373
7472
                    /*%
7374
 
                        $$ = arg_add_assocs(arg_new(), $1);
 
7473
                        $$ = $1;
7375
7474
                    %*/
7376
 
                    ;}
 
7475
                    }
7377
7476
    break;
7378
7477
 
7379
 
  case 242:
 
7478
  case 243:
7380
7479
 
7381
 
/* Line 1464 of yacc.c  */
 
7480
/* Line 1806 of yacc.c  */
7382
7481
#line 2395 "parse.y"
7383
7482
    {
 
7483
                        (yyval.node) = (yyvsp[(1) - (2)].node);
 
7484
                    }
 
7485
    break;
 
7486
 
 
7487
  case 244:
 
7488
 
 
7489
/* Line 1806 of yacc.c  */
 
7490
#line 2399 "parse.y"
 
7491
    {
 
7492
                    /*%%%*/
 
7493
                        (yyval.node) = arg_append((yyvsp[(1) - (4)].node), NEW_HASH((yyvsp[(3) - (4)].node)));
 
7494
                    /*%
 
7495
                        $$ = arg_add_assocs($1, $3);
 
7496
                    %*/
 
7497
                    }
 
7498
    break;
 
7499
 
 
7500
  case 245:
 
7501
 
 
7502
/* Line 1806 of yacc.c  */
 
7503
#line 2407 "parse.y"
 
7504
    {
 
7505
                    /*%%%*/
 
7506
                        (yyval.node) = NEW_LIST(NEW_HASH((yyvsp[(1) - (2)].node)));
 
7507
                    /*%
 
7508
                        $$ = arg_add_assocs(arg_new(), $1);
 
7509
                    %*/
 
7510
                    }
 
7511
    break;
 
7512
 
 
7513
  case 246:
 
7514
 
 
7515
/* Line 1806 of yacc.c  */
 
7516
#line 2417 "parse.y"
 
7517
    {
7384
7518
                    /*%%%*/
7385
7519
                        (yyval.node) = (yyvsp[(2) - (3)].node);
7386
7520
                    /*%
7387
7521
                        $$ = dispatch1(arg_paren, escape_Qundef($2));
7388
7522
                    %*/
7389
 
                    ;}
7390
 
    break;
7391
 
 
7392
 
  case 247:
7393
 
 
7394
 
/* Line 1464 of yacc.c  */
7395
 
#line 2413 "parse.y"
 
7523
                    }
 
7524
    break;
 
7525
 
 
7526
  case 251:
 
7527
 
 
7528
/* Line 1806 of yacc.c  */
 
7529
#line 2433 "parse.y"
 
7530
    {
 
7531
                      (yyval.node) = (yyvsp[(1) - (2)].node);
 
7532
                    }
 
7533
    break;
 
7534
 
 
7535
  case 252:
 
7536
 
 
7537
/* Line 1806 of yacc.c  */
 
7538
#line 2437 "parse.y"
 
7539
    {
 
7540
                    /*%%%*/
 
7541
                        (yyval.node) = arg_append((yyvsp[(1) - (4)].node), NEW_HASH((yyvsp[(3) - (4)].node)));
 
7542
                    /*%
 
7543
                        $$ = arg_add_assocs($1, $3);
 
7544
                    %*/
 
7545
                    }
 
7546
    break;
 
7547
 
 
7548
  case 253:
 
7549
 
 
7550
/* Line 1806 of yacc.c  */
 
7551
#line 2445 "parse.y"
 
7552
    {
 
7553
                    /*%%%*/
 
7554
                        (yyval.node) = NEW_LIST(NEW_HASH((yyvsp[(1) - (2)].node)));
 
7555
                    /*%
 
7556
                        $$ = arg_add_assocs(arg_new(), $1);
 
7557
                    %*/
 
7558
                    }
 
7559
    break;
 
7560
 
 
7561
  case 254:
 
7562
 
 
7563
/* Line 1806 of yacc.c  */
 
7564
#line 2455 "parse.y"
7396
7565
    {
7397
7566
                    /*%%%*/
7398
7567
                        value_expr((yyvsp[(1) - (1)].node));
7400
7569
                    /*%
7401
7570
                        $$ = arg_add(arg_new(), $1);
7402
7571
                    %*/
7403
 
                    ;}
 
7572
                    }
7404
7573
    break;
7405
7574
 
7406
 
  case 248:
 
7575
  case 255:
7407
7576
 
7408
 
/* Line 1464 of yacc.c  */
7409
 
#line 2422 "parse.y"
 
7577
/* Line 1806 of yacc.c  */
 
7578
#line 2464 "parse.y"
7410
7579
    {
7411
7580
                    /*%%%*/
7412
7581
                        (yyval.node) = arg_blk_pass((yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node));
7413
7582
                    /*%
7414
7583
                        $$ = arg_add_optblock($1, $2);
7415
7584
                    %*/
7416
 
                    ;}
 
7585
                    }
7417
7586
    break;
7418
7587
 
7419
 
  case 249:
 
7588
  case 256:
7420
7589
 
7421
 
/* Line 1464 of yacc.c  */
7422
 
#line 2430 "parse.y"
 
7590
/* Line 1806 of yacc.c  */
 
7591
#line 2472 "parse.y"
7423
7592
    {
7424
7593
                    /*%%%*/
7425
7594
                        (yyval.node) = NEW_LIST(NEW_HASH((yyvsp[(1) - (2)].node)));
7428
7597
                        $$ = arg_add_assocs(arg_new(), $1);
7429
7598
                        $$ = arg_add_optblock($$, $2);
7430
7599
                    %*/
7431
 
                    ;}
 
7600
                    }
7432
7601
    break;
7433
7602
 
7434
 
  case 250:
 
7603
  case 257:
7435
7604
 
7436
 
/* Line 1464 of yacc.c  */
7437
 
#line 2440 "parse.y"
 
7605
/* Line 1806 of yacc.c  */
 
7606
#line 2482 "parse.y"
7438
7607
    {
7439
7608
                    /*%%%*/
7440
7609
                        (yyval.node) = arg_append((yyvsp[(1) - (4)].node), NEW_HASH((yyvsp[(3) - (4)].node)));
7442
7611
                    /*%
7443
7612
                        $$ = arg_add_optblock(arg_add_assocs($1, $3), $4);
7444
7613
                    %*/
7445
 
                    ;}
 
7614
                    }
7446
7615
    break;
7447
7616
 
7448
 
  case 252:
 
7617
  case 259:
7449
7618
 
7450
 
/* Line 1464 of yacc.c  */
7451
 
#line 2457 "parse.y"
 
7619
/* Line 1806 of yacc.c  */
 
7620
#line 2499 "parse.y"
7452
7621
    {
7453
7622
                        (yyval.val) = cmdarg_stack;
7454
7623
                        CMDARG_PUSH(1);
7455
 
                    ;}
 
7624
                    }
7456
7625
    break;
7457
7626
 
7458
 
  case 253:
 
7627
  case 260:
7459
7628
 
7460
 
/* Line 1464 of yacc.c  */
7461
 
#line 2462 "parse.y"
 
7629
/* Line 1806 of yacc.c  */
 
7630
#line 2504 "parse.y"
7462
7631
    {
7463
7632
                        /* CMDARG_POP() */
7464
7633
                        cmdarg_stack = (yyvsp[(1) - (2)].val);
7465
7634
                        (yyval.node) = (yyvsp[(2) - (2)].node);
7466
 
                    ;}
 
7635
                    }
7467
7636
    break;
7468
7637
 
7469
 
  case 254:
 
7638
  case 261:
7470
7639
 
7471
 
/* Line 1464 of yacc.c  */
7472
 
#line 2470 "parse.y"
 
7640
/* Line 1806 of yacc.c  */
 
7641
#line 2512 "parse.y"
7473
7642
    {
7474
7643
                    /*%%%*/
7475
7644
                        (yyval.node) = NEW_BLOCK_PASS((yyvsp[(2) - (2)].node));
7476
7645
                    /*%
7477
7646
                        $$ = $2;
7478
7647
                    %*/
7479
 
                    ;}
 
7648
                    }
7480
7649
    break;
7481
7650
 
7482
 
  case 255:
 
7651
  case 262:
7483
7652
 
7484
 
/* Line 1464 of yacc.c  */
7485
 
#line 2480 "parse.y"
 
7653
/* Line 1806 of yacc.c  */
 
7654
#line 2522 "parse.y"
7486
7655
    {
7487
7656
                        (yyval.node) = (yyvsp[(2) - (2)].node);
7488
 
                    ;}
7489
 
    break;
7490
 
 
7491
 
  case 256:
7492
 
 
7493
 
/* Line 1464 of yacc.c  */
7494
 
#line 2484 "parse.y"
7495
 
    {
7496
 
                        (yyval.node) = 0;
7497
 
                    ;}
7498
 
    break;
7499
 
 
7500
 
  case 257:
7501
 
 
7502
 
/* Line 1464 of yacc.c  */
7503
 
#line 2488 "parse.y"
7504
 
    {
7505
 
                        (yyval.node) = 0;
7506
 
                    ;}
7507
 
    break;
7508
 
 
7509
 
  case 258:
7510
 
 
7511
 
/* Line 1464 of yacc.c  */
7512
 
#line 2494 "parse.y"
 
7657
                    }
 
7658
    break;
 
7659
 
 
7660
  case 263:
 
7661
 
 
7662
/* Line 1806 of yacc.c  */
 
7663
#line 2526 "parse.y"
 
7664
    {
 
7665
                        (yyval.node) = 0;
 
7666
                    }
 
7667
    break;
 
7668
 
 
7669
  case 264:
 
7670
 
 
7671
/* Line 1806 of yacc.c  */
 
7672
#line 2532 "parse.y"
7513
7673
    {
7514
7674
                    /*%%%*/
7515
7675
                        (yyval.node) = NEW_LIST((yyvsp[(1) - (1)].node));
7516
7676
                    /*%
7517
7677
                        $$ = arg_add(arg_new(), $1);
7518
7678
                    %*/
7519
 
                    ;}
 
7679
                    }
7520
7680
    break;
7521
7681
 
7522
 
  case 259:
 
7682
  case 265:
7523
7683
 
7524
 
/* Line 1464 of yacc.c  */
7525
 
#line 2502 "parse.y"
 
7684
/* Line 1806 of yacc.c  */
 
7685
#line 2540 "parse.y"
7526
7686
    {
7527
7687
                    /*%%%*/
7528
7688
                        (yyval.node) = NEW_SPLAT((yyvsp[(2) - (2)].node));
7529
7689
                    /*%
7530
7690
                        $$ = arg_add_star(arg_new(), $2);
7531
7691
                    %*/
7532
 
                    ;}
 
7692
                    }
7533
7693
    break;
7534
7694
 
7535
 
  case 260:
 
7695
  case 266:
7536
7696
 
7537
 
/* Line 1464 of yacc.c  */
7538
 
#line 2510 "parse.y"
 
7697
/* Line 1806 of yacc.c  */
 
7698
#line 2548 "parse.y"
7539
7699
    {
7540
7700
                    /*%%%*/
7541
7701
                        NODE *n1;
7548
7708
                    /*%
7549
7709
                        $$ = arg_add($1, $3);
7550
7710
                    %*/
7551
 
                    ;}
 
7711
                    }
7552
7712
    break;
7553
7713
 
7554
 
  case 261:
 
7714
  case 267:
7555
7715
 
7556
 
/* Line 1464 of yacc.c  */
7557
 
#line 2524 "parse.y"
 
7716
/* Line 1806 of yacc.c  */
 
7717
#line 2562 "parse.y"
7558
7718
    {
7559
7719
                    /*%%%*/
7560
7720
                        NODE *n1;
7567
7727
                    /*%
7568
7728
                        $$ = arg_add_star($1, $4);
7569
7729
                    %*/
7570
 
                    ;}
 
7730
                    }
7571
7731
    break;
7572
7732
 
7573
 
  case 262:
 
7733
  case 268:
7574
7734
 
7575
 
/* Line 1464 of yacc.c  */
7576
 
#line 2540 "parse.y"
 
7735
/* Line 1806 of yacc.c  */
 
7736
#line 2578 "parse.y"
7577
7737
    {
7578
7738
                    /*%%%*/
7579
7739
                        NODE *n1;
7586
7746
                    /*%
7587
7747
                        $$ = mrhs_add(args2mrhs($1), $3);
7588
7748
                    %*/
7589
 
                    ;}
 
7749
                    }
7590
7750
    break;
7591
7751
 
7592
 
  case 263:
 
7752
  case 269:
7593
7753
 
7594
 
/* Line 1464 of yacc.c  */
7595
 
#line 2554 "parse.y"
 
7754
/* Line 1806 of yacc.c  */
 
7755
#line 2592 "parse.y"
7596
7756
    {
7597
7757
                    /*%%%*/
7598
7758
                        NODE *n1;
7606
7766
                    /*%
7607
7767
                        $$ = mrhs_add_star(args2mrhs($1), $4);
7608
7768
                    %*/
7609
 
                    ;}
 
7769
                    }
7610
7770
    break;
7611
7771
 
7612
 
  case 264:
 
7772
  case 270:
7613
7773
 
7614
 
/* Line 1464 of yacc.c  */
7615
 
#line 2569 "parse.y"
 
7774
/* Line 1806 of yacc.c  */
 
7775
#line 2607 "parse.y"
7616
7776
    {
7617
7777
                    /*%%%*/
7618
7778
                        (yyval.node) = NEW_SPLAT((yyvsp[(2) - (2)].node));
7619
7779
                    /*%
7620
7780
                        $$ = mrhs_add_star(mrhs_new(), $2);
7621
7781
                    %*/
7622
 
                    ;}
 
7782
                    }
7623
7783
    break;
7624
7784
 
7625
 
  case 273:
 
7785
  case 279:
7626
7786
 
7627
 
/* Line 1464 of yacc.c  */
7628
 
#line 2587 "parse.y"
 
7787
/* Line 1806 of yacc.c  */
 
7788
#line 2625 "parse.y"
7629
7789
    {
7630
7790
                    /*%%%*/
7631
7791
                        (yyval.node) = NEW_FCALL((yyvsp[(1) - (1)].id), 0);
7632
7792
                    /*%
7633
7793
                        $$ = method_arg(dispatch1(fcall, $1), arg_new());
7634
7794
                    %*/
7635
 
                    ;}
 
7795
                    }
7636
7796
    break;
7637
7797
 
7638
 
  case 274:
 
7798
  case 280:
7639
7799
 
7640
 
/* Line 1464 of yacc.c  */
7641
 
#line 2595 "parse.y"
 
7800
/* Line 1806 of yacc.c  */
 
7801
#line 2633 "parse.y"
7642
7802
    {
7643
7803
                    /*%%%*/
7644
7804
                        (yyval.num) = ruby_sourceline;
7645
7805
                    /*%
7646
7806
                    %*/
7647
 
                    ;}
 
7807
                    }
7648
7808
    break;
7649
7809
 
7650
 
  case 275:
 
7810
  case 281:
7651
7811
 
7652
 
/* Line 1464 of yacc.c  */
7653
 
#line 2603 "parse.y"
 
7812
/* Line 1806 of yacc.c  */
 
7813
#line 2641 "parse.y"
7654
7814
    {
7655
7815
                    /*%%%*/
7656
7816
                        if ((yyvsp[(3) - (4)].node) == NULL) {
7666
7826
                    /*%
7667
7827
                        $$ = dispatch1(begin, $3);
7668
7828
                    %*/
7669
 
                    ;}
7670
 
    break;
7671
 
 
7672
 
  case 276:
7673
 
 
7674
 
/* Line 1464 of yacc.c  */
7675
 
#line 2619 "parse.y"
7676
 
    {lex_state = EXPR_ENDARG;;}
7677
 
    break;
7678
 
 
7679
 
  case 277:
7680
 
 
7681
 
/* Line 1464 of yacc.c  */
7682
 
#line 2620 "parse.y"
 
7829
                    }
 
7830
    break;
 
7831
 
 
7832
  case 282:
 
7833
 
 
7834
/* Line 1806 of yacc.c  */
 
7835
#line 2657 "parse.y"
 
7836
    {lex_state = EXPR_ENDARG;}
 
7837
    break;
 
7838
 
 
7839
  case 283:
 
7840
 
 
7841
/* Line 1806 of yacc.c  */
 
7842
#line 2658 "parse.y"
7683
7843
    {
7684
7844
                        rb_warning0("(...) interpreted as grouped expression");
7685
7845
                    /*%%%*/
7687
7847
                    /*%
7688
7848
                        $$ = dispatch1(paren, $2);
7689
7849
                    %*/
7690
 
                    ;}
 
7850
                    }
7691
7851
    break;
7692
7852
 
7693
 
  case 278:
 
7853
  case 284:
7694
7854
 
7695
 
/* Line 1464 of yacc.c  */
7696
 
#line 2629 "parse.y"
 
7855
/* Line 1806 of yacc.c  */
 
7856
#line 2667 "parse.y"
7697
7857
    {
7698
7858
                    /*%%%*/
7699
7859
                        (yyval.node) = (yyvsp[(2) - (3)].node);
7700
7860
                    /*%
7701
7861
                        $$ = dispatch1(paren, $2);
7702
7862
                    %*/
7703
 
                    ;}
 
7863
                    }
7704
7864
    break;
7705
7865
 
7706
 
  case 279:
 
7866
  case 285:
7707
7867
 
7708
 
/* Line 1464 of yacc.c  */
7709
 
#line 2637 "parse.y"
 
7868
/* Line 1806 of yacc.c  */
 
7869
#line 2675 "parse.y"
7710
7870
    {
7711
7871
                    /*%%%*/
7712
7872
                        (yyval.node) = NEW_COLON2((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].id));
7713
7873
                    /*%
7714
7874
                        $$ = dispatch2(const_path_ref, $1, $3);
7715
7875
                    %*/
7716
 
                    ;}
 
7876
                    }
7717
7877
    break;
7718
7878
 
7719
 
  case 280:
 
7879
  case 286:
7720
7880
 
7721
 
/* Line 1464 of yacc.c  */
7722
 
#line 2645 "parse.y"
 
7881
/* Line 1806 of yacc.c  */
 
7882
#line 2683 "parse.y"
7723
7883
    {
7724
7884
                    /*%%%*/
7725
7885
                        (yyval.node) = NEW_COLON3((yyvsp[(2) - (2)].id));
7726
7886
                    /*%
7727
7887
                        $$ = dispatch1(top_const_ref, $2);
7728
7888
                    %*/
7729
 
                    ;}
 
7889
                    }
7730
7890
    break;
7731
7891
 
7732
 
  case 281:
 
7892
  case 287:
7733
7893
 
7734
 
/* Line 1464 of yacc.c  */
7735
 
#line 2653 "parse.y"
 
7894
/* Line 1806 of yacc.c  */
 
7895
#line 2691 "parse.y"
7736
7896
    {
7737
7897
                    /*%%%*/
7738
7898
                        if ((yyvsp[(2) - (3)].node) == 0) {
7744
7904
                    /*%
7745
7905
                        $$ = dispatch1(array, escape_Qundef($2));
7746
7906
                    %*/
7747
 
                    ;}
 
7907
                    }
7748
7908
    break;
7749
7909
 
7750
 
  case 282:
 
7910
  case 288:
7751
7911
 
7752
 
/* Line 1464 of yacc.c  */
7753
 
#line 2666 "parse.y"
 
7912
/* Line 1806 of yacc.c  */
 
7913
#line 2704 "parse.y"
7754
7914
    {
7755
7915
                    /*%%%*/
7756
7916
                        (yyval.node) = NEW_HASH((yyvsp[(2) - (3)].node));
7757
7917
                    /*%
7758
7918
                        $$ = dispatch1(hash, escape_Qundef($2));
7759
7919
                    %*/
7760
 
                    ;}
 
7920
                    }
7761
7921
    break;
7762
7922
 
7763
 
  case 283:
 
7923
  case 289:
7764
7924
 
7765
 
/* Line 1464 of yacc.c  */
7766
 
#line 2674 "parse.y"
 
7925
/* Line 1806 of yacc.c  */
 
7926
#line 2712 "parse.y"
7767
7927
    {
7768
7928
                    /*%%%*/
7769
7929
                        (yyval.node) = NEW_RETURN(0);
7770
7930
                    /*%
7771
7931
                        $$ = dispatch0(return0);
7772
7932
                    %*/
7773
 
                    ;}
 
7933
                    }
7774
7934
    break;
7775
7935
 
7776
 
  case 284:
 
7936
  case 290:
7777
7937
 
7778
 
/* Line 1464 of yacc.c  */
7779
 
#line 2682 "parse.y"
 
7938
/* Line 1806 of yacc.c  */
 
7939
#line 2720 "parse.y"
7780
7940
    {
7781
7941
                    /*%%%*/
7782
7942
                        (yyval.node) = new_yield((yyvsp[(3) - (4)].node));
7783
7943
                    /*%
7784
7944
                        $$ = dispatch1(yield, dispatch1(paren, $3));
7785
7945
                    %*/
7786
 
                    ;}
 
7946
                    }
7787
7947
    break;
7788
7948
 
7789
 
  case 285:
 
7949
  case 291:
7790
7950
 
7791
 
/* Line 1464 of yacc.c  */
7792
 
#line 2690 "parse.y"
 
7951
/* Line 1806 of yacc.c  */
 
7952
#line 2728 "parse.y"
7793
7953
    {
7794
7954
                    /*%%%*/
7795
7955
                        (yyval.node) = NEW_YIELD(0, Qfalse);
7796
7956
                    /*%
7797
7957
                        $$ = dispatch1(yield, dispatch1(paren, arg_new()));
7798
7958
                    %*/
7799
 
                    ;}
 
7959
                    }
7800
7960
    break;
7801
7961
 
7802
 
  case 286:
 
7962
  case 292:
7803
7963
 
7804
 
/* Line 1464 of yacc.c  */
7805
 
#line 2698 "parse.y"
 
7964
/* Line 1806 of yacc.c  */
 
7965
#line 2736 "parse.y"
7806
7966
    {
7807
7967
                    /*%%%*/
7808
7968
                        (yyval.node) = NEW_YIELD(0, Qfalse);
7809
7969
                    /*%
7810
7970
                        $$ = dispatch0(yield0);
7811
7971
                    %*/
7812
 
                    ;}
7813
 
    break;
7814
 
 
7815
 
  case 287:
7816
 
 
7817
 
/* Line 1464 of yacc.c  */
7818
 
#line 2705 "parse.y"
7819
 
    {in_defined = 1;;}
7820
 
    break;
7821
 
 
7822
 
  case 288:
7823
 
 
7824
 
/* Line 1464 of yacc.c  */
7825
 
#line 2706 "parse.y"
 
7972
                    }
 
7973
    break;
 
7974
 
 
7975
  case 293:
 
7976
 
 
7977
/* Line 1806 of yacc.c  */
 
7978
#line 2743 "parse.y"
 
7979
    {in_defined = 1;}
 
7980
    break;
 
7981
 
 
7982
  case 294:
 
7983
 
 
7984
/* Line 1806 of yacc.c  */
 
7985
#line 2744 "parse.y"
7826
7986
    {
7827
7987
                    /*%%%*/
7828
7988
                        in_defined = 0;
7831
7991
                        in_defined = 0;
7832
7992
                        $$ = dispatch1(defined, $5);
7833
7993
                    %*/
7834
 
                    ;}
 
7994
                    }
7835
7995
    break;
7836
7996
 
7837
 
  case 289:
 
7997
  case 295:
7838
7998
 
7839
 
/* Line 1464 of yacc.c  */
7840
 
#line 2716 "parse.y"
 
7999
/* Line 1806 of yacc.c  */
 
8000
#line 2754 "parse.y"
7841
8001
    {
7842
8002
                    /*%%%*/
7843
8003
                        (yyval.node) = call_uni_op(cond((yyvsp[(3) - (4)].node)), '!');
7844
8004
                    /*%
7845
8005
                        $$ = dispatch2(unary, ripper_intern("not"), $3);
7846
8006
                    %*/
7847
 
                    ;}
 
8007
                    }
7848
8008
    break;
7849
8009
 
7850
 
  case 290:
 
8010
  case 296:
7851
8011
 
7852
 
/* Line 1464 of yacc.c  */
7853
 
#line 2724 "parse.y"
 
8012
/* Line 1806 of yacc.c  */
 
8013
#line 2762 "parse.y"
7854
8014
    {
7855
8015
                    /*%%%*/
7856
8016
                        (yyval.node) = call_uni_op(cond(NEW_NIL()), '!');
7857
8017
                    /*%
7858
8018
                        $$ = dispatch2(unary, ripper_intern("not"), Qnil);
7859
8019
                    %*/
7860
 
                    ;}
 
8020
                    }
7861
8021
    break;
7862
8022
 
7863
 
  case 291:
 
8023
  case 297:
7864
8024
 
7865
 
/* Line 1464 of yacc.c  */
7866
 
#line 2732 "parse.y"
 
8025
/* Line 1806 of yacc.c  */
 
8026
#line 2770 "parse.y"
7867
8027
    {
7868
8028
                    /*%%%*/
7869
8029
                        (yyvsp[(2) - (2)].node)->nd_iter = NEW_FCALL((yyvsp[(1) - (2)].id), 0);
7873
8033
                        $$ = method_arg(dispatch1(fcall, $1), arg_new());
7874
8034
                        $$ = method_add_block($$, $2);
7875
8035
                    %*/
7876
 
                    ;}
 
8036
                    }
7877
8037
    break;
7878
8038
 
7879
 
  case 293:
 
8039
  case 299:
7880
8040
 
7881
 
/* Line 1464 of yacc.c  */
7882
 
#line 2744 "parse.y"
 
8041
/* Line 1806 of yacc.c  */
 
8042
#line 2782 "parse.y"
7883
8043
    {
7884
8044
                    /*%%%*/
7885
8045
                        block_dup_check((yyvsp[(1) - (2)].node)->nd_args, (yyvsp[(2) - (2)].node));
7889
8049
                    /*%
7890
8050
                        $$ = method_add_block($1, $2);
7891
8051
                    %*/
7892
 
                    ;}
 
8052
                    }
7893
8053
    break;
7894
8054
 
7895
 
  case 294:
 
8055
  case 300:
7896
8056
 
7897
 
/* Line 1464 of yacc.c  */
7898
 
#line 2755 "parse.y"
 
8057
/* Line 1806 of yacc.c  */
 
8058
#line 2793 "parse.y"
7899
8059
    {
7900
8060
                        (yyval.node) = (yyvsp[(2) - (2)].node);
7901
 
                    ;}
 
8061
                    }
7902
8062
    break;
7903
8063
 
7904
 
  case 295:
 
8064
  case 301:
7905
8065
 
7906
 
/* Line 1464 of yacc.c  */
7907
 
#line 2762 "parse.y"
 
8066
/* Line 1806 of yacc.c  */
 
8067
#line 2800 "parse.y"
7908
8068
    {
7909
8069
                    /*%%%*/
7910
8070
                        (yyval.node) = NEW_IF(cond((yyvsp[(2) - (6)].node)), (yyvsp[(4) - (6)].node), (yyvsp[(5) - (6)].node));
7912
8072
                    /*%
7913
8073
                        $$ = dispatch3(if, $2, $4, escape_Qundef($5));
7914
8074
                    %*/
7915
 
                    ;}
 
8075
                    }
7916
8076
    break;
7917
8077
 
7918
 
  case 296:
 
8078
  case 302:
7919
8079
 
7920
 
/* Line 1464 of yacc.c  */
7921
 
#line 2774 "parse.y"
 
8080
/* Line 1806 of yacc.c  */
 
8081
#line 2812 "parse.y"
7922
8082
    {
7923
8083
                    /*%%%*/
7924
8084
                        (yyval.node) = NEW_UNLESS(cond((yyvsp[(2) - (6)].node)), (yyvsp[(4) - (6)].node), (yyvsp[(5) - (6)].node));
7926
8086
                    /*%
7927
8087
                        $$ = dispatch3(unless, $2, $4, escape_Qundef($5));
7928
8088
                    %*/
7929
 
                    ;}
7930
 
    break;
7931
 
 
7932
 
  case 297:
7933
 
 
7934
 
/* Line 1464 of yacc.c  */
7935
 
#line 2782 "parse.y"
7936
 
    {COND_PUSH(1);;}
7937
 
    break;
7938
 
 
7939
 
  case 298:
7940
 
 
7941
 
/* Line 1464 of yacc.c  */
7942
 
#line 2782 "parse.y"
7943
 
    {COND_POP();;}
7944
 
    break;
7945
 
 
7946
 
  case 299:
7947
 
 
7948
 
/* Line 1464 of yacc.c  */
7949
 
#line 2785 "parse.y"
 
8089
                    }
 
8090
    break;
 
8091
 
 
8092
  case 303:
 
8093
 
 
8094
/* Line 1806 of yacc.c  */
 
8095
#line 2820 "parse.y"
 
8096
    {COND_PUSH(1);}
 
8097
    break;
 
8098
 
 
8099
  case 304:
 
8100
 
 
8101
/* Line 1806 of yacc.c  */
 
8102
#line 2820 "parse.y"
 
8103
    {COND_POP();}
 
8104
    break;
 
8105
 
 
8106
  case 305:
 
8107
 
 
8108
/* Line 1806 of yacc.c  */
 
8109
#line 2823 "parse.y"
7950
8110
    {
7951
8111
                    /*%%%*/
7952
8112
                        (yyval.node) = NEW_WHILE(cond((yyvsp[(3) - (7)].node)), (yyvsp[(6) - (7)].node), 1);
7954
8114
                    /*%
7955
8115
                        $$ = dispatch2(while, $3, $6);
7956
8116
                    %*/
7957
 
                    ;}
7958
 
    break;
7959
 
 
7960
 
  case 300:
7961
 
 
7962
 
/* Line 1464 of yacc.c  */
7963
 
#line 2793 "parse.y"
7964
 
    {COND_PUSH(1);;}
7965
 
    break;
7966
 
 
7967
 
  case 301:
7968
 
 
7969
 
/* Line 1464 of yacc.c  */
7970
 
#line 2793 "parse.y"
7971
 
    {COND_POP();;}
7972
 
    break;
7973
 
 
7974
 
  case 302:
7975
 
 
7976
 
/* Line 1464 of yacc.c  */
7977
 
#line 2796 "parse.y"
 
8117
                    }
 
8118
    break;
 
8119
 
 
8120
  case 306:
 
8121
 
 
8122
/* Line 1806 of yacc.c  */
 
8123
#line 2831 "parse.y"
 
8124
    {COND_PUSH(1);}
 
8125
    break;
 
8126
 
 
8127
  case 307:
 
8128
 
 
8129
/* Line 1806 of yacc.c  */
 
8130
#line 2831 "parse.y"
 
8131
    {COND_POP();}
 
8132
    break;
 
8133
 
 
8134
  case 308:
 
8135
 
 
8136
/* Line 1806 of yacc.c  */
 
8137
#line 2834 "parse.y"
7978
8138
    {
7979
8139
                    /*%%%*/
7980
8140
                        (yyval.node) = NEW_UNTIL(cond((yyvsp[(3) - (7)].node)), (yyvsp[(6) - (7)].node), 1);
7982
8142
                    /*%
7983
8143
                        $$ = dispatch2(until, $3, $6);
7984
8144
                    %*/
7985
 
                    ;}
 
8145
                    }
7986
8146
    break;
7987
8147
 
7988
 
  case 303:
 
8148
  case 309:
7989
8149
 
7990
 
/* Line 1464 of yacc.c  */
7991
 
#line 2807 "parse.y"
 
8150
/* Line 1806 of yacc.c  */
 
8151
#line 2845 "parse.y"
7992
8152
    {
7993
8153
                    /*%%%*/
7994
8154
                        (yyval.node) = NEW_CASE((yyvsp[(2) - (5)].node), (yyvsp[(4) - (5)].node));
7996
8156
                    /*%
7997
8157
                        $$ = dispatch2(case, $2, $4);
7998
8158
                    %*/
7999
 
                    ;}
 
8159
                    }
8000
8160
    break;
8001
8161
 
8002
 
  case 304:
 
8162
  case 310:
8003
8163
 
8004
 
/* Line 1464 of yacc.c  */
8005
 
#line 2816 "parse.y"
 
8164
/* Line 1806 of yacc.c  */
 
8165
#line 2854 "parse.y"
8006
8166
    {
8007
8167
                    /*%%%*/
8008
8168
                        (yyval.node) = NEW_CASE(0, (yyvsp[(3) - (4)].node));
8009
8169
                    /*%
8010
8170
                        $$ = dispatch2(case, Qnil, $3);
8011
8171
                    %*/
8012
 
                    ;}
8013
 
    break;
8014
 
 
8015
 
  case 305:
8016
 
 
8017
 
/* Line 1464 of yacc.c  */
8018
 
#line 2824 "parse.y"
8019
 
    {COND_PUSH(1);;}
8020
 
    break;
8021
 
 
8022
 
  case 306:
8023
 
 
8024
 
/* Line 1464 of yacc.c  */
8025
 
#line 2826 "parse.y"
8026
 
    {COND_POP();;}
8027
 
    break;
8028
 
 
8029
 
  case 307:
8030
 
 
8031
 
/* Line 1464 of yacc.c  */
8032
 
#line 2829 "parse.y"
 
8172
                    }
 
8173
    break;
 
8174
 
 
8175
  case 311:
 
8176
 
 
8177
/* Line 1806 of yacc.c  */
 
8178
#line 2862 "parse.y"
 
8179
    {COND_PUSH(1);}
 
8180
    break;
 
8181
 
 
8182
  case 312:
 
8183
 
 
8184
/* Line 1806 of yacc.c  */
 
8185
#line 2864 "parse.y"
 
8186
    {COND_POP();}
 
8187
    break;
 
8188
 
 
8189
  case 313:
 
8190
 
 
8191
/* Line 1806 of yacc.c  */
 
8192
#line 2867 "parse.y"
8033
8193
    {
8034
8194
                    /*%%%*/
8035
8195
                        /*
8089
8249
                    /*%
8090
8250
                        $$ = dispatch3(for, $2, $5, $8);
8091
8251
                    %*/
8092
 
                    ;}
 
8252
                    }
8093
8253
    break;
8094
8254
 
8095
 
  case 308:
 
8255
  case 314:
8096
8256
 
8097
 
/* Line 1464 of yacc.c  */
8098
 
#line 2890 "parse.y"
 
8257
/* Line 1806 of yacc.c  */
 
8258
#line 2928 "parse.y"
8099
8259
    {
8100
8260
                        if (in_def || in_single)
8101
8261
                            yyerror("class definition in method body");
8104
8264
                        (yyval.num) = ruby_sourceline;
8105
8265
                    /*%
8106
8266
                    %*/
8107
 
                    ;}
 
8267
                    }
8108
8268
    break;
8109
8269
 
8110
 
  case 309:
 
8270
  case 315:
8111
8271
 
8112
 
/* Line 1464 of yacc.c  */
8113
 
#line 2901 "parse.y"
 
8272
/* Line 1806 of yacc.c  */
 
8273
#line 2939 "parse.y"
8114
8274
    {
8115
8275
                    /*%%%*/
8116
8276
                        (yyval.node) = NEW_CLASS((yyvsp[(2) - (6)].node), (yyvsp[(5) - (6)].node), (yyvsp[(3) - (6)].node));
8119
8279
                        $$ = dispatch3(class, $2, $3, $5);
8120
8280
                    %*/
8121
8281
                        local_pop();
8122
 
                    ;}
 
8282
                    }
8123
8283
    break;
8124
8284
 
8125
 
  case 310:
 
8285
  case 316:
8126
8286
 
8127
 
/* Line 1464 of yacc.c  */
8128
 
#line 2911 "parse.y"
 
8287
/* Line 1806 of yacc.c  */
 
8288
#line 2949 "parse.y"
8129
8289
    {
8130
8290
                        (yyval.num) = in_def;
8131
8291
                        in_def = 0;
8132
 
                    ;}
 
8292
                    }
8133
8293
    break;
8134
8294
 
8135
 
  case 311:
 
8295
  case 317:
8136
8296
 
8137
 
/* Line 1464 of yacc.c  */
8138
 
#line 2916 "parse.y"
 
8297
/* Line 1806 of yacc.c  */
 
8298
#line 2954 "parse.y"
8139
8299
    {
8140
8300
                        (yyval.num) = in_single;
8141
8301
                        in_single = 0;
8142
8302
                        local_push(0);
8143
 
                    ;}
 
8303
                    }
8144
8304
    break;
8145
8305
 
8146
 
  case 312:
 
8306
  case 318:
8147
8307
 
8148
 
/* Line 1464 of yacc.c  */
8149
 
#line 2923 "parse.y"
 
8308
/* Line 1806 of yacc.c  */
 
8309
#line 2961 "parse.y"
8150
8310
    {
8151
8311
                    /*%%%*/
8152
8312
                        (yyval.node) = NEW_SCLASS((yyvsp[(3) - (8)].node), (yyvsp[(7) - (8)].node));
8157
8317
                        local_pop();
8158
8318
                        in_def = (yyvsp[(4) - (8)].num);
8159
8319
                        in_single = (yyvsp[(6) - (8)].num);
8160
 
                    ;}
 
8320
                    }
8161
8321
    break;
8162
8322
 
8163
 
  case 313:
 
8323
  case 319:
8164
8324
 
8165
 
/* Line 1464 of yacc.c  */
8166
 
#line 2935 "parse.y"
 
8325
/* Line 1806 of yacc.c  */
 
8326
#line 2973 "parse.y"
8167
8327
    {
8168
8328
                        if (in_def || in_single)
8169
8329
                            yyerror("module definition in method body");
8172
8332
                        (yyval.num) = ruby_sourceline;
8173
8333
                    /*%
8174
8334
                    %*/
8175
 
                    ;}
 
8335
                    }
8176
8336
    break;
8177
8337
 
8178
 
  case 314:
 
8338
  case 320:
8179
8339
 
8180
 
/* Line 1464 of yacc.c  */
8181
 
#line 2946 "parse.y"
 
8340
/* Line 1806 of yacc.c  */
 
8341
#line 2984 "parse.y"
8182
8342
    {
8183
8343
                    /*%%%*/
8184
8344
                        (yyval.node) = NEW_MODULE((yyvsp[(2) - (5)].node), (yyvsp[(4) - (5)].node));
8187
8347
                        $$ = dispatch2(module, $2, $4);
8188
8348
                    %*/
8189
8349
                        local_pop();
8190
 
                    ;}
 
8350
                    }
8191
8351
    break;
8192
8352
 
8193
 
  case 315:
 
8353
  case 321:
8194
8354
 
8195
 
/* Line 1464 of yacc.c  */
8196
 
#line 2956 "parse.y"
 
8355
/* Line 1806 of yacc.c  */
 
8356
#line 2994 "parse.y"
8197
8357
    {
8198
8358
                        (yyval.id) = cur_mid;
8199
8359
                        cur_mid = (yyvsp[(2) - (2)].id);
8200
8360
                        in_def++;
8201
8361
                        local_push(0);
8202
 
                    ;}
 
8362
                    }
8203
8363
    break;
8204
8364
 
8205
 
  case 316:
 
8365
  case 322:
8206
8366
 
8207
 
/* Line 1464 of yacc.c  */
8208
 
#line 2965 "parse.y"
 
8367
/* Line 1806 of yacc.c  */
 
8368
#line 3003 "parse.y"
8209
8369
    {
8210
8370
                    /*%%%*/
8211
8371
                        NODE *body = remove_begin((yyvsp[(5) - (6)].node));
8218
8378
                        local_pop();
8219
8379
                        in_def--;
8220
8380
                        cur_mid = (yyvsp[(3) - (6)].id);
8221
 
                    ;}
8222
 
    break;
8223
 
 
8224
 
  case 317:
8225
 
 
8226
 
/* Line 1464 of yacc.c  */
8227
 
#line 2978 "parse.y"
8228
 
    {lex_state = EXPR_FNAME;;}
8229
 
    break;
8230
 
 
8231
 
  case 318:
8232
 
 
8233
 
/* Line 1464 of yacc.c  */
8234
 
#line 2979 "parse.y"
 
8381
                    }
 
8382
    break;
 
8383
 
 
8384
  case 323:
 
8385
 
 
8386
/* Line 1806 of yacc.c  */
 
8387
#line 3016 "parse.y"
 
8388
    {lex_state = EXPR_FNAME;}
 
8389
    break;
 
8390
 
 
8391
  case 324:
 
8392
 
 
8393
/* Line 1806 of yacc.c  */
 
8394
#line 3017 "parse.y"
8235
8395
    {
8236
8396
                        in_single++;
8237
8397
                        lex_state = EXPR_ENDFN; /* force for args */
8238
8398
                        local_push(0);
8239
 
                    ;}
 
8399
                    }
8240
8400
    break;
8241
8401
 
8242
 
  case 319:
 
8402
  case 325:
8243
8403
 
8244
 
/* Line 1464 of yacc.c  */
8245
 
#line 2987 "parse.y"
 
8404
/* Line 1806 of yacc.c  */
 
8405
#line 3025 "parse.y"
8246
8406
    {
8247
8407
                    /*%%%*/
8248
8408
                        NODE *body = remove_begin((yyvsp[(8) - (9)].node));
8254
8414
                    %*/
8255
8415
                        local_pop();
8256
8416
                        in_single--;
8257
 
                    ;}
 
8417
                    }
8258
8418
    break;
8259
8419
 
8260
 
  case 320:
 
8420
  case 326:
8261
8421
 
8262
 
/* Line 1464 of yacc.c  */
8263
 
#line 3000 "parse.y"
 
8422
/* Line 1806 of yacc.c  */
 
8423
#line 3038 "parse.y"
8264
8424
    {
8265
8425
                    /*%%%*/
8266
8426
                        (yyval.node) = NEW_BREAK(0);
8267
8427
                    /*%
8268
8428
                        $$ = dispatch1(break, arg_new());
8269
8429
                    %*/
8270
 
                    ;}
 
8430
                    }
8271
8431
    break;
8272
8432
 
8273
 
  case 321:
 
8433
  case 327:
8274
8434
 
8275
 
/* Line 1464 of yacc.c  */
8276
 
#line 3008 "parse.y"
 
8435
/* Line 1806 of yacc.c  */
 
8436
#line 3046 "parse.y"
8277
8437
    {
8278
8438
                    /*%%%*/
8279
8439
                        (yyval.node) = NEW_NEXT(0);
8280
8440
                    /*%
8281
8441
                        $$ = dispatch1(next, arg_new());
8282
8442
                    %*/
8283
 
                    ;}
 
8443
                    }
8284
8444
    break;
8285
8445
 
8286
 
  case 322:
 
8446
  case 328:
8287
8447
 
8288
 
/* Line 1464 of yacc.c  */
8289
 
#line 3016 "parse.y"
 
8448
/* Line 1806 of yacc.c  */
 
8449
#line 3054 "parse.y"
8290
8450
    {
8291
8451
                    /*%%%*/
8292
8452
                        (yyval.node) = NEW_REDO();
8293
8453
                    /*%
8294
8454
                        $$ = dispatch0(redo);
8295
8455
                    %*/
8296
 
                    ;}
 
8456
                    }
8297
8457
    break;
8298
8458
 
8299
 
  case 323:
 
8459
  case 329:
8300
8460
 
8301
 
/* Line 1464 of yacc.c  */
8302
 
#line 3024 "parse.y"
 
8461
/* Line 1806 of yacc.c  */
 
8462
#line 3062 "parse.y"
8303
8463
    {
8304
8464
                    /*%%%*/
8305
8465
                        (yyval.node) = NEW_RETRY();
8306
8466
                    /*%
8307
8467
                        $$ = dispatch0(retry);
8308
8468
                    %*/
8309
 
                    ;}
 
8469
                    }
8310
8470
    break;
8311
8471
 
8312
 
  case 324:
 
8472
  case 330:
8313
8473
 
8314
 
/* Line 1464 of yacc.c  */
8315
 
#line 3034 "parse.y"
 
8474
/* Line 1806 of yacc.c  */
 
8475
#line 3072 "parse.y"
8316
8476
    {
8317
8477
                    /*%%%*/
8318
8478
                        value_expr((yyvsp[(1) - (1)].node));
8321
8481
                    /*%
8322
8482
                        $$ = $1;
8323
8483
                    %*/
8324
 
                    ;}
 
8484
                    }
8325
8485
    break;
8326
8486
 
8327
 
  case 325:
 
8487
  case 331:
8328
8488
 
8329
 
/* Line 1464 of yacc.c  */
8330
 
#line 3046 "parse.y"
 
8489
/* Line 1806 of yacc.c  */
 
8490
#line 3084 "parse.y"
8331
8491
    {
8332
8492
                        token_info_push("begin");
8333
 
                    ;}
 
8493
                    }
8334
8494
    break;
8335
8495
 
8336
 
  case 326:
 
8496
  case 332:
8337
8497
 
8338
 
/* Line 1464 of yacc.c  */
8339
 
#line 3052 "parse.y"
 
8498
/* Line 1806 of yacc.c  */
 
8499
#line 3090 "parse.y"
8340
8500
    {
8341
8501
                        token_info_push("if");
8342
 
                    ;}
 
8502
                    }
8343
8503
    break;
8344
8504
 
8345
 
  case 327:
 
8505
  case 333:
8346
8506
 
8347
 
/* Line 1464 of yacc.c  */
8348
 
#line 3058 "parse.y"
 
8507
/* Line 1806 of yacc.c  */
 
8508
#line 3096 "parse.y"
8349
8509
    {
8350
8510
                        token_info_push("unless");
8351
 
                    ;}
 
8511
                    }
8352
8512
    break;
8353
8513
 
8354
 
  case 328:
 
8514
  case 334:
8355
8515
 
8356
 
/* Line 1464 of yacc.c  */
8357
 
#line 3064 "parse.y"
 
8516
/* Line 1806 of yacc.c  */
 
8517
#line 3102 "parse.y"
8358
8518
    {
8359
8519
                        token_info_push("while");
8360
 
                    ;}
 
8520
                    }
8361
8521
    break;
8362
8522
 
8363
 
  case 329:
 
8523
  case 335:
8364
8524
 
8365
 
/* Line 1464 of yacc.c  */
8366
 
#line 3070 "parse.y"
 
8525
/* Line 1806 of yacc.c  */
 
8526
#line 3108 "parse.y"
8367
8527
    {
8368
8528
                        token_info_push("until");
8369
 
                    ;}
 
8529
                    }
8370
8530
    break;
8371
8531
 
8372
 
  case 330:
 
8532
  case 336:
8373
8533
 
8374
 
/* Line 1464 of yacc.c  */
8375
 
#line 3076 "parse.y"
 
8534
/* Line 1806 of yacc.c  */
 
8535
#line 3114 "parse.y"
8376
8536
    {
8377
8537
                        token_info_push("case");
8378
 
                    ;}
 
8538
                    }
8379
8539
    break;
8380
8540
 
8381
 
  case 331:
 
8541
  case 337:
8382
8542
 
8383
 
/* Line 1464 of yacc.c  */
8384
 
#line 3082 "parse.y"
 
8543
/* Line 1806 of yacc.c  */
 
8544
#line 3120 "parse.y"
8385
8545
    {
8386
8546
                        token_info_push("for");
8387
 
                    ;}
 
8547
                    }
8388
8548
    break;
8389
8549
 
8390
 
  case 332:
 
8550
  case 338:
8391
8551
 
8392
 
/* Line 1464 of yacc.c  */
8393
 
#line 3088 "parse.y"
 
8552
/* Line 1806 of yacc.c  */
 
8553
#line 3126 "parse.y"
8394
8554
    {
8395
8555
                        token_info_push("class");
8396
 
                    ;}
 
8556
                    }
8397
8557
    break;
8398
8558
 
8399
 
  case 333:
 
8559
  case 339:
8400
8560
 
8401
 
/* Line 1464 of yacc.c  */
8402
 
#line 3094 "parse.y"
 
8561
/* Line 1806 of yacc.c  */
 
8562
#line 3132 "parse.y"
8403
8563
    {
8404
8564
                        token_info_push("module");
8405
 
                    ;}
 
8565
                    }
8406
8566
    break;
8407
8567
 
8408
 
  case 334:
 
8568
  case 340:
8409
8569
 
8410
 
/* Line 1464 of yacc.c  */
8411
 
#line 3100 "parse.y"
 
8570
/* Line 1806 of yacc.c  */
 
8571
#line 3138 "parse.y"
8412
8572
    {
8413
8573
                        token_info_push("def");
8414
8574
                    /*%%%*/
8415
8575
                        (yyval.num) = ruby_sourceline;
8416
8576
                    /*%
8417
8577
                    %*/
8418
 
                    ;}
 
8578
                    }
8419
8579
    break;
8420
8580
 
8421
 
  case 335:
 
8581
  case 341:
8422
8582
 
8423
 
/* Line 1464 of yacc.c  */
8424
 
#line 3110 "parse.y"
 
8583
/* Line 1806 of yacc.c  */
 
8584
#line 3148 "parse.y"
8425
8585
    {
8426
8586
                        token_info_pop("end");
8427
 
                    ;}
 
8587
                    }
8428
8588
    break;
8429
8589
 
8430
 
  case 342:
 
8590
  case 348:
8431
8591
 
8432
 
/* Line 1464 of yacc.c  */
8433
 
#line 3140 "parse.y"
 
8592
/* Line 1806 of yacc.c  */
 
8593
#line 3178 "parse.y"
8434
8594
    {
8435
8595
                    /*%%%*/
8436
8596
                        (yyval.node) = NEW_IF(cond((yyvsp[(2) - (5)].node)), (yyvsp[(4) - (5)].node), (yyvsp[(5) - (5)].node));
8438
8598
                    /*%
8439
8599
                        $$ = dispatch3(elsif, $2, $4, escape_Qundef($5));
8440
8600
                    %*/
8441
 
                    ;}
 
8601
                    }
8442
8602
    break;
8443
8603
 
8444
 
  case 344:
 
8604
  case 350:
8445
8605
 
8446
 
/* Line 1464 of yacc.c  */
8447
 
#line 3152 "parse.y"
 
8606
/* Line 1806 of yacc.c  */
 
8607
#line 3190 "parse.y"
8448
8608
    {
8449
8609
                    /*%%%*/
8450
8610
                        (yyval.node) = (yyvsp[(2) - (2)].node);
8451
8611
                    /*%
8452
8612
                        $$ = dispatch1(else, $2);
8453
8613
                    %*/
8454
 
                    ;}
 
8614
                    }
8455
8615
    break;
8456
8616
 
8457
 
  case 347:
 
8617
  case 353:
8458
8618
 
8459
 
/* Line 1464 of yacc.c  */
8460
 
#line 3166 "parse.y"
 
8619
/* Line 1806 of yacc.c  */
 
8620
#line 3204 "parse.y"
8461
8621
    {
8462
8622
                        (yyval.node) = assignable((yyvsp[(1) - (1)].id), 0);
8463
8623
                    /*%%%*/
8464
8624
                    /*%
8465
8625
                        $$ = dispatch1(mlhs_paren, $$);
8466
8626
                    %*/
8467
 
                    ;}
 
8627
                    }
8468
8628
    break;
8469
8629
 
8470
 
  case 348:
 
8630
  case 354:
8471
8631
 
8472
 
/* Line 1464 of yacc.c  */
8473
 
#line 3174 "parse.y"
 
8632
/* Line 1806 of yacc.c  */
 
8633
#line 3212 "parse.y"
8474
8634
    {
8475
8635
                    /*%%%*/
8476
8636
                        (yyval.node) = (yyvsp[(2) - (3)].node);
8477
8637
                    /*%
8478
8638
                        $$ = dispatch1(mlhs_paren, $2);
8479
8639
                    %*/
8480
 
                    ;}
 
8640
                    }
8481
8641
    break;
8482
8642
 
8483
 
  case 349:
 
8643
  case 355:
8484
8644
 
8485
 
/* Line 1464 of yacc.c  */
8486
 
#line 3184 "parse.y"
 
8645
/* Line 1806 of yacc.c  */
 
8646
#line 3222 "parse.y"
8487
8647
    {
8488
8648
                    /*%%%*/
8489
8649
                        (yyval.node) = NEW_LIST((yyvsp[(1) - (1)].node));
8490
8650
                    /*%
8491
8651
                        $$ = mlhs_add(mlhs_new(), $1);
8492
8652
                    %*/
8493
 
                    ;}
 
8653
                    }
8494
8654
    break;
8495
8655
 
8496
 
  case 350:
 
8656
  case 356:
8497
8657
 
8498
 
/* Line 1464 of yacc.c  */
8499
 
#line 3192 "parse.y"
 
8658
/* Line 1806 of yacc.c  */
 
8659
#line 3230 "parse.y"
8500
8660
    {
8501
8661
                    /*%%%*/
8502
8662
                        (yyval.node) = list_append((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
8503
8663
                    /*%
8504
8664
                        $$ = mlhs_add($1, $3);
8505
8665
                    %*/
8506
 
                    ;}
 
8666
                    }
8507
8667
    break;
8508
8668
 
8509
 
  case 351:
 
8669
  case 357:
8510
8670
 
8511
 
/* Line 1464 of yacc.c  */
8512
 
#line 3202 "parse.y"
 
8671
/* Line 1806 of yacc.c  */
 
8672
#line 3240 "parse.y"
8513
8673
    {
8514
8674
                    /*%%%*/
8515
8675
                        (yyval.node) = NEW_MASGN((yyvsp[(1) - (1)].node), 0);
8516
8676
                    /*%
8517
8677
                        $$ = $1;
8518
8678
                    %*/
8519
 
                    ;}
 
8679
                    }
8520
8680
    break;
8521
8681
 
8522
 
  case 352:
 
8682
  case 358:
8523
8683
 
8524
 
/* Line 1464 of yacc.c  */
8525
 
#line 3210 "parse.y"
 
8684
/* Line 1806 of yacc.c  */
 
8685
#line 3248 "parse.y"
8526
8686
    {
8527
8687
                        (yyval.node) = assignable((yyvsp[(4) - (4)].id), 0);
8528
8688
                    /*%%%*/
8530
8690
                    /*%
8531
8691
                        $$ = mlhs_add_star($1, $$);
8532
8692
                    %*/
8533
 
                    ;}
 
8693
                    }
8534
8694
    break;
8535
8695
 
8536
 
  case 353:
 
8696
  case 359:
8537
8697
 
8538
 
/* Line 1464 of yacc.c  */
8539
 
#line 3219 "parse.y"
 
8698
/* Line 1806 of yacc.c  */
 
8699
#line 3257 "parse.y"
8540
8700
    {
8541
8701
                        (yyval.node) = assignable((yyvsp[(4) - (6)].id), 0);
8542
8702
                    /*%%%*/
8544
8704
                    /*%
8545
8705
                        $$ = mlhs_add_star($1, $$);
8546
8706
                    %*/
8547
 
                    ;}
 
8707
                    }
8548
8708
    break;
8549
8709
 
8550
 
  case 354:
 
8710
  case 360:
8551
8711
 
8552
 
/* Line 1464 of yacc.c  */
8553
 
#line 3228 "parse.y"
 
8712
/* Line 1806 of yacc.c  */
 
8713
#line 3266 "parse.y"
8554
8714
    {
8555
8715
                    /*%%%*/
8556
8716
                        (yyval.node) = NEW_MASGN((yyvsp[(1) - (3)].node), -1);
8557
8717
                    /*%
8558
8718
                        $$ = mlhs_add_star($1, Qnil);
8559
8719
                    %*/
8560
 
                    ;}
 
8720
                    }
8561
8721
    break;
8562
8722
 
8563
 
  case 355:
 
8723
  case 361:
8564
8724
 
8565
 
/* Line 1464 of yacc.c  */
8566
 
#line 3236 "parse.y"
 
8725
/* Line 1806 of yacc.c  */
 
8726
#line 3274 "parse.y"
8567
8727
    {
8568
8728
                    /*%%%*/
8569
8729
                        (yyval.node) = NEW_MASGN((yyvsp[(1) - (5)].node), NEW_POSTARG(-1, (yyvsp[(5) - (5)].node)));
8570
8730
                    /*%
8571
8731
                        $$ = mlhs_add_star($1, $5);
8572
8732
                    %*/
8573
 
                    ;}
 
8733
                    }
8574
8734
    break;
8575
8735
 
8576
 
  case 356:
 
8736
  case 362:
8577
8737
 
8578
 
/* Line 1464 of yacc.c  */
8579
 
#line 3244 "parse.y"
 
8738
/* Line 1806 of yacc.c  */
 
8739
#line 3282 "parse.y"
8580
8740
    {
8581
8741
                        (yyval.node) = assignable((yyvsp[(2) - (2)].id), 0);
8582
8742
                    /*%%%*/
8584
8744
                    /*%
8585
8745
                        $$ = mlhs_add_star(mlhs_new(), $$);
8586
8746
                    %*/
8587
 
                    ;}
 
8747
                    }
8588
8748
    break;
8589
8749
 
8590
 
  case 357:
 
8750
  case 363:
8591
8751
 
8592
 
/* Line 1464 of yacc.c  */
8593
 
#line 3253 "parse.y"
 
8752
/* Line 1806 of yacc.c  */
 
8753
#line 3291 "parse.y"
8594
8754
    {
8595
8755
                        (yyval.node) = assignable((yyvsp[(2) - (4)].id), 0);
8596
8756
                    /*%%%*/
8601
8761
                      #endif
8602
8762
                        $$ = mlhs_add_star($$, $4);
8603
8763
                    %*/
8604
 
                    ;}
8605
 
    break;
8606
 
 
8607
 
  case 358:
8608
 
 
8609
 
/* Line 1464 of yacc.c  */
8610
 
#line 3265 "parse.y"
8611
 
    {
8612
 
                    /*%%%*/
8613
 
                        (yyval.node) = NEW_MASGN(0, -1);
8614
 
                    /*%
8615
 
                        $$ = mlhs_add_star(mlhs_new(), Qnil);
8616
 
                    %*/
8617
 
                    ;}
8618
 
    break;
8619
 
 
8620
 
  case 359:
8621
 
 
8622
 
/* Line 1464 of yacc.c  */
8623
 
#line 3273 "parse.y"
8624
 
    {
8625
 
                    /*%%%*/
8626
 
                        (yyval.node) = NEW_MASGN(0, NEW_POSTARG(-1, (yyvsp[(3) - (3)].node)));
8627
 
                    /*%
8628
 
                        $$ = mlhs_add_star(mlhs_new(), Qnil);
8629
 
                    %*/
8630
 
                    ;}
8631
 
    break;
8632
 
 
8633
 
  case 360:
8634
 
 
8635
 
/* Line 1464 of yacc.c  */
8636
 
#line 3283 "parse.y"
8637
 
    {
8638
 
                    /*%%%*/
8639
 
                        (yyval.node) = new_args((yyvsp[(1) - (6)].node), (yyvsp[(3) - (6)].node), (yyvsp[(5) - (6)].id), 0, (yyvsp[(6) - (6)].id));
8640
 
                    /*%
8641
 
                        $$ = params_new($1, $3, $5, Qnil, escape_Qundef($6));
8642
 
                    %*/
8643
 
                    ;}
8644
 
    break;
8645
 
 
8646
 
  case 361:
8647
 
 
8648
 
/* Line 1464 of yacc.c  */
8649
 
#line 3291 "parse.y"
8650
 
    {
8651
 
                    /*%%%*/
8652
 
                        (yyval.node) = new_args((yyvsp[(1) - (8)].node), (yyvsp[(3) - (8)].node), (yyvsp[(5) - (8)].id), (yyvsp[(7) - (8)].node), (yyvsp[(8) - (8)].id));
8653
 
                    /*%
8654
 
                        $$ = params_new($1, $3, $5, $7, escape_Qundef($8));
8655
 
                    %*/
8656
 
                    ;}
8657
 
    break;
8658
 
 
8659
 
  case 362:
8660
 
 
8661
 
/* Line 1464 of yacc.c  */
8662
 
#line 3299 "parse.y"
8663
 
    {
8664
 
                    /*%%%*/
8665
 
                        (yyval.node) = new_args((yyvsp[(1) - (4)].node), (yyvsp[(3) - (4)].node), 0, 0, (yyvsp[(4) - (4)].id));
8666
 
                    /*%
8667
 
                        $$ = params_new($1, $3, Qnil, Qnil, escape_Qundef($4));
8668
 
                    %*/
8669
 
                    ;}
8670
 
    break;
8671
 
 
8672
 
  case 363:
8673
 
 
8674
 
/* Line 1464 of yacc.c  */
8675
 
#line 3307 "parse.y"
8676
 
    {
8677
 
                    /*%%%*/
8678
 
                        (yyval.node) = new_args((yyvsp[(1) - (6)].node), (yyvsp[(3) - (6)].node), 0, (yyvsp[(5) - (6)].node), (yyvsp[(6) - (6)].id));
8679
 
                    /*%
8680
 
                        $$ = params_new($1, $3, Qnil, $5, escape_Qundef($6));
8681
 
                    %*/
8682
 
                    ;}
 
8764
                    }
8683
8765
    break;
8684
8766
 
8685
8767
  case 364:
8686
8768
 
8687
 
/* Line 1464 of yacc.c  */
8688
 
#line 3315 "parse.y"
 
8769
/* Line 1806 of yacc.c  */
 
8770
#line 3303 "parse.y"
8689
8771
    {
8690
8772
                    /*%%%*/
8691
 
                        (yyval.node) = new_args((yyvsp[(1) - (4)].node), 0, (yyvsp[(3) - (4)].id), 0, (yyvsp[(4) - (4)].id));
 
8773
                        (yyval.node) = NEW_MASGN(0, -1);
8692
8774
                    /*%
8693
 
                        $$ = params_new($1, Qnil, $3, Qnil, escape_Qundef($4));
 
8775
                        $$ = mlhs_add_star(mlhs_new(), Qnil);
8694
8776
                    %*/
8695
 
                    ;}
 
8777
                    }
8696
8778
    break;
8697
8779
 
8698
8780
  case 365:
8699
8781
 
8700
 
/* Line 1464 of yacc.c  */
8701
 
#line 3323 "parse.y"
 
8782
/* Line 1806 of yacc.c  */
 
8783
#line 3311 "parse.y"
8702
8784
    {
8703
8785
                    /*%%%*/
8704
 
                        (yyval.node) = new_args((yyvsp[(1) - (2)].node), 0, 1, 0, 0);
 
8786
                        (yyval.node) = NEW_MASGN(0, NEW_POSTARG(-1, (yyvsp[(3) - (3)].node)));
8705
8787
                    /*%
8706
 
                        $$ = params_new($1, Qnil, Qnil, Qnil, Qnil);
8707
 
                        dispatch1(excessed_comma, $$);
 
8788
                        $$ = mlhs_add_star(mlhs_new(), Qnil);
8708
8789
                    %*/
8709
 
                    ;}
 
8790
                    }
8710
8791
    break;
8711
8792
 
8712
8793
  case 366:
8713
8794
 
8714
 
/* Line 1464 of yacc.c  */
8715
 
#line 3332 "parse.y"
 
8795
/* Line 1806 of yacc.c  */
 
8796
#line 3321 "parse.y"
8716
8797
    {
8717
8798
                    /*%%%*/
8718
 
                        (yyval.node) = new_args((yyvsp[(1) - (6)].node), 0, (yyvsp[(3) - (6)].id), (yyvsp[(5) - (6)].node), (yyvsp[(6) - (6)].id));
 
8799
                        (yyval.node) = new_args((yyvsp[(1) - (6)].node), (yyvsp[(3) - (6)].node), (yyvsp[(5) - (6)].id), 0, (yyvsp[(6) - (6)].id));
8719
8800
                    /*%
8720
 
                        $$ = params_new($1, Qnil, $3, $5, escape_Qundef($6));
 
8801
                        $$ = params_new($1, $3, $5, Qnil, escape_Qundef($6));
8721
8802
                    %*/
8722
 
                    ;}
 
8803
                    }
8723
8804
    break;
8724
8805
 
8725
8806
  case 367:
8726
8807
 
8727
 
/* Line 1464 of yacc.c  */
8728
 
#line 3340 "parse.y"
 
8808
/* Line 1806 of yacc.c  */
 
8809
#line 3329 "parse.y"
8729
8810
    {
8730
8811
                    /*%%%*/
8731
 
                        (yyval.node) = new_args((yyvsp[(1) - (2)].node), 0, 0, 0, (yyvsp[(2) - (2)].id));
 
8812
                        (yyval.node) = new_args((yyvsp[(1) - (8)].node), (yyvsp[(3) - (8)].node), (yyvsp[(5) - (8)].id), (yyvsp[(7) - (8)].node), (yyvsp[(8) - (8)].id));
8732
8813
                    /*%
8733
 
                        $$ = params_new($1, Qnil,Qnil, Qnil, escape_Qundef($2));
 
8814
                        $$ = params_new($1, $3, $5, $7, escape_Qundef($8));
8734
8815
                    %*/
8735
 
                    ;}
 
8816
                    }
8736
8817
    break;
8737
8818
 
8738
8819
  case 368:
8739
8820
 
8740
 
/* Line 1464 of yacc.c  */
8741
 
#line 3348 "parse.y"
 
8821
/* Line 1806 of yacc.c  */
 
8822
#line 3337 "parse.y"
8742
8823
    {
8743
8824
                    /*%%%*/
8744
 
                        (yyval.node) = new_args(0, (yyvsp[(1) - (4)].node), (yyvsp[(3) - (4)].id), 0, (yyvsp[(4) - (4)].id));
 
8825
                        (yyval.node) = new_args((yyvsp[(1) - (4)].node), (yyvsp[(3) - (4)].node), 0, 0, (yyvsp[(4) - (4)].id));
8745
8826
                    /*%
8746
 
                        $$ = params_new(Qnil, $1, $3, Qnil, escape_Qundef($4));
 
8827
                        $$ = params_new($1, $3, Qnil, Qnil, escape_Qundef($4));
8747
8828
                    %*/
8748
 
                    ;}
 
8829
                    }
8749
8830
    break;
8750
8831
 
8751
8832
  case 369:
8752
8833
 
8753
 
/* Line 1464 of yacc.c  */
8754
 
#line 3356 "parse.y"
 
8834
/* Line 1806 of yacc.c  */
 
8835
#line 3345 "parse.y"
8755
8836
    {
8756
8837
                    /*%%%*/
8757
 
                        (yyval.node) = new_args(0, (yyvsp[(1) - (6)].node), (yyvsp[(3) - (6)].id), (yyvsp[(5) - (6)].node), (yyvsp[(6) - (6)].id));
 
8838
                        (yyval.node) = new_args((yyvsp[(1) - (6)].node), (yyvsp[(3) - (6)].node), 0, (yyvsp[(5) - (6)].node), (yyvsp[(6) - (6)].id));
8758
8839
                    /*%
8759
 
                        $$ = params_new(Qnil, $1, $3, $5, escape_Qundef($6));
 
8840
                        $$ = params_new($1, $3, Qnil, $5, escape_Qundef($6));
8760
8841
                    %*/
8761
 
                    ;}
 
8842
                    }
8762
8843
    break;
8763
8844
 
8764
8845
  case 370:
8765
8846
 
8766
 
/* Line 1464 of yacc.c  */
8767
 
#line 3364 "parse.y"
 
8847
/* Line 1806 of yacc.c  */
 
8848
#line 3353 "parse.y"
8768
8849
    {
8769
8850
                    /*%%%*/
8770
 
                        (yyval.node) = new_args(0, (yyvsp[(1) - (2)].node), 0, 0, (yyvsp[(2) - (2)].id));
 
8851
                        (yyval.node) = new_args((yyvsp[(1) - (4)].node), 0, (yyvsp[(3) - (4)].id), 0, (yyvsp[(4) - (4)].id));
8771
8852
                    /*%
8772
 
                        $$ = params_new(Qnil, $1, Qnil, Qnil,escape_Qundef($2));
 
8853
                        $$ = params_new($1, Qnil, $3, Qnil, escape_Qundef($4));
8773
8854
                    %*/
8774
 
                    ;}
 
8855
                    }
8775
8856
    break;
8776
8857
 
8777
8858
  case 371:
8778
8859
 
8779
 
/* Line 1464 of yacc.c  */
8780
 
#line 3372 "parse.y"
 
8860
/* Line 1806 of yacc.c  */
 
8861
#line 3361 "parse.y"
8781
8862
    {
8782
8863
                    /*%%%*/
8783
 
                        (yyval.node) = new_args(0, (yyvsp[(1) - (4)].node), 0, (yyvsp[(3) - (4)].node), (yyvsp[(4) - (4)].id));
 
8864
                        (yyval.node) = new_args((yyvsp[(1) - (2)].node), 0, 1, 0, 0);
8784
8865
                    /*%
8785
 
                        $$ = params_new(Qnil, $1, Qnil, $3, escape_Qundef($4));
 
8866
                        $$ = params_new($1, Qnil, Qnil, Qnil, Qnil);
 
8867
                        dispatch1(excessed_comma, $$);
8786
8868
                    %*/
8787
 
                    ;}
 
8869
                    }
8788
8870
    break;
8789
8871
 
8790
8872
  case 372:
8791
8873
 
8792
 
/* Line 1464 of yacc.c  */
8793
 
#line 3380 "parse.y"
 
8874
/* Line 1806 of yacc.c  */
 
8875
#line 3370 "parse.y"
8794
8876
    {
8795
8877
                    /*%%%*/
8796
 
                        (yyval.node) = new_args(0, 0, (yyvsp[(1) - (2)].id), 0, (yyvsp[(2) - (2)].id));
 
8878
                        (yyval.node) = new_args((yyvsp[(1) - (6)].node), 0, (yyvsp[(3) - (6)].id), (yyvsp[(5) - (6)].node), (yyvsp[(6) - (6)].id));
8797
8879
                    /*%
8798
 
                        $$ = params_new(Qnil, Qnil, $1, Qnil, escape_Qundef($2));
 
8880
                        $$ = params_new($1, Qnil, $3, $5, escape_Qundef($6));
8799
8881
                    %*/
8800
 
                    ;}
 
8882
                    }
8801
8883
    break;
8802
8884
 
8803
8885
  case 373:
8804
8886
 
8805
 
/* Line 1464 of yacc.c  */
8806
 
#line 3388 "parse.y"
 
8887
/* Line 1806 of yacc.c  */
 
8888
#line 3378 "parse.y"
8807
8889
    {
8808
8890
                    /*%%%*/
8809
 
                        (yyval.node) = new_args(0, 0, (yyvsp[(1) - (4)].id), (yyvsp[(3) - (4)].node), (yyvsp[(4) - (4)].id));
 
8891
                        (yyval.node) = new_args((yyvsp[(1) - (2)].node), 0, 0, 0, (yyvsp[(2) - (2)].id));
8810
8892
                    /*%
8811
 
                        $$ = params_new(Qnil, Qnil, $1, $3, escape_Qundef($4));
 
8893
                        $$ = params_new($1, Qnil,Qnil, Qnil, escape_Qundef($2));
8812
8894
                    %*/
8813
 
                    ;}
 
8895
                    }
8814
8896
    break;
8815
8897
 
8816
8898
  case 374:
8817
8899
 
8818
 
/* Line 1464 of yacc.c  */
8819
 
#line 3396 "parse.y"
8820
 
    {
8821
 
                    /*%%%*/
8822
 
                        (yyval.node) = new_args(0, 0, 0, 0, (yyvsp[(1) - (1)].id));
8823
 
                    /*%
8824
 
                        $$ = params_new(Qnil, Qnil, Qnil, Qnil, $1);
8825
 
                    %*/
8826
 
                    ;}
 
8900
/* Line 1806 of yacc.c  */
 
8901
#line 3386 "parse.y"
 
8902
    {
 
8903
                    /*%%%*/
 
8904
                        (yyval.node) = new_args(0, (yyvsp[(1) - (4)].node), (yyvsp[(3) - (4)].id), 0, (yyvsp[(4) - (4)].id));
 
8905
                    /*%
 
8906
                        $$ = params_new(Qnil, $1, $3, Qnil, escape_Qundef($4));
 
8907
                    %*/
 
8908
                    }
 
8909
    break;
 
8910
 
 
8911
  case 375:
 
8912
 
 
8913
/* Line 1806 of yacc.c  */
 
8914
#line 3394 "parse.y"
 
8915
    {
 
8916
                    /*%%%*/
 
8917
                        (yyval.node) = new_args(0, (yyvsp[(1) - (6)].node), (yyvsp[(3) - (6)].id), (yyvsp[(5) - (6)].node), (yyvsp[(6) - (6)].id));
 
8918
                    /*%
 
8919
                        $$ = params_new(Qnil, $1, $3, $5, escape_Qundef($6));
 
8920
                    %*/
 
8921
                    }
8827
8922
    break;
8828
8923
 
8829
8924
  case 376:
8830
8925
 
8831
 
/* Line 1464 of yacc.c  */
8832
 
#line 3407 "parse.y"
 
8926
/* Line 1806 of yacc.c  */
 
8927
#line 3402 "parse.y"
8833
8928
    {
8834
 
                        command_start = TRUE;
8835
 
                    ;}
 
8929
                    /*%%%*/
 
8930
                        (yyval.node) = new_args(0, (yyvsp[(1) - (2)].node), 0, 0, (yyvsp[(2) - (2)].id));
 
8931
                    /*%
 
8932
                        $$ = params_new(Qnil, $1, Qnil, Qnil,escape_Qundef($2));
 
8933
                    %*/
 
8934
                    }
8836
8935
    break;
8837
8936
 
8838
8937
  case 377:
8839
8938
 
8840
 
/* Line 1464 of yacc.c  */
8841
 
#line 3413 "parse.y"
 
8939
/* Line 1806 of yacc.c  */
 
8940
#line 3410 "parse.y"
8842
8941
    {
8843
8942
                    /*%%%*/
8844
 
                        (yyval.node) = 0;
 
8943
                        (yyval.node) = new_args(0, (yyvsp[(1) - (4)].node), 0, (yyvsp[(3) - (4)].node), (yyvsp[(4) - (4)].id));
8845
8944
                    /*%
8846
 
                        $$ = blockvar_new(params_new(Qnil,Qnil,Qnil,Qnil,Qnil),
8847
 
                                          escape_Qundef($2));
 
8945
                        $$ = params_new(Qnil, $1, Qnil, $3, escape_Qundef($4));
8848
8946
                    %*/
8849
 
                    ;}
 
8947
                    }
8850
8948
    break;
8851
8949
 
8852
8950
  case 378:
8853
8951
 
8854
 
/* Line 1464 of yacc.c  */
8855
 
#line 3422 "parse.y"
 
8952
/* Line 1806 of yacc.c  */
 
8953
#line 3418 "parse.y"
8856
8954
    {
8857
8955
                    /*%%%*/
8858
 
                        (yyval.node) = 0;
 
8956
                        (yyval.node) = new_args(0, 0, (yyvsp[(1) - (2)].id), 0, (yyvsp[(2) - (2)].id));
8859
8957
                    /*%
8860
 
                        $$ = blockvar_new(params_new(Qnil,Qnil,Qnil,Qnil,Qnil),
8861
 
                                          Qnil);
 
8958
                        $$ = params_new(Qnil, Qnil, $1, Qnil, escape_Qundef($2));
8862
8959
                    %*/
8863
 
                    ;}
 
8960
                    }
8864
8961
    break;
8865
8962
 
8866
8963
  case 379:
8867
8964
 
8868
 
/* Line 1464 of yacc.c  */
8869
 
#line 3431 "parse.y"
8870
 
    {
8871
 
                    /*%%%*/
8872
 
                        (yyval.node) = (yyvsp[(2) - (4)].node);
8873
 
                    /*%
8874
 
                        $$ = blockvar_new(escape_Qundef($2), escape_Qundef($3));
8875
 
                    %*/
8876
 
                    ;}
8877
 
    break;
8878
 
 
8879
 
  case 381:
8880
 
 
8881
 
/* Line 1464 of yacc.c  */
8882
 
#line 3443 "parse.y"
 
8965
/* Line 1806 of yacc.c  */
 
8966
#line 3426 "parse.y"
 
8967
    {
 
8968
                    /*%%%*/
 
8969
                        (yyval.node) = new_args(0, 0, (yyvsp[(1) - (4)].id), (yyvsp[(3) - (4)].node), (yyvsp[(4) - (4)].id));
 
8970
                    /*%
 
8971
                        $$ = params_new(Qnil, Qnil, $1, $3, escape_Qundef($4));
 
8972
                    %*/
 
8973
                    }
 
8974
    break;
 
8975
 
 
8976
  case 380:
 
8977
 
 
8978
/* Line 1806 of yacc.c  */
 
8979
#line 3434 "parse.y"
 
8980
    {
 
8981
                    /*%%%*/
 
8982
                        (yyval.node) = new_args(0, 0, 0, 0, (yyvsp[(1) - (1)].id));
 
8983
                    /*%
 
8984
                        $$ = params_new(Qnil, Qnil, Qnil, Qnil, $1);
 
8985
                    %*/
 
8986
                    }
 
8987
    break;
 
8988
 
 
8989
  case 382:
 
8990
 
 
8991
/* Line 1806 of yacc.c  */
 
8992
#line 3445 "parse.y"
 
8993
    {
 
8994
                        command_start = TRUE;
 
8995
                    }
 
8996
    break;
 
8997
 
 
8998
  case 383:
 
8999
 
 
9000
/* Line 1806 of yacc.c  */
 
9001
#line 3451 "parse.y"
8883
9002
    {
8884
9003
                    /*%%%*/
8885
9004
                        (yyval.node) = 0;
8886
9005
                    /*%
8887
 
                        $$ = $2;
 
9006
                        $$ = blockvar_new(params_new(Qnil,Qnil,Qnil,Qnil,Qnil),
 
9007
                                          escape_Qundef($2));
8888
9008
                    %*/
8889
 
                    ;}
 
9009
                    }
8890
9010
    break;
8891
9011
 
8892
9012
  case 384:
8893
9013
 
8894
 
/* Line 1464 of yacc.c  */
 
9014
/* Line 1806 of yacc.c  */
 
9015
#line 3460 "parse.y"
 
9016
    {
 
9017
                    /*%%%*/
 
9018
                        (yyval.node) = 0;
 
9019
                    /*%
 
9020
                        $$ = blockvar_new(params_new(Qnil,Qnil,Qnil,Qnil,Qnil),
 
9021
                                          Qnil);
 
9022
                    %*/
 
9023
                    }
 
9024
    break;
 
9025
 
 
9026
  case 385:
 
9027
 
 
9028
/* Line 1806 of yacc.c  */
8895
9029
#line 3469 "parse.y"
8896
9030
    {
 
9031
                    /*%%%*/
 
9032
                        (yyval.node) = (yyvsp[(2) - (4)].node);
 
9033
                    /*%
 
9034
                        $$ = blockvar_new(escape_Qundef($2), escape_Qundef($3));
 
9035
                    %*/
 
9036
                    }
 
9037
    break;
 
9038
 
 
9039
  case 387:
 
9040
 
 
9041
/* Line 1806 of yacc.c  */
 
9042
#line 3481 "parse.y"
 
9043
    {
 
9044
                    /*%%%*/
 
9045
                        (yyval.node) = 0;
 
9046
                    /*%
 
9047
                        $$ = $2;
 
9048
                    %*/
 
9049
                    }
 
9050
    break;
 
9051
 
 
9052
  case 390:
 
9053
 
 
9054
/* Line 1806 of yacc.c  */
 
9055
#line 3507 "parse.y"
 
9056
    {
8897
9057
                        new_bv(get_id((yyvsp[(1) - (1)].id)));
8898
9058
                    /*%%%*/
8899
9059
                    /*%
8900
9060
                        $$ = get_value($1);
8901
9061
                    %*/
8902
 
                    ;}
 
9062
                    }
8903
9063
    break;
8904
9064
 
8905
 
  case 385:
 
9065
  case 391:
8906
9066
 
8907
 
/* Line 1464 of yacc.c  */
8908
 
#line 3477 "parse.y"
 
9067
/* Line 1806 of yacc.c  */
 
9068
#line 3515 "parse.y"
8909
9069
    {
8910
9070
                        (yyval.node) = 0;
8911
 
                    ;}
 
9071
                    }
8912
9072
    break;
8913
9073
 
8914
 
  case 386:
 
9074
  case 392:
8915
9075
 
8916
 
/* Line 1464 of yacc.c  */
8917
 
#line 3482 "parse.y"
 
9076
/* Line 1806 of yacc.c  */
 
9077
#line 3520 "parse.y"
8918
9078
    {
8919
9079
                        (yyval.vars) = dyna_push();
8920
 
                    ;}
 
9080
                    }
8921
9081
    break;
8922
9082
 
8923
 
  case 387:
 
9083
  case 393:
8924
9084
 
8925
 
/* Line 1464 of yacc.c  */
8926
 
#line 3485 "parse.y"
 
9085
/* Line 1806 of yacc.c  */
 
9086
#line 3523 "parse.y"
8927
9087
    {
8928
9088
                        (yyval.num) = lpar_beg;
8929
9089
                        lpar_beg = ++paren_nest;
8930
 
                    ;}
 
9090
                    }
8931
9091
    break;
8932
9092
 
8933
 
  case 388:
 
9093
  case 394:
8934
9094
 
8935
 
/* Line 1464 of yacc.c  */
8936
 
#line 3491 "parse.y"
 
9095
/* Line 1806 of yacc.c  */
 
9096
#line 3529 "parse.y"
8937
9097
    {
8938
9098
                        lpar_beg = (yyvsp[(2) - (4)].num);
8939
9099
                    /*%%%*/
8943
9103
                        $$ = dispatch2(lambda, $3, $4);
8944
9104
                    %*/
8945
9105
                        dyna_pop((yyvsp[(1) - (4)].vars));
8946
 
                    ;}
 
9106
                    }
8947
9107
    break;
8948
9108
 
8949
 
  case 389:
 
9109
  case 395:
8950
9110
 
8951
 
/* Line 1464 of yacc.c  */
8952
 
#line 3504 "parse.y"
 
9111
/* Line 1806 of yacc.c  */
 
9112
#line 3542 "parse.y"
8953
9113
    {
8954
9114
                    /*%%%*/
8955
9115
                        (yyval.node) = NEW_LAMBDA((yyvsp[(2) - (4)].node));
8956
9116
                    /*%
8957
9117
                        $$ = dispatch1(paren, $2);
8958
9118
                    %*/
8959
 
                    ;}
 
9119
                    }
8960
9120
    break;
8961
9121
 
8962
 
  case 390:
 
9122
  case 396:
8963
9123
 
8964
 
/* Line 1464 of yacc.c  */
8965
 
#line 3512 "parse.y"
 
9124
/* Line 1806 of yacc.c  */
 
9125
#line 3550 "parse.y"
8966
9126
    {
8967
9127
                    /*%%%*/
8968
9128
                        (yyval.node) = NEW_LAMBDA((yyvsp[(1) - (1)].node));
8969
9129
                    /*%
8970
9130
                        $$ = $1;
8971
9131
                    %*/
8972
 
                    ;}
8973
 
    break;
8974
 
 
8975
 
  case 391:
8976
 
 
8977
 
/* Line 1464 of yacc.c  */
8978
 
#line 3522 "parse.y"
8979
 
    {
8980
 
                        (yyval.node) = (yyvsp[(2) - (3)].node);
8981
 
                    ;}
8982
 
    break;
8983
 
 
8984
 
  case 392:
8985
 
 
8986
 
/* Line 1464 of yacc.c  */
8987
 
#line 3526 "parse.y"
8988
 
    {
8989
 
                        (yyval.node) = (yyvsp[(2) - (3)].node);
8990
 
                    ;}
8991
 
    break;
8992
 
 
8993
 
  case 393:
8994
 
 
8995
 
/* Line 1464 of yacc.c  */
8996
 
#line 3532 "parse.y"
8997
 
    {
8998
 
                        (yyvsp[(1) - (1)].vars) = dyna_push();
8999
 
                    /*%%%*/
9000
 
                        (yyval.num) = ruby_sourceline;
9001
 
                    /*% %*/
9002
 
                    ;}
9003
 
    break;
9004
 
 
9005
 
  case 394:
9006
 
 
9007
 
/* Line 1464 of yacc.c  */
9008
 
#line 3541 "parse.y"
9009
 
    {
9010
 
                    /*%%%*/
9011
 
                        (yyval.node) = NEW_ITER((yyvsp[(3) - (5)].node),(yyvsp[(4) - (5)].node));
9012
 
                        nd_set_line((yyval.node), (yyvsp[(2) - (5)].num));
9013
 
                    /*%
9014
 
                        $$ = dispatch2(do_block, escape_Qundef($3), $4);
9015
 
                    %*/
9016
 
                        dyna_pop((yyvsp[(1) - (5)].vars));
9017
 
                    ;}
9018
 
    break;
9019
 
 
9020
 
  case 395:
9021
 
 
9022
 
/* Line 1464 of yacc.c  */
9023
 
#line 3553 "parse.y"
9024
 
    {
9025
 
                    /*%%%*/
9026
 
                        if (nd_type((yyvsp[(1) - (2)].node)) == NODE_YIELD) {
9027
 
                            compile_error(PARSER_ARG "block given to yield");
9028
 
                        }
9029
 
                        else {
9030
 
                            block_dup_check((yyvsp[(1) - (2)].node)->nd_args, (yyvsp[(2) - (2)].node));
9031
 
                        }
9032
 
                        (yyvsp[(2) - (2)].node)->nd_iter = (yyvsp[(1) - (2)].node);
9033
 
                        (yyval.node) = (yyvsp[(2) - (2)].node);
9034
 
                        fixpos((yyval.node), (yyvsp[(1) - (2)].node));
9035
 
                    /*%
9036
 
                        $$ = method_add_block($1, $2);
9037
 
                    %*/
9038
 
                    ;}
9039
 
    break;
9040
 
 
9041
 
  case 396:
9042
 
 
9043
 
/* Line 1464 of yacc.c  */
9044
 
#line 3569 "parse.y"
9045
 
    {
9046
 
                    /*%%%*/
9047
 
                        (yyval.node) = NEW_CALL((yyvsp[(1) - (4)].node), (yyvsp[(3) - (4)].id), (yyvsp[(4) - (4)].node));
9048
 
                    /*%
9049
 
                        $$ = dispatch3(call, $1, ripper_id2sym('.'), $3);
9050
 
                        $$ = method_optarg($$, $4);
9051
 
                    %*/
9052
 
                    ;}
 
9132
                    }
9053
9133
    break;
9054
9134
 
9055
9135
  case 397:
9056
9136
 
9057
 
/* Line 1464 of yacc.c  */
9058
 
#line 3578 "parse.y"
 
9137
/* Line 1806 of yacc.c  */
 
9138
#line 3560 "parse.y"
9059
9139
    {
9060
 
                    /*%%%*/
9061
 
                        (yyval.node) = NEW_CALL((yyvsp[(1) - (4)].node), (yyvsp[(3) - (4)].id), (yyvsp[(4) - (4)].node));
9062
 
                    /*%
9063
 
                        $$ = dispatch3(call, $1, ripper_intern("::"), $3);
9064
 
                        $$ = method_optarg($$, $4);
9065
 
                    %*/
9066
 
                    ;}
 
9140
                        (yyval.node) = (yyvsp[(2) - (3)].node);
 
9141
                    }
9067
9142
    break;
9068
9143
 
9069
9144
  case 398:
9070
9145
 
9071
 
/* Line 1464 of yacc.c  */
9072
 
#line 3589 "parse.y"
 
9146
/* Line 1806 of yacc.c  */
 
9147
#line 3564 "parse.y"
9073
9148
    {
9074
 
                    /*%%%*/
9075
 
                        (yyval.node) = NEW_FCALL((yyvsp[(1) - (2)].id), (yyvsp[(2) - (2)].node));
9076
 
                        fixpos((yyval.node), (yyvsp[(2) - (2)].node));
9077
 
                    /*%
9078
 
                        $$ = method_arg(dispatch1(fcall, $1), $2);
9079
 
                    %*/
9080
 
                    ;}
 
9149
                        (yyval.node) = (yyvsp[(2) - (3)].node);
 
9150
                    }
9081
9151
    break;
9082
9152
 
9083
9153
  case 399:
9084
9154
 
9085
 
/* Line 1464 of yacc.c  */
9086
 
#line 3598 "parse.y"
 
9155
/* Line 1806 of yacc.c  */
 
9156
#line 3570 "parse.y"
9087
9157
    {
 
9158
                        (yyvsp[(1) - (1)].vars) = dyna_push();
9088
9159
                    /*%%%*/
9089
 
                        (yyval.node) = NEW_CALL((yyvsp[(1) - (4)].node), (yyvsp[(3) - (4)].id), (yyvsp[(4) - (4)].node));
9090
 
                        fixpos((yyval.node), (yyvsp[(1) - (4)].node));
9091
 
                    /*%
9092
 
                        $$ = dispatch3(call, $1, ripper_id2sym('.'), $3);
9093
 
                        $$ = method_optarg($$, $4);
9094
 
                    %*/
9095
 
                    ;}
 
9160
                        (yyval.num) = ruby_sourceline;
 
9161
                    /*% %*/
 
9162
                    }
9096
9163
    break;
9097
9164
 
9098
9165
  case 400:
9099
9166
 
9100
 
/* Line 1464 of yacc.c  */
9101
 
#line 3608 "parse.y"
 
9167
/* Line 1806 of yacc.c  */
 
9168
#line 3579 "parse.y"
9102
9169
    {
9103
9170
                    /*%%%*/
9104
 
                        (yyval.node) = NEW_CALL((yyvsp[(1) - (4)].node), (yyvsp[(3) - (4)].id), (yyvsp[(4) - (4)].node));
9105
 
                        fixpos((yyval.node), (yyvsp[(1) - (4)].node));
 
9171
                        (yyval.node) = NEW_ITER((yyvsp[(3) - (5)].node),(yyvsp[(4) - (5)].node));
 
9172
                        nd_set_line((yyval.node), (yyvsp[(2) - (5)].num));
9106
9173
                    /*%
9107
 
                        $$ = dispatch3(call, $1, ripper_id2sym('.'), $3);
9108
 
                        $$ = method_optarg($$, $4);
 
9174
                        $$ = dispatch2(do_block, escape_Qundef($3), $4);
9109
9175
                    %*/
9110
 
                    ;}
 
9176
                        dyna_pop((yyvsp[(1) - (5)].vars));
 
9177
                    }
9111
9178
    break;
9112
9179
 
9113
9180
  case 401:
9114
9181
 
9115
 
/* Line 1464 of yacc.c  */
9116
 
#line 3618 "parse.y"
 
9182
/* Line 1806 of yacc.c  */
 
9183
#line 3591 "parse.y"
9117
9184
    {
9118
9185
                    /*%%%*/
9119
 
                        (yyval.node) = NEW_CALL((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].id), 0);
 
9186
                        if (nd_type((yyvsp[(1) - (2)].node)) == NODE_YIELD) {
 
9187
                            compile_error(PARSER_ARG "block given to yield");
 
9188
                        }
 
9189
                        else {
 
9190
                            block_dup_check((yyvsp[(1) - (2)].node)->nd_args, (yyvsp[(2) - (2)].node));
 
9191
                        }
 
9192
                        (yyvsp[(2) - (2)].node)->nd_iter = (yyvsp[(1) - (2)].node);
 
9193
                        (yyval.node) = (yyvsp[(2) - (2)].node);
 
9194
                        fixpos((yyval.node), (yyvsp[(1) - (2)].node));
9120
9195
                    /*%
9121
 
                        $$ = dispatch3(call, $1, ripper_intern("::"), $3);
 
9196
                        $$ = method_add_block($1, $2);
9122
9197
                    %*/
9123
 
                    ;}
 
9198
                    }
9124
9199
    break;
9125
9200
 
9126
9201
  case 402:
9127
9202
 
9128
 
/* Line 1464 of yacc.c  */
9129
 
#line 3626 "parse.y"
 
9203
/* Line 1806 of yacc.c  */
 
9204
#line 3607 "parse.y"
9130
9205
    {
9131
9206
                    /*%%%*/
9132
 
                        (yyval.node) = NEW_CALL((yyvsp[(1) - (3)].node), rb_intern("call"), (yyvsp[(3) - (3)].node));
9133
 
                        fixpos((yyval.node), (yyvsp[(1) - (3)].node));
 
9207
                        (yyval.node) = NEW_CALL((yyvsp[(1) - (4)].node), (yyvsp[(3) - (4)].id), (yyvsp[(4) - (4)].node));
9134
9208
                    /*%
9135
 
                        $$ = dispatch3(call, $1, ripper_id2sym('.'),
9136
 
                                       ripper_intern("call"));
9137
 
                        $$ = method_optarg($$, $3);
 
9209
                        $$ = dispatch3(call, $1, ripper_id2sym('.'), $3);
 
9210
                        $$ = method_optarg($$, $4);
9138
9211
                    %*/
9139
 
                    ;}
 
9212
                    }
9140
9213
    break;
9141
9214
 
9142
9215
  case 403:
9143
9216
 
9144
 
/* Line 1464 of yacc.c  */
9145
 
#line 3637 "parse.y"
 
9217
/* Line 1806 of yacc.c  */
 
9218
#line 3616 "parse.y"
9146
9219
    {
9147
9220
                    /*%%%*/
9148
 
                        (yyval.node) = NEW_CALL((yyvsp[(1) - (3)].node), rb_intern("call"), (yyvsp[(3) - (3)].node));
9149
 
                        fixpos((yyval.node), (yyvsp[(1) - (3)].node));
 
9221
                        (yyval.node) = NEW_CALL((yyvsp[(1) - (4)].node), (yyvsp[(3) - (4)].id), (yyvsp[(4) - (4)].node));
9150
9222
                    /*%
9151
 
                        $$ = dispatch3(call, $1, ripper_intern("::"),
9152
 
                                       ripper_intern("call"));
9153
 
                        $$ = method_optarg($$, $3);
 
9223
                        $$ = dispatch3(call, $1, ripper_intern("::"), $3);
 
9224
                        $$ = method_optarg($$, $4);
9154
9225
                    %*/
9155
 
                    ;}
 
9226
                    }
9156
9227
    break;
9157
9228
 
9158
9229
  case 404:
9159
9230
 
9160
 
/* Line 1464 of yacc.c  */
9161
 
#line 3648 "parse.y"
 
9231
/* Line 1806 of yacc.c  */
 
9232
#line 3627 "parse.y"
9162
9233
    {
9163
9234
                    /*%%%*/
9164
 
                        (yyval.node) = NEW_SUPER((yyvsp[(2) - (2)].node));
 
9235
                        (yyval.node) = NEW_FCALL((yyvsp[(1) - (2)].id), (yyvsp[(2) - (2)].node));
 
9236
                        fixpos((yyval.node), (yyvsp[(2) - (2)].node));
9165
9237
                    /*%
9166
 
                        $$ = dispatch1(super, $2);
 
9238
                        $$ = method_arg(dispatch1(fcall, $1), $2);
9167
9239
                    %*/
9168
 
                    ;}
 
9240
                    }
9169
9241
    break;
9170
9242
 
9171
9243
  case 405:
9172
9244
 
9173
 
/* Line 1464 of yacc.c  */
 
9245
/* Line 1806 of yacc.c  */
 
9246
#line 3636 "parse.y"
 
9247
    {
 
9248
                    /*%%%*/
 
9249
                        (yyval.node) = NEW_CALL((yyvsp[(1) - (4)].node), (yyvsp[(3) - (4)].id), (yyvsp[(4) - (4)].node));
 
9250
                        fixpos((yyval.node), (yyvsp[(1) - (4)].node));
 
9251
                    /*%
 
9252
                        $$ = dispatch3(call, $1, ripper_id2sym('.'), $3);
 
9253
                        $$ = method_optarg($$, $4);
 
9254
                    %*/
 
9255
                    }
 
9256
    break;
 
9257
 
 
9258
  case 406:
 
9259
 
 
9260
/* Line 1806 of yacc.c  */
 
9261
#line 3646 "parse.y"
 
9262
    {
 
9263
                    /*%%%*/
 
9264
                        (yyval.node) = NEW_CALL((yyvsp[(1) - (4)].node), (yyvsp[(3) - (4)].id), (yyvsp[(4) - (4)].node));
 
9265
                        fixpos((yyval.node), (yyvsp[(1) - (4)].node));
 
9266
                    /*%
 
9267
                        $$ = dispatch3(call, $1, ripper_id2sym('.'), $3);
 
9268
                        $$ = method_optarg($$, $4);
 
9269
                    %*/
 
9270
                    }
 
9271
    break;
 
9272
 
 
9273
  case 407:
 
9274
 
 
9275
/* Line 1806 of yacc.c  */
9174
9276
#line 3656 "parse.y"
9175
9277
    {
9176
9278
                    /*%%%*/
 
9279
                        (yyval.node) = NEW_CALL((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].id), 0);
 
9280
                    /*%
 
9281
                        $$ = dispatch3(call, $1, ripper_intern("::"), $3);
 
9282
                    %*/
 
9283
                    }
 
9284
    break;
 
9285
 
 
9286
  case 408:
 
9287
 
 
9288
/* Line 1806 of yacc.c  */
 
9289
#line 3664 "parse.y"
 
9290
    {
 
9291
                    /*%%%*/
 
9292
                        (yyval.node) = NEW_CALL((yyvsp[(1) - (3)].node), rb_intern("call"), (yyvsp[(3) - (3)].node));
 
9293
                        fixpos((yyval.node), (yyvsp[(1) - (3)].node));
 
9294
                    /*%
 
9295
                        $$ = dispatch3(call, $1, ripper_id2sym('.'),
 
9296
                                       ripper_intern("call"));
 
9297
                        $$ = method_optarg($$, $3);
 
9298
                    %*/
 
9299
                    }
 
9300
    break;
 
9301
 
 
9302
  case 409:
 
9303
 
 
9304
/* Line 1806 of yacc.c  */
 
9305
#line 3675 "parse.y"
 
9306
    {
 
9307
                    /*%%%*/
 
9308
                        (yyval.node) = NEW_CALL((yyvsp[(1) - (3)].node), rb_intern("call"), (yyvsp[(3) - (3)].node));
 
9309
                        fixpos((yyval.node), (yyvsp[(1) - (3)].node));
 
9310
                    /*%
 
9311
                        $$ = dispatch3(call, $1, ripper_intern("::"),
 
9312
                                       ripper_intern("call"));
 
9313
                        $$ = method_optarg($$, $3);
 
9314
                    %*/
 
9315
                    }
 
9316
    break;
 
9317
 
 
9318
  case 410:
 
9319
 
 
9320
/* Line 1806 of yacc.c  */
 
9321
#line 3686 "parse.y"
 
9322
    {
 
9323
                    /*%%%*/
 
9324
                        (yyval.node) = NEW_SUPER((yyvsp[(2) - (2)].node));
 
9325
                    /*%
 
9326
                        $$ = dispatch1(super, $2);
 
9327
                    %*/
 
9328
                    }
 
9329
    break;
 
9330
 
 
9331
  case 411:
 
9332
 
 
9333
/* Line 1806 of yacc.c  */
 
9334
#line 3694 "parse.y"
 
9335
    {
 
9336
                    /*%%%*/
9177
9337
                        (yyval.node) = NEW_ZSUPER();
9178
9338
                    /*%
9179
9339
                        $$ = dispatch0(zsuper);
9180
9340
                    %*/
9181
 
                    ;}
 
9341
                    }
9182
9342
    break;
9183
9343
 
9184
 
  case 406:
 
9344
  case 412:
9185
9345
 
9186
 
/* Line 1464 of yacc.c  */
9187
 
#line 3664 "parse.y"
 
9346
/* Line 1806 of yacc.c  */
 
9347
#line 3702 "parse.y"
9188
9348
    {
9189
9349
                    /*%%%*/
9190
9350
                        if ((yyvsp[(1) - (4)].node) && nd_type((yyvsp[(1) - (4)].node)) == NODE_SELF)
9195
9355
                    /*%
9196
9356
                        $$ = dispatch2(aref, $1, escape_Qundef($3));
9197
9357
                    %*/
9198
 
                    ;}
 
9358
                    }
9199
9359
    break;
9200
9360
 
9201
 
  case 407:
 
9361
  case 413:
9202
9362
 
9203
 
/* Line 1464 of yacc.c  */
9204
 
#line 3678 "parse.y"
 
9363
/* Line 1806 of yacc.c  */
 
9364
#line 3716 "parse.y"
9205
9365
    {
9206
9366
                        (yyvsp[(1) - (1)].vars) = dyna_push();
9207
9367
                    /*%%%*/
9208
9368
                        (yyval.num) = ruby_sourceline;
9209
9369
                    /*%
9210
9370
                    %*/
9211
 
                    ;}
 
9371
                    }
9212
9372
    break;
9213
9373
 
9214
 
  case 408:
 
9374
  case 414:
9215
9375
 
9216
 
/* Line 1464 of yacc.c  */
9217
 
#line 3687 "parse.y"
 
9376
/* Line 1806 of yacc.c  */
 
9377
#line 3725 "parse.y"
9218
9378
    {
9219
9379
                    /*%%%*/
9220
9380
                        (yyval.node) = NEW_ITER((yyvsp[(3) - (5)].node),(yyvsp[(4) - (5)].node));
9223
9383
                        $$ = dispatch2(brace_block, escape_Qundef($3), $4);
9224
9384
                    %*/
9225
9385
                        dyna_pop((yyvsp[(1) - (5)].vars));
9226
 
                    ;}
 
9386
                    }
9227
9387
    break;
9228
9388
 
9229
 
  case 409:
 
9389
  case 415:
9230
9390
 
9231
 
/* Line 1464 of yacc.c  */
9232
 
#line 3697 "parse.y"
 
9391
/* Line 1806 of yacc.c  */
 
9392
#line 3735 "parse.y"
9233
9393
    {
9234
9394
                        (yyvsp[(1) - (1)].vars) = dyna_push();
9235
9395
                    /*%%%*/
9236
9396
                        (yyval.num) = ruby_sourceline;
9237
9397
                    /*%
9238
9398
                    %*/
9239
 
                    ;}
 
9399
                    }
9240
9400
    break;
9241
9401
 
9242
 
  case 410:
 
9402
  case 416:
9243
9403
 
9244
 
/* Line 1464 of yacc.c  */
9245
 
#line 3706 "parse.y"
 
9404
/* Line 1806 of yacc.c  */
 
9405
#line 3744 "parse.y"
9246
9406
    {
9247
9407
                    /*%%%*/
9248
9408
                        (yyval.node) = NEW_ITER((yyvsp[(3) - (5)].node),(yyvsp[(4) - (5)].node));
9251
9411
                        $$ = dispatch2(do_block, escape_Qundef($3), $4);
9252
9412
                    %*/
9253
9413
                        dyna_pop((yyvsp[(1) - (5)].vars));
9254
 
                    ;}
 
9414
                    }
9255
9415
    break;
9256
9416
 
9257
 
  case 411:
 
9417
  case 417:
9258
9418
 
9259
 
/* Line 1464 of yacc.c  */
9260
 
#line 3720 "parse.y"
 
9419
/* Line 1806 of yacc.c  */
 
9420
#line 3758 "parse.y"
9261
9421
    {
9262
9422
                    /*%%%*/
9263
9423
                        (yyval.node) = NEW_WHEN((yyvsp[(2) - (5)].node), (yyvsp[(4) - (5)].node), (yyvsp[(5) - (5)].node));
9264
9424
                    /*%
9265
9425
                        $$ = dispatch3(when, $2, $4, escape_Qundef($5));
9266
9426
                    %*/
9267
 
                    ;}
 
9427
                    }
9268
9428
    break;
9269
9429
 
9270
 
  case 414:
 
9430
  case 420:
9271
9431
 
9272
 
/* Line 1464 of yacc.c  */
9273
 
#line 3736 "parse.y"
 
9432
/* Line 1806 of yacc.c  */
 
9433
#line 3774 "parse.y"
9274
9434
    {
9275
9435
                    /*%%%*/
9276
9436
                        if ((yyvsp[(3) - (6)].node)) {
9286
9446
                                       escape_Qundef($5),
9287
9447
                                       escape_Qundef($6));
9288
9448
                    %*/
9289
 
                    ;}
 
9449
                    }
9290
9450
    break;
9291
9451
 
9292
 
  case 416:
 
9452
  case 422:
9293
9453
 
9294
 
/* Line 1464 of yacc.c  */
9295
 
#line 3756 "parse.y"
 
9454
/* Line 1806 of yacc.c  */
 
9455
#line 3794 "parse.y"
9296
9456
    {
9297
9457
                    /*%%%*/
9298
9458
                        (yyval.node) = NEW_LIST((yyvsp[(1) - (1)].node));
9299
9459
                    /*%
9300
9460
                        $$ = rb_ary_new3(1, $1);
9301
9461
                    %*/
9302
 
                    ;}
 
9462
                    }
9303
9463
    break;
9304
9464
 
9305
 
  case 417:
 
9465
  case 423:
9306
9466
 
9307
 
/* Line 1464 of yacc.c  */
9308
 
#line 3764 "parse.y"
 
9467
/* Line 1806 of yacc.c  */
 
9468
#line 3802 "parse.y"
9309
9469
    {
9310
9470
                    /*%%%*/
9311
9471
                        if (!((yyval.node) = splat_array((yyvsp[(1) - (1)].node)))) (yyval.node) = (yyvsp[(1) - (1)].node);
9312
9472
                    /*%
9313
9473
                        $$ = $1;
9314
9474
                    %*/
9315
 
                    ;}
 
9475
                    }
9316
9476
    break;
9317
9477
 
9318
 
  case 419:
 
9478
  case 425:
9319
9479
 
9320
 
/* Line 1464 of yacc.c  */
9321
 
#line 3775 "parse.y"
 
9480
/* Line 1806 of yacc.c  */
 
9481
#line 3813 "parse.y"
9322
9482
    {
9323
9483
                        (yyval.node) = (yyvsp[(2) - (2)].node);
9324
 
                    ;}
 
9484
                    }
9325
9485
    break;
9326
9486
 
9327
 
  case 421:
 
9487
  case 427:
9328
9488
 
9329
 
/* Line 1464 of yacc.c  */
9330
 
#line 3782 "parse.y"
 
9489
/* Line 1806 of yacc.c  */
 
9490
#line 3820 "parse.y"
9331
9491
    {
9332
9492
                    /*%%%*/
9333
9493
                        (yyval.node) = (yyvsp[(2) - (2)].node);
9334
9494
                    /*%
9335
9495
                        $$ = dispatch1(ensure, $2);
9336
9496
                    %*/
9337
 
                    ;}
 
9497
                    }
9338
9498
    break;
9339
9499
 
9340
 
  case 424:
 
9500
  case 430:
9341
9501
 
9342
 
/* Line 1464 of yacc.c  */
9343
 
#line 3794 "parse.y"
 
9502
/* Line 1806 of yacc.c  */
 
9503
#line 3832 "parse.y"
9344
9504
    {
9345
9505
                    /*%%%*/
9346
9506
                        (yyval.node) = NEW_LIT(ID2SYM((yyvsp[(1) - (1)].id)));
9347
9507
                    /*%
9348
9508
                        $$ = dispatch1(symbol_literal, $1);
9349
9509
                    %*/
9350
 
                    ;}
 
9510
                    }
9351
9511
    break;
9352
9512
 
9353
 
  case 426:
 
9513
  case 432:
9354
9514
 
9355
 
/* Line 1464 of yacc.c  */
9356
 
#line 3805 "parse.y"
 
9515
/* Line 1806 of yacc.c  */
 
9516
#line 3843 "parse.y"
9357
9517
    {
9358
9518
                    /*%%%*/
9359
9519
                        NODE *node = (yyvsp[(1) - (1)].node);
9367
9527
                    /*%
9368
9528
                        $$ = $1;
9369
9529
                    %*/
9370
 
                    ;}
 
9530
                    }
9371
9531
    break;
9372
9532
 
9373
 
  case 429:
 
9533
  case 435:
9374
9534
 
9375
 
/* Line 1464 of yacc.c  */
9376
 
#line 3824 "parse.y"
 
9535
/* Line 1806 of yacc.c  */
 
9536
#line 3862 "parse.y"
9377
9537
    {
9378
9538
                    /*%%%*/
9379
9539
                        (yyval.node) = literal_concat((yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node));
9380
9540
                    /*%
9381
9541
                        $$ = dispatch2(string_concat, $1, $2);
9382
9542
                    %*/
9383
 
                    ;}
 
9543
                    }
9384
9544
    break;
9385
9545
 
9386
 
  case 430:
 
9546
  case 436:
9387
9547
 
9388
 
/* Line 1464 of yacc.c  */
9389
 
#line 3834 "parse.y"
 
9548
/* Line 1806 of yacc.c  */
 
9549
#line 3872 "parse.y"
9390
9550
    {
9391
9551
                    /*%%%*/
9392
9552
                        (yyval.node) = (yyvsp[(2) - (3)].node);
9393
9553
                    /*%
9394
9554
                        $$ = dispatch1(string_literal, $2);
9395
9555
                    %*/
9396
 
                    ;}
 
9556
                    }
9397
9557
    break;
9398
9558
 
9399
 
  case 431:
 
9559
  case 437:
9400
9560
 
9401
 
/* Line 1464 of yacc.c  */
9402
 
#line 3844 "parse.y"
 
9561
/* Line 1806 of yacc.c  */
 
9562
#line 3882 "parse.y"
9403
9563
    {
9404
9564
                    /*%%%*/
9405
9565
                        NODE *node = (yyvsp[(2) - (3)].node);
9423
9583
                    /*%
9424
9584
                        $$ = dispatch1(xstring_literal, $2);
9425
9585
                    %*/
9426
 
                    ;}
 
9586
                    }
9427
9587
    break;
9428
9588
 
9429
 
  case 432:
 
9589
  case 438:
9430
9590
 
9431
 
/* Line 1464 of yacc.c  */
9432
 
#line 3871 "parse.y"
 
9591
/* Line 1806 of yacc.c  */
 
9592
#line 3909 "parse.y"
9433
9593
    {
9434
9594
                    /*%%%*/
9435
9595
                        int options = (yyvsp[(3) - (3)].num);
9491
9651
                    /*%
9492
9652
                        $$ = dispatch2(regexp_literal, $2, $3);
9493
9653
                    %*/
9494
 
                    ;}
9495
 
    break;
9496
 
 
9497
 
  case 433:
9498
 
 
9499
 
/* Line 1464 of yacc.c  */
9500
 
#line 3936 "parse.y"
9501
 
    {
9502
 
                    /*%%%*/
9503
 
                        (yyval.node) = NEW_ZARRAY();
9504
 
                    /*%
9505
 
                        $$ = dispatch0(words_new);
9506
 
                        $$ = dispatch1(array, $$);
9507
 
                    %*/
9508
 
                    ;}
9509
 
    break;
9510
 
 
9511
 
  case 434:
9512
 
 
9513
 
/* Line 1464 of yacc.c  */
9514
 
#line 3945 "parse.y"
9515
 
    {
9516
 
                    /*%%%*/
9517
 
                        (yyval.node) = (yyvsp[(2) - (3)].node);
9518
 
                    /*%
9519
 
                        $$ = dispatch1(array, $2);
9520
 
                    %*/
9521
 
                    ;}
9522
 
    break;
9523
 
 
9524
 
  case 435:
9525
 
 
9526
 
/* Line 1464 of yacc.c  */
9527
 
#line 3955 "parse.y"
9528
 
    {
9529
 
                    /*%%%*/
9530
 
                        (yyval.node) = 0;
9531
 
                    /*%
9532
 
                        $$ = dispatch0(words_new);
9533
 
                    %*/
9534
 
                    ;}
9535
 
    break;
9536
 
 
9537
 
  case 436:
9538
 
 
9539
 
/* Line 1464 of yacc.c  */
9540
 
#line 3963 "parse.y"
9541
 
    {
9542
 
                    /*%%%*/
9543
 
                        (yyval.node) = list_append((yyvsp[(1) - (3)].node), evstr2dstr((yyvsp[(2) - (3)].node)));
9544
 
                    /*%
9545
 
                        $$ = dispatch2(words_add, $1, $2);
9546
 
                    %*/
9547
 
                    ;}
9548
 
    break;
9549
 
 
9550
 
  case 438:
9551
 
 
9552
 
/* Line 1464 of yacc.c  */
9553
 
#line 3981 "parse.y"
9554
 
    {
9555
 
                    /*%%%*/
9556
 
                        (yyval.node) = literal_concat((yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node));
9557
 
                    /*%
9558
 
                        $$ = dispatch2(word_add, $1, $2);
9559
 
                    %*/
9560
 
                    ;}
 
9654
                    }
9561
9655
    break;
9562
9656
 
9563
9657
  case 439:
9564
9658
 
9565
 
/* Line 1464 of yacc.c  */
9566
 
#line 3991 "parse.y"
 
9659
/* Line 1806 of yacc.c  */
 
9660
#line 3974 "parse.y"
9567
9661
    {
9568
9662
                    /*%%%*/
9569
9663
                        (yyval.node) = NEW_ZARRAY();
9570
9664
                    /*%
9571
 
                        $$ = dispatch0(qwords_new);
 
9665
                        $$ = dispatch0(words_new);
9572
9666
                        $$ = dispatch1(array, $$);
9573
9667
                    %*/
9574
 
                    ;}
 
9668
                    }
9575
9669
    break;
9576
9670
 
9577
9671
  case 440:
9578
9672
 
9579
 
/* Line 1464 of yacc.c  */
9580
 
#line 4000 "parse.y"
 
9673
/* Line 1806 of yacc.c  */
 
9674
#line 3983 "parse.y"
9581
9675
    {
9582
9676
                    /*%%%*/
9583
9677
                        (yyval.node) = (yyvsp[(2) - (3)].node);
9584
9678
                    /*%
9585
9679
                        $$ = dispatch1(array, $2);
9586
9680
                    %*/
9587
 
                    ;}
 
9681
                    }
9588
9682
    break;
9589
9683
 
9590
9684
  case 441:
9591
9685
 
9592
 
/* Line 1464 of yacc.c  */
9593
 
#line 4010 "parse.y"
 
9686
/* Line 1806 of yacc.c  */
 
9687
#line 3993 "parse.y"
9594
9688
    {
9595
9689
                    /*%%%*/
9596
9690
                        (yyval.node) = 0;
9597
9691
                    /*%
9598
 
                        $$ = dispatch0(qwords_new);
 
9692
                        $$ = dispatch0(words_new);
9599
9693
                    %*/
9600
 
                    ;}
 
9694
                    }
9601
9695
    break;
9602
9696
 
9603
9697
  case 442:
9604
9698
 
9605
 
/* Line 1464 of yacc.c  */
9606
 
#line 4018 "parse.y"
 
9699
/* Line 1806 of yacc.c  */
 
9700
#line 4001 "parse.y"
 
9701
    {
 
9702
                    /*%%%*/
 
9703
                        (yyval.node) = list_append((yyvsp[(1) - (3)].node), evstr2dstr((yyvsp[(2) - (3)].node)));
 
9704
                    /*%
 
9705
                        $$ = dispatch2(words_add, $1, $2);
 
9706
                    %*/
 
9707
                    }
 
9708
    break;
 
9709
 
 
9710
  case 444:
 
9711
 
 
9712
/* Line 1806 of yacc.c  */
 
9713
#line 4019 "parse.y"
 
9714
    {
 
9715
                    /*%%%*/
 
9716
                        (yyval.node) = literal_concat((yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node));
 
9717
                    /*%
 
9718
                        $$ = dispatch2(word_add, $1, $2);
 
9719
                    %*/
 
9720
                    }
 
9721
    break;
 
9722
 
 
9723
  case 445:
 
9724
 
 
9725
/* Line 1806 of yacc.c  */
 
9726
#line 4029 "parse.y"
 
9727
    {
 
9728
                    /*%%%*/
 
9729
                        (yyval.node) = NEW_ZARRAY();
 
9730
                    /*%
 
9731
                        $$ = dispatch0(qwords_new);
 
9732
                        $$ = dispatch1(array, $$);
 
9733
                    %*/
 
9734
                    }
 
9735
    break;
 
9736
 
 
9737
  case 446:
 
9738
 
 
9739
/* Line 1806 of yacc.c  */
 
9740
#line 4038 "parse.y"
 
9741
    {
 
9742
                    /*%%%*/
 
9743
                        (yyval.node) = (yyvsp[(2) - (3)].node);
 
9744
                    /*%
 
9745
                        $$ = dispatch1(array, $2);
 
9746
                    %*/
 
9747
                    }
 
9748
    break;
 
9749
 
 
9750
  case 447:
 
9751
 
 
9752
/* Line 1806 of yacc.c  */
 
9753
#line 4048 "parse.y"
 
9754
    {
 
9755
                    /*%%%*/
 
9756
                        (yyval.node) = 0;
 
9757
                    /*%
 
9758
                        $$ = dispatch0(qwords_new);
 
9759
                    %*/
 
9760
                    }
 
9761
    break;
 
9762
 
 
9763
  case 448:
 
9764
 
 
9765
/* Line 1806 of yacc.c  */
 
9766
#line 4056 "parse.y"
9607
9767
    {
9608
9768
                    /*%%%*/
9609
9769
                        (yyval.node) = list_append((yyvsp[(1) - (3)].node), (yyvsp[(2) - (3)].node));
9610
9770
                    /*%
9611
9771
                        $$ = dispatch2(qwords_add, $1, $2);
9612
9772
                    %*/
9613
 
                    ;}
 
9773
                    }
9614
9774
    break;
9615
9775
 
9616
 
  case 443:
 
9776
  case 449:
9617
9777
 
9618
 
/* Line 1464 of yacc.c  */
9619
 
#line 4028 "parse.y"
 
9778
/* Line 1806 of yacc.c  */
 
9779
#line 4066 "parse.y"
9620
9780
    {
9621
9781
                    /*%%%*/
9622
9782
                        (yyval.node) = 0;
9623
9783
                    /*%
9624
9784
                        $$ = dispatch0(string_content);
9625
9785
                    %*/
9626
 
                    ;}
 
9786
                    }
9627
9787
    break;
9628
9788
 
9629
 
  case 444:
 
9789
  case 450:
9630
9790
 
9631
 
/* Line 1464 of yacc.c  */
9632
 
#line 4036 "parse.y"
 
9791
/* Line 1806 of yacc.c  */
 
9792
#line 4074 "parse.y"
9633
9793
    {
9634
9794
                    /*%%%*/
9635
9795
                        (yyval.node) = literal_concat((yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node));
9636
9796
                    /*%
9637
9797
                        $$ = dispatch2(string_add, $1, $2);
9638
9798
                    %*/
9639
 
                    ;}
 
9799
                    }
9640
9800
    break;
9641
9801
 
9642
 
  case 445:
 
9802
  case 451:
9643
9803
 
9644
 
/* Line 1464 of yacc.c  */
9645
 
#line 4046 "parse.y"
 
9804
/* Line 1806 of yacc.c  */
 
9805
#line 4084 "parse.y"
9646
9806
    {
9647
9807
                    /*%%%*/
9648
9808
                        (yyval.node) = 0;
9649
9809
                    /*%
9650
9810
                        $$ = dispatch0(xstring_new);
9651
9811
                    %*/
9652
 
                    ;}
 
9812
                    }
9653
9813
    break;
9654
9814
 
9655
 
  case 446:
 
9815
  case 452:
9656
9816
 
9657
 
/* Line 1464 of yacc.c  */
9658
 
#line 4054 "parse.y"
 
9817
/* Line 1806 of yacc.c  */
 
9818
#line 4092 "parse.y"
9659
9819
    {
9660
9820
                    /*%%%*/
9661
9821
                        (yyval.node) = literal_concat((yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node));
9662
9822
                    /*%
9663
9823
                        $$ = dispatch2(xstring_add, $1, $2);
9664
9824
                    %*/
9665
 
                    ;}
 
9825
                    }
9666
9826
    break;
9667
9827
 
9668
 
  case 447:
 
9828
  case 453:
9669
9829
 
9670
 
/* Line 1464 of yacc.c  */
9671
 
#line 4064 "parse.y"
 
9830
/* Line 1806 of yacc.c  */
 
9831
#line 4102 "parse.y"
9672
9832
    {
9673
9833
                    /*%%%*/
9674
9834
                        (yyval.node) = 0;
9675
9835
                    /*%
9676
9836
                        $$ = dispatch0(regexp_new);
9677
9837
                    %*/
9678
 
                    ;}
 
9838
                    }
9679
9839
    break;
9680
9840
 
9681
 
  case 448:
 
9841
  case 454:
9682
9842
 
9683
 
/* Line 1464 of yacc.c  */
9684
 
#line 4072 "parse.y"
 
9843
/* Line 1806 of yacc.c  */
 
9844
#line 4110 "parse.y"
9685
9845
    {
9686
9846
                    /*%%%*/
9687
9847
                        NODE *head = (yyvsp[(1) - (2)].node), *tail = (yyvsp[(2) - (2)].node);
9707
9867
                    /*%
9708
9868
                        $$ = dispatch2(regexp_add, $1, $2);
9709
9869
                    %*/
9710
 
                    ;}
 
9870
                    }
9711
9871
    break;
9712
9872
 
9713
 
  case 450:
 
9873
  case 456:
9714
9874
 
9715
 
/* Line 1464 of yacc.c  */
9716
 
#line 4102 "parse.y"
 
9875
/* Line 1806 of yacc.c  */
 
9876
#line 4140 "parse.y"
9717
9877
    {
9718
9878
                        (yyval.node) = lex_strterm;
9719
9879
                        lex_strterm = 0;
9720
9880
                        lex_state = EXPR_BEG;
9721
 
                    ;}
 
9881
                    }
9722
9882
    break;
9723
9883
 
9724
 
  case 451:
 
9884
  case 457:
9725
9885
 
9726
 
/* Line 1464 of yacc.c  */
9727
 
#line 4108 "parse.y"
 
9886
/* Line 1806 of yacc.c  */
 
9887
#line 4146 "parse.y"
9728
9888
    {
9729
9889
                    /*%%%*/
9730
9890
                        lex_strterm = (yyvsp[(2) - (3)].node);
9733
9893
                        lex_strterm = $<node>2;
9734
9894
                        $$ = dispatch1(string_dvar, $3);
9735
9895
                    %*/
9736
 
                    ;}
 
9896
                    }
9737
9897
    break;
9738
9898
 
9739
 
  case 452:
 
9899
  case 458:
9740
9900
 
9741
 
/* Line 1464 of yacc.c  */
9742
 
#line 4118 "parse.y"
 
9901
/* Line 1806 of yacc.c  */
 
9902
#line 4156 "parse.y"
9743
9903
    {
9744
9904
                        (yyvsp[(1) - (1)].val) = cond_stack;
9745
9905
                        (yyval.val) = cmdarg_stack;
9746
9906
                        cond_stack = 0;
9747
9907
                        cmdarg_stack = 0;
9748
 
                    ;}
 
9908
                    }
9749
9909
    break;
9750
9910
 
9751
 
  case 453:
 
9911
  case 459:
9752
9912
 
9753
 
/* Line 1464 of yacc.c  */
9754
 
#line 4124 "parse.y"
 
9913
/* Line 1806 of yacc.c  */
 
9914
#line 4162 "parse.y"
9755
9915
    {
9756
9916
                        (yyval.node) = lex_strterm;
9757
9917
                        lex_strterm = 0;
9758
9918
                        lex_state = EXPR_BEG;
9759
 
                    ;}
 
9919
                    }
9760
9920
    break;
9761
9921
 
9762
 
  case 454:
 
9922
  case 460:
9763
9923
 
9764
 
/* Line 1464 of yacc.c  */
9765
 
#line 4130 "parse.y"
 
9924
/* Line 1806 of yacc.c  */
 
9925
#line 4168 "parse.y"
9766
9926
    {
9767
9927
                        cond_stack = (yyvsp[(1) - (5)].val);
9768
9928
                        cmdarg_stack = (yyvsp[(2) - (5)].val);
9773
9933
                    /*%
9774
9934
                        $$ = dispatch1(string_embexpr, $4);
9775
9935
                    %*/
9776
 
                    ;}
 
9936
                    }
9777
9937
    break;
9778
9938
 
9779
 
  case 455:
 
9939
  case 461:
9780
9940
 
9781
 
/* Line 1464 of yacc.c  */
9782
 
#line 4144 "parse.y"
 
9941
/* Line 1806 of yacc.c  */
 
9942
#line 4182 "parse.y"
9783
9943
    {
9784
9944
                    /*%%%*/
9785
9945
                        (yyval.node) = NEW_GVAR((yyvsp[(1) - (1)].id));
9786
9946
                    /*%
9787
9947
                        $$ = dispatch1(var_ref, $1);
9788
9948
                    %*/
9789
 
                    ;}
 
9949
                    }
9790
9950
    break;
9791
9951
 
9792
 
  case 456:
 
9952
  case 462:
9793
9953
 
9794
 
/* Line 1464 of yacc.c  */
9795
 
#line 4152 "parse.y"
 
9954
/* Line 1806 of yacc.c  */
 
9955
#line 4190 "parse.y"
9796
9956
    {
9797
9957
                    /*%%%*/
9798
9958
                        (yyval.node) = NEW_IVAR((yyvsp[(1) - (1)].id));
9799
9959
                    /*%
9800
9960
                        $$ = dispatch1(var_ref, $1);
9801
9961
                    %*/
9802
 
                    ;}
 
9962
                    }
9803
9963
    break;
9804
9964
 
9805
 
  case 457:
 
9965
  case 463:
9806
9966
 
9807
 
/* Line 1464 of yacc.c  */
9808
 
#line 4160 "parse.y"
 
9967
/* Line 1806 of yacc.c  */
 
9968
#line 4198 "parse.y"
9809
9969
    {
9810
9970
                    /*%%%*/
9811
9971
                        (yyval.node) = NEW_CVAR((yyvsp[(1) - (1)].id));
9812
9972
                    /*%
9813
9973
                        $$ = dispatch1(var_ref, $1);
9814
9974
                    %*/
9815
 
                    ;}
 
9975
                    }
9816
9976
    break;
9817
9977
 
9818
 
  case 459:
 
9978
  case 465:
9819
9979
 
9820
 
/* Line 1464 of yacc.c  */
9821
 
#line 4171 "parse.y"
 
9980
/* Line 1806 of yacc.c  */
 
9981
#line 4209 "parse.y"
9822
9982
    {
9823
9983
                        lex_state = EXPR_END;
9824
9984
                    /*%%%*/
9826
9986
                    /*%
9827
9987
                        $$ = dispatch1(symbol, $2);
9828
9988
                    %*/
9829
 
                    ;}
 
9989
                    }
9830
9990
    break;
9831
9991
 
9832
 
  case 464:
 
9992
  case 470:
9833
9993
 
9834
 
/* Line 1464 of yacc.c  */
9835
 
#line 4188 "parse.y"
 
9994
/* Line 1806 of yacc.c  */
 
9995
#line 4226 "parse.y"
9836
9996
    {
9837
9997
                        lex_state = EXPR_END;
9838
9998
                    /*%%%*/
9859
10019
                    /*%
9860
10020
                        $$ = dispatch1(dyna_symbol, $2);
9861
10021
                    %*/
9862
 
                    ;}
9863
 
    break;
9864
 
 
9865
 
  case 467:
9866
 
 
9867
 
/* Line 1464 of yacc.c  */
9868
 
#line 4220 "parse.y"
9869
 
    {
9870
 
                    /*%%%*/
9871
 
                        (yyval.node) = negate_lit((yyvsp[(2) - (2)].node));
9872
 
                    /*%
9873
 
                        $$ = dispatch2(unary, ripper_intern("-@"), $2);
9874
 
                    %*/
9875
 
                    ;}
9876
 
    break;
9877
 
 
9878
 
  case 468:
9879
 
 
9880
 
/* Line 1464 of yacc.c  */
9881
 
#line 4228 "parse.y"
9882
 
    {
9883
 
                    /*%%%*/
9884
 
                        (yyval.node) = negate_lit((yyvsp[(2) - (2)].node));
9885
 
                    /*%
9886
 
                        $$ = dispatch2(unary, ripper_intern("-@"), $2);
9887
 
                    %*/
9888
 
                    ;}
 
10022
                    }
 
10023
    break;
 
10024
 
 
10025
  case 473:
 
10026
 
 
10027
/* Line 1806 of yacc.c  */
 
10028
#line 4258 "parse.y"
 
10029
    {
 
10030
                    /*%%%*/
 
10031
                        (yyval.node) = negate_lit((yyvsp[(2) - (2)].node));
 
10032
                    /*%
 
10033
                        $$ = dispatch2(unary, ripper_intern("-@"), $2);
 
10034
                    %*/
 
10035
                    }
9889
10036
    break;
9890
10037
 
9891
10038
  case 474:
9892
10039
 
9893
 
/* Line 1464 of yacc.c  */
9894
 
#line 4242 "parse.y"
9895
 
    {ifndef_ripper((yyval.id) = keyword_nil);;}
9896
 
    break;
9897
 
 
9898
 
  case 475:
9899
 
 
9900
 
/* Line 1464 of yacc.c  */
9901
 
#line 4243 "parse.y"
9902
 
    {ifndef_ripper((yyval.id) = keyword_self);;}
9903
 
    break;
9904
 
 
9905
 
  case 476:
9906
 
 
9907
 
/* Line 1464 of yacc.c  */
9908
 
#line 4244 "parse.y"
9909
 
    {ifndef_ripper((yyval.id) = keyword_true);;}
9910
 
    break;
9911
 
 
9912
 
  case 477:
9913
 
 
9914
 
/* Line 1464 of yacc.c  */
9915
 
#line 4245 "parse.y"
9916
 
    {ifndef_ripper((yyval.id) = keyword_false);;}
9917
 
    break;
9918
 
 
9919
 
  case 478:
9920
 
 
9921
 
/* Line 1464 of yacc.c  */
9922
 
#line 4246 "parse.y"
9923
 
    {ifndef_ripper((yyval.id) = keyword__FILE__);;}
9924
 
    break;
9925
 
 
9926
 
  case 479:
9927
 
 
9928
 
/* Line 1464 of yacc.c  */
9929
 
#line 4247 "parse.y"
9930
 
    {ifndef_ripper((yyval.id) = keyword__LINE__);;}
 
10040
/* Line 1806 of yacc.c  */
 
10041
#line 4266 "parse.y"
 
10042
    {
 
10043
                    /*%%%*/
 
10044
                        (yyval.node) = negate_lit((yyvsp[(2) - (2)].node));
 
10045
                    /*%
 
10046
                        $$ = dispatch2(unary, ripper_intern("-@"), $2);
 
10047
                    %*/
 
10048
                    }
9931
10049
    break;
9932
10050
 
9933
10051
  case 480:
9934
10052
 
9935
 
/* Line 1464 of yacc.c  */
9936
 
#line 4248 "parse.y"
9937
 
    {ifndef_ripper((yyval.id) = keyword__ENCODING__);;}
 
10053
/* Line 1806 of yacc.c  */
 
10054
#line 4282 "parse.y"
 
10055
    {ifndef_ripper((yyval.id) = keyword_nil);}
9938
10056
    break;
9939
10057
 
9940
10058
  case 481:
9941
10059
 
9942
 
/* Line 1464 of yacc.c  */
9943
 
#line 4252 "parse.y"
9944
 
    {
9945
 
                    /*%%%*/
9946
 
                        if (!((yyval.node) = gettable((yyvsp[(1) - (1)].id)))) (yyval.node) = NEW_BEGIN(0);
9947
 
                    /*%
9948
 
                        $$ = dispatch1(var_ref, $1);
9949
 
                    %*/
9950
 
                    ;}
 
10060
/* Line 1806 of yacc.c  */
 
10061
#line 4283 "parse.y"
 
10062
    {ifndef_ripper((yyval.id) = keyword_self);}
9951
10063
    break;
9952
10064
 
9953
10065
  case 482:
9954
10066
 
9955
 
/* Line 1464 of yacc.c  */
9956
 
#line 4262 "parse.y"
9957
 
    {
9958
 
                        (yyval.node) = assignable((yyvsp[(1) - (1)].id), 0);
9959
 
                    /*%%%*/
9960
 
                    /*%
9961
 
                        $$ = dispatch1(var_field, $$);
9962
 
                    %*/
9963
 
                    ;}
 
10067
/* Line 1806 of yacc.c  */
 
10068
#line 4284 "parse.y"
 
10069
    {ifndef_ripper((yyval.id) = keyword_true);}
 
10070
    break;
 
10071
 
 
10072
  case 483:
 
10073
 
 
10074
/* Line 1806 of yacc.c  */
 
10075
#line 4285 "parse.y"
 
10076
    {ifndef_ripper((yyval.id) = keyword_false);}
 
10077
    break;
 
10078
 
 
10079
  case 484:
 
10080
 
 
10081
/* Line 1806 of yacc.c  */
 
10082
#line 4286 "parse.y"
 
10083
    {ifndef_ripper((yyval.id) = keyword__FILE__);}
9964
10084
    break;
9965
10085
 
9966
10086
  case 485:
9967
10087
 
9968
 
/* Line 1464 of yacc.c  */
9969
 
#line 4276 "parse.y"
9970
 
    {
9971
 
                    /*%%%*/
9972
 
                        (yyval.node) = 0;
9973
 
                    /*%
9974
 
                        $$ = Qnil;
9975
 
                    %*/
9976
 
                    ;}
 
10088
/* Line 1806 of yacc.c  */
 
10089
#line 4287 "parse.y"
 
10090
    {ifndef_ripper((yyval.id) = keyword__LINE__);}
9977
10091
    break;
9978
10092
 
9979
10093
  case 486:
9980
10094
 
9981
 
/* Line 1464 of yacc.c  */
9982
 
#line 4284 "parse.y"
9983
 
    {
9984
 
                        lex_state = EXPR_BEG;
9985
 
                    ;}
 
10095
/* Line 1806 of yacc.c  */
 
10096
#line 4288 "parse.y"
 
10097
    {ifndef_ripper((yyval.id) = keyword__ENCODING__);}
9986
10098
    break;
9987
10099
 
9988
10100
  case 487:
9989
10101
 
9990
 
/* Line 1464 of yacc.c  */
9991
 
#line 4288 "parse.y"
 
10102
/* Line 1806 of yacc.c  */
 
10103
#line 4292 "parse.y"
9992
10104
    {
9993
 
                        (yyval.node) = (yyvsp[(3) - (4)].node);
9994
 
                    ;}
 
10105
                    /*%%%*/
 
10106
                        if (!((yyval.node) = gettable((yyvsp[(1) - (1)].id)))) (yyval.node) = NEW_BEGIN(0);
 
10107
                    /*%
 
10108
                        if (id_is_var(get_id($1))) {
 
10109
                            $$ = dispatch1(var_ref, $1);
 
10110
                        }
 
10111
                        else {
 
10112
                            $$ = dispatch1(vcall, $1);
 
10113
                        }
 
10114
                    %*/
 
10115
                    }
9995
10116
    break;
9996
10117
 
9997
10118
  case 488:
9998
10119
 
9999
 
/* Line 1464 of yacc.c  */
10000
 
#line 4292 "parse.y"
 
10120
/* Line 1806 of yacc.c  */
 
10121
#line 4305 "parse.y"
10001
10122
    {
10002
10123
                    /*%%%*/
10003
 
                        yyerrok;
10004
 
                        (yyval.node) = 0;
 
10124
                        if (!((yyval.node) = gettable((yyvsp[(1) - (1)].id)))) (yyval.node) = NEW_BEGIN(0);
10005
10125
                    /*%
10006
 
                        yyerrok;
10007
 
                        $$ = Qnil;
 
10126
                        $$ = dispatch1(var_ref, $1);
10008
10127
                    %*/
10009
 
                    ;}
 
10128
                    }
10010
10129
    break;
10011
10130
 
10012
10131
  case 489:
10013
10132
 
10014
 
/* Line 1464 of yacc.c  */
10015
 
#line 4304 "parse.y"
 
10133
/* Line 1806 of yacc.c  */
 
10134
#line 4315 "parse.y"
10016
10135
    {
 
10136
                        (yyval.node) = assignable((yyvsp[(1) - (1)].id), 0);
10017
10137
                    /*%%%*/
10018
 
                        (yyval.node) = (yyvsp[(2) - (3)].node);
10019
10138
                    /*%
10020
 
                        $$ = dispatch1(paren, $2);
 
10139
                        $$ = dispatch1(var_field, $$);
10021
10140
                    %*/
10022
 
                        lex_state = EXPR_BEG;
10023
 
                        command_start = TRUE;
10024
 
                    ;}
 
10141
                    }
10025
10142
    break;
10026
10143
 
10027
10144
  case 490:
10028
10145
 
10029
 
/* Line 1464 of yacc.c  */
10030
 
#line 4314 "parse.y"
10031
 
    {
10032
 
                        (yyval.node) = (yyvsp[(1) - (2)].node);
10033
 
                    ;}
10034
 
    break;
10035
 
 
10036
 
  case 491:
10037
 
 
10038
 
/* Line 1464 of yacc.c  */
10039
 
#line 4320 "parse.y"
10040
 
    {
10041
 
                    /*%%%*/
10042
 
                        (yyval.node) = new_args((yyvsp[(1) - (6)].node), (yyvsp[(3) - (6)].node), (yyvsp[(5) - (6)].id), 0, (yyvsp[(6) - (6)].id));
10043
 
                    /*%
10044
 
                        $$ = params_new($1, $3, $5, Qnil, escape_Qundef($6));
10045
 
                    %*/
10046
 
                    ;}
10047
 
    break;
10048
 
 
10049
 
  case 492:
10050
 
 
10051
 
/* Line 1464 of yacc.c  */
10052
 
#line 4328 "parse.y"
10053
 
    {
10054
 
                    /*%%%*/
10055
 
                        (yyval.node) = new_args((yyvsp[(1) - (8)].node), (yyvsp[(3) - (8)].node), (yyvsp[(5) - (8)].id), (yyvsp[(7) - (8)].node), (yyvsp[(8) - (8)].id));
10056
 
                    /*%
10057
 
                        $$ = params_new($1, $3, $5, $7, escape_Qundef($8));
10058
 
                    %*/
10059
 
                    ;}
 
10146
/* Line 1806 of yacc.c  */
 
10147
#line 4323 "parse.y"
 
10148
    {
 
10149
                        (yyval.node) = assignable((yyvsp[(1) - (1)].id), 0);
 
10150
                    /*%%%*/
 
10151
                    /*%
 
10152
                        $$ = dispatch1(var_field, $$);
 
10153
                    %*/
 
10154
                    }
10060
10155
    break;
10061
10156
 
10062
10157
  case 493:
10063
10158
 
10064
 
/* Line 1464 of yacc.c  */
10065
 
#line 4336 "parse.y"
 
10159
/* Line 1806 of yacc.c  */
 
10160
#line 4337 "parse.y"
10066
10161
    {
10067
10162
                    /*%%%*/
10068
 
                        (yyval.node) = new_args((yyvsp[(1) - (4)].node), (yyvsp[(3) - (4)].node), 0, 0, (yyvsp[(4) - (4)].id));
 
10163
                        (yyval.node) = 0;
10069
10164
                    /*%
10070
 
                        $$ = params_new($1, $3, Qnil, Qnil, escape_Qundef($4));
 
10165
                        $$ = Qnil;
10071
10166
                    %*/
10072
 
                    ;}
 
10167
                    }
10073
10168
    break;
10074
10169
 
10075
10170
  case 494:
10076
10171
 
10077
 
/* Line 1464 of yacc.c  */
10078
 
#line 4344 "parse.y"
 
10172
/* Line 1806 of yacc.c  */
 
10173
#line 4345 "parse.y"
10079
10174
    {
10080
 
                    /*%%%*/
10081
 
                        (yyval.node) = new_args((yyvsp[(1) - (6)].node), (yyvsp[(3) - (6)].node), 0, (yyvsp[(5) - (6)].node), (yyvsp[(6) - (6)].id));
10082
 
                    /*%
10083
 
                        $$ = params_new($1, $3, Qnil, $5, escape_Qundef($6));
10084
 
                    %*/
10085
 
                    ;}
 
10175
                        lex_state = EXPR_BEG;
 
10176
                    }
10086
10177
    break;
10087
10178
 
10088
10179
  case 495:
10089
10180
 
10090
 
/* Line 1464 of yacc.c  */
10091
 
#line 4352 "parse.y"
 
10181
/* Line 1806 of yacc.c  */
 
10182
#line 4349 "parse.y"
10092
10183
    {
10093
 
                    /*%%%*/
10094
 
                        (yyval.node) = new_args((yyvsp[(1) - (4)].node), 0, (yyvsp[(3) - (4)].id), 0, (yyvsp[(4) - (4)].id));
10095
 
                    /*%
10096
 
                        $$ = params_new($1, Qnil, $3, Qnil, escape_Qundef($4));
10097
 
                    %*/
10098
 
                    ;}
 
10184
                        (yyval.node) = (yyvsp[(3) - (4)].node);
 
10185
                    }
10099
10186
    break;
10100
10187
 
10101
10188
  case 496:
10102
10189
 
10103
 
/* Line 1464 of yacc.c  */
10104
 
#line 4360 "parse.y"
 
10190
/* Line 1806 of yacc.c  */
 
10191
#line 4353 "parse.y"
10105
10192
    {
10106
10193
                    /*%%%*/
10107
 
                        (yyval.node) = new_args((yyvsp[(1) - (6)].node), 0, (yyvsp[(3) - (6)].id), (yyvsp[(5) - (6)].node), (yyvsp[(6) - (6)].id));
 
10194
                        yyerrok;
 
10195
                        (yyval.node) = 0;
10108
10196
                    /*%
10109
 
                        $$ = params_new($1, Qnil, $3, $5, escape_Qundef($6));
 
10197
                        yyerrok;
 
10198
                        $$ = Qnil;
10110
10199
                    %*/
10111
 
                    ;}
 
10200
                    }
10112
10201
    break;
10113
10202
 
10114
10203
  case 497:
10115
10204
 
10116
 
/* Line 1464 of yacc.c  */
10117
 
#line 4368 "parse.y"
 
10205
/* Line 1806 of yacc.c  */
 
10206
#line 4365 "parse.y"
10118
10207
    {
10119
10208
                    /*%%%*/
10120
 
                        (yyval.node) = new_args((yyvsp[(1) - (2)].node), 0, 0, 0, (yyvsp[(2) - (2)].id));
 
10209
                        (yyval.node) = (yyvsp[(2) - (3)].node);
10121
10210
                    /*%
10122
 
                        $$ = params_new($1, Qnil, Qnil, Qnil,escape_Qundef($2));
 
10211
                        $$ = dispatch1(paren, $2);
10123
10212
                    %*/
10124
 
                    ;}
 
10213
                        lex_state = EXPR_BEG;
 
10214
                        command_start = TRUE;
 
10215
                    }
10125
10216
    break;
10126
10217
 
10127
10218
  case 498:
10128
10219
 
10129
 
/* Line 1464 of yacc.c  */
10130
 
#line 4376 "parse.y"
 
10220
/* Line 1806 of yacc.c  */
 
10221
#line 4375 "parse.y"
10131
10222
    {
10132
 
                    /*%%%*/
10133
 
                        (yyval.node) = new_args(0, (yyvsp[(1) - (4)].node), (yyvsp[(3) - (4)].id), 0, (yyvsp[(4) - (4)].id));
10134
 
                    /*%
10135
 
                        $$ = params_new(Qnil, $1, $3, Qnil, escape_Qundef($4));
10136
 
                    %*/
10137
 
                    ;}
 
10223
                        (yyval.node) = (yyvsp[(1) - (2)].node);
 
10224
                    }
10138
10225
    break;
10139
10226
 
10140
10227
  case 499:
10141
10228
 
10142
 
/* Line 1464 of yacc.c  */
10143
 
#line 4384 "parse.y"
 
10229
/* Line 1806 of yacc.c  */
 
10230
#line 4381 "parse.y"
10144
10231
    {
10145
10232
                    /*%%%*/
10146
 
                        (yyval.node) = new_args(0, (yyvsp[(1) - (6)].node), (yyvsp[(3) - (6)].id), (yyvsp[(5) - (6)].node), (yyvsp[(6) - (6)].id));
 
10233
                        (yyval.node) = new_args((yyvsp[(1) - (6)].node), (yyvsp[(3) - (6)].node), (yyvsp[(5) - (6)].id), 0, (yyvsp[(6) - (6)].id));
10147
10234
                    /*%
10148
 
                        $$ = params_new(Qnil, $1, $3, $5, escape_Qundef($6));
 
10235
                        $$ = params_new($1, $3, $5, Qnil, escape_Qundef($6));
10149
10236
                    %*/
10150
 
                    ;}
 
10237
                    }
10151
10238
    break;
10152
10239
 
10153
10240
  case 500:
10154
10241
 
10155
 
/* Line 1464 of yacc.c  */
10156
 
#line 4392 "parse.y"
 
10242
/* Line 1806 of yacc.c  */
 
10243
#line 4389 "parse.y"
10157
10244
    {
10158
10245
                    /*%%%*/
10159
 
                        (yyval.node) = new_args(0, (yyvsp[(1) - (2)].node), 0, 0, (yyvsp[(2) - (2)].id));
 
10246
                        (yyval.node) = new_args((yyvsp[(1) - (8)].node), (yyvsp[(3) - (8)].node), (yyvsp[(5) - (8)].id), (yyvsp[(7) - (8)].node), (yyvsp[(8) - (8)].id));
10160
10247
                    /*%
10161
 
                        $$ = params_new(Qnil, $1, Qnil, Qnil,escape_Qundef($2));
 
10248
                        $$ = params_new($1, $3, $5, $7, escape_Qundef($8));
10162
10249
                    %*/
10163
 
                    ;}
 
10250
                    }
10164
10251
    break;
10165
10252
 
10166
10253
  case 501:
10167
10254
 
10168
 
/* Line 1464 of yacc.c  */
10169
 
#line 4400 "parse.y"
 
10255
/* Line 1806 of yacc.c  */
 
10256
#line 4397 "parse.y"
10170
10257
    {
10171
10258
                    /*%%%*/
10172
 
                        (yyval.node) = new_args(0, (yyvsp[(1) - (4)].node), 0, (yyvsp[(3) - (4)].node), (yyvsp[(4) - (4)].id));
 
10259
                        (yyval.node) = new_args((yyvsp[(1) - (4)].node), (yyvsp[(3) - (4)].node), 0, 0, (yyvsp[(4) - (4)].id));
10173
10260
                    /*%
10174
 
                        $$ = params_new(Qnil, $1, Qnil, $3, escape_Qundef($4));
 
10261
                        $$ = params_new($1, $3, Qnil, Qnil, escape_Qundef($4));
10175
10262
                    %*/
10176
 
                    ;}
 
10263
                    }
10177
10264
    break;
10178
10265
 
10179
10266
  case 502:
10180
10267
 
10181
 
/* Line 1464 of yacc.c  */
10182
 
#line 4408 "parse.y"
 
10268
/* Line 1806 of yacc.c  */
 
10269
#line 4405 "parse.y"
10183
10270
    {
10184
10271
                    /*%%%*/
10185
 
                        (yyval.node) = new_args(0, 0, (yyvsp[(1) - (2)].id), 0, (yyvsp[(2) - (2)].id));
 
10272
                        (yyval.node) = new_args((yyvsp[(1) - (6)].node), (yyvsp[(3) - (6)].node), 0, (yyvsp[(5) - (6)].node), (yyvsp[(6) - (6)].id));
10186
10273
                    /*%
10187
 
                        $$ = params_new(Qnil, Qnil, $1, Qnil,escape_Qundef($2));
 
10274
                        $$ = params_new($1, $3, Qnil, $5, escape_Qundef($6));
10188
10275
                    %*/
10189
 
                    ;}
 
10276
                    }
10190
10277
    break;
10191
10278
 
10192
10279
  case 503:
10193
10280
 
10194
 
/* Line 1464 of yacc.c  */
10195
 
#line 4416 "parse.y"
 
10281
/* Line 1806 of yacc.c  */
 
10282
#line 4413 "parse.y"
10196
10283
    {
10197
10284
                    /*%%%*/
10198
 
                        (yyval.node) = new_args(0, 0, (yyvsp[(1) - (4)].id), (yyvsp[(3) - (4)].node), (yyvsp[(4) - (4)].id));
 
10285
                        (yyval.node) = new_args((yyvsp[(1) - (4)].node), 0, (yyvsp[(3) - (4)].id), 0, (yyvsp[(4) - (4)].id));
10199
10286
                    /*%
10200
 
                        $$ = params_new(Qnil, Qnil, $1, $3, escape_Qundef($4));
 
10287
                        $$ = params_new($1, Qnil, $3, Qnil, escape_Qundef($4));
10201
10288
                    %*/
10202
 
                    ;}
 
10289
                    }
10203
10290
    break;
10204
10291
 
10205
10292
  case 504:
10206
10293
 
10207
 
/* Line 1464 of yacc.c  */
10208
 
#line 4424 "parse.y"
 
10294
/* Line 1806 of yacc.c  */
 
10295
#line 4421 "parse.y"
10209
10296
    {
10210
10297
                    /*%%%*/
10211
 
                        (yyval.node) = new_args(0, 0, 0, 0, (yyvsp[(1) - (1)].id));
 
10298
                        (yyval.node) = new_args((yyvsp[(1) - (6)].node), 0, (yyvsp[(3) - (6)].id), (yyvsp[(5) - (6)].node), (yyvsp[(6) - (6)].id));
10212
10299
                    /*%
10213
 
                        $$ = params_new(Qnil, Qnil, Qnil, Qnil, $1);
 
10300
                        $$ = params_new($1, Qnil, $3, $5, escape_Qundef($6));
10214
10301
                    %*/
10215
 
                    ;}
 
10302
                    }
10216
10303
    break;
10217
10304
 
10218
10305
  case 505:
10219
10306
 
10220
 
/* Line 1464 of yacc.c  */
10221
 
#line 4432 "parse.y"
 
10307
/* Line 1806 of yacc.c  */
 
10308
#line 4429 "parse.y"
 
10309
    {
 
10310
                    /*%%%*/
 
10311
                        (yyval.node) = new_args((yyvsp[(1) - (2)].node), 0, 0, 0, (yyvsp[(2) - (2)].id));
 
10312
                    /*%
 
10313
                        $$ = params_new($1, Qnil, Qnil, Qnil,escape_Qundef($2));
 
10314
                    %*/
 
10315
                    }
 
10316
    break;
 
10317
 
 
10318
  case 506:
 
10319
 
 
10320
/* Line 1806 of yacc.c  */
 
10321
#line 4437 "parse.y"
 
10322
    {
 
10323
                    /*%%%*/
 
10324
                        (yyval.node) = new_args(0, (yyvsp[(1) - (4)].node), (yyvsp[(3) - (4)].id), 0, (yyvsp[(4) - (4)].id));
 
10325
                    /*%
 
10326
                        $$ = params_new(Qnil, $1, $3, Qnil, escape_Qundef($4));
 
10327
                    %*/
 
10328
                    }
 
10329
    break;
 
10330
 
 
10331
  case 507:
 
10332
 
 
10333
/* Line 1806 of yacc.c  */
 
10334
#line 4445 "parse.y"
 
10335
    {
 
10336
                    /*%%%*/
 
10337
                        (yyval.node) = new_args(0, (yyvsp[(1) - (6)].node), (yyvsp[(3) - (6)].id), (yyvsp[(5) - (6)].node), (yyvsp[(6) - (6)].id));
 
10338
                    /*%
 
10339
                        $$ = params_new(Qnil, $1, $3, $5, escape_Qundef($6));
 
10340
                    %*/
 
10341
                    }
 
10342
    break;
 
10343
 
 
10344
  case 508:
 
10345
 
 
10346
/* Line 1806 of yacc.c  */
 
10347
#line 4453 "parse.y"
 
10348
    {
 
10349
                    /*%%%*/
 
10350
                        (yyval.node) = new_args(0, (yyvsp[(1) - (2)].node), 0, 0, (yyvsp[(2) - (2)].id));
 
10351
                    /*%
 
10352
                        $$ = params_new(Qnil, $1, Qnil, Qnil,escape_Qundef($2));
 
10353
                    %*/
 
10354
                    }
 
10355
    break;
 
10356
 
 
10357
  case 509:
 
10358
 
 
10359
/* Line 1806 of yacc.c  */
 
10360
#line 4461 "parse.y"
 
10361
    {
 
10362
                    /*%%%*/
 
10363
                        (yyval.node) = new_args(0, (yyvsp[(1) - (4)].node), 0, (yyvsp[(3) - (4)].node), (yyvsp[(4) - (4)].id));
 
10364
                    /*%
 
10365
                        $$ = params_new(Qnil, $1, Qnil, $3, escape_Qundef($4));
 
10366
                    %*/
 
10367
                    }
 
10368
    break;
 
10369
 
 
10370
  case 510:
 
10371
 
 
10372
/* Line 1806 of yacc.c  */
 
10373
#line 4469 "parse.y"
 
10374
    {
 
10375
                    /*%%%*/
 
10376
                        (yyval.node) = new_args(0, 0, (yyvsp[(1) - (2)].id), 0, (yyvsp[(2) - (2)].id));
 
10377
                    /*%
 
10378
                        $$ = params_new(Qnil, Qnil, $1, Qnil,escape_Qundef($2));
 
10379
                    %*/
 
10380
                    }
 
10381
    break;
 
10382
 
 
10383
  case 511:
 
10384
 
 
10385
/* Line 1806 of yacc.c  */
 
10386
#line 4477 "parse.y"
 
10387
    {
 
10388
                    /*%%%*/
 
10389
                        (yyval.node) = new_args(0, 0, (yyvsp[(1) - (4)].id), (yyvsp[(3) - (4)].node), (yyvsp[(4) - (4)].id));
 
10390
                    /*%
 
10391
                        $$ = params_new(Qnil, Qnil, $1, $3, escape_Qundef($4));
 
10392
                    %*/
 
10393
                    }
 
10394
    break;
 
10395
 
 
10396
  case 512:
 
10397
 
 
10398
/* Line 1806 of yacc.c  */
 
10399
#line 4485 "parse.y"
 
10400
    {
 
10401
                    /*%%%*/
 
10402
                        (yyval.node) = new_args(0, 0, 0, 0, (yyvsp[(1) - (1)].id));
 
10403
                    /*%
 
10404
                        $$ = params_new(Qnil, Qnil, Qnil, Qnil, $1);
 
10405
                    %*/
 
10406
                    }
 
10407
    break;
 
10408
 
 
10409
  case 513:
 
10410
 
 
10411
/* Line 1806 of yacc.c  */
 
10412
#line 4493 "parse.y"
10222
10413
    {
10223
10414
                    /*%%%*/
10224
10415
                        (yyval.node) = new_args(0, 0, 0, 0, 0);
10225
10416
                    /*%
10226
10417
                        $$ = params_new(Qnil, Qnil, Qnil, Qnil, Qnil);
10227
10418
                    %*/
10228
 
                    ;}
 
10419
                    }
10229
10420
    break;
10230
10421
 
10231
 
  case 506:
 
10422
  case 514:
10232
10423
 
10233
 
/* Line 1464 of yacc.c  */
10234
 
#line 4442 "parse.y"
 
10424
/* Line 1806 of yacc.c  */
 
10425
#line 4503 "parse.y"
10235
10426
    {
10236
10427
                    /*%%%*/
10237
10428
                        yyerror("formal argument cannot be a constant");
10239
10430
                    /*%
10240
10431
                        $$ = dispatch1(param_error, $1);
10241
10432
                    %*/
10242
 
                    ;}
 
10433
                    }
10243
10434
    break;
10244
10435
 
10245
 
  case 507:
 
10436
  case 515:
10246
10437
 
10247
 
/* Line 1464 of yacc.c  */
10248
 
#line 4451 "parse.y"
 
10438
/* Line 1806 of yacc.c  */
 
10439
#line 4512 "parse.y"
10249
10440
    {
10250
10441
                    /*%%%*/
10251
10442
                        yyerror("formal argument cannot be an instance variable");
10253
10444
                    /*%
10254
10445
                        $$ = dispatch1(param_error, $1);
10255
10446
                    %*/
10256
 
                    ;}
 
10447
                    }
10257
10448
    break;
10258
10449
 
10259
 
  case 508:
 
10450
  case 516:
10260
10451
 
10261
 
/* Line 1464 of yacc.c  */
10262
 
#line 4460 "parse.y"
 
10452
/* Line 1806 of yacc.c  */
 
10453
#line 4521 "parse.y"
10263
10454
    {
10264
10455
                    /*%%%*/
10265
10456
                        yyerror("formal argument cannot be a global variable");
10267
10458
                    /*%
10268
10459
                        $$ = dispatch1(param_error, $1);
10269
10460
                    %*/
10270
 
                    ;}
 
10461
                    }
10271
10462
    break;
10272
10463
 
10273
 
  case 509:
 
10464
  case 517:
10274
10465
 
10275
 
/* Line 1464 of yacc.c  */
10276
 
#line 4469 "parse.y"
 
10466
/* Line 1806 of yacc.c  */
 
10467
#line 4530 "parse.y"
10277
10468
    {
10278
10469
                    /*%%%*/
10279
10470
                        yyerror("formal argument cannot be a class variable");
10281
10472
                    /*%
10282
10473
                        $$ = dispatch1(param_error, $1);
10283
10474
                    %*/
10284
 
                    ;}
 
10475
                    }
10285
10476
    break;
10286
10477
 
10287
 
  case 511:
 
10478
  case 519:
10288
10479
 
10289
 
/* Line 1464 of yacc.c  */
10290
 
#line 4481 "parse.y"
 
10480
/* Line 1806 of yacc.c  */
 
10481
#line 4542 "parse.y"
10291
10482
    {
10292
10483
                        formal_argument(get_id((yyvsp[(1) - (1)].id)));
10293
10484
                        (yyval.id) = (yyvsp[(1) - (1)].id);
10294
 
                    ;}
 
10485
                    }
10295
10486
    break;
10296
10487
 
10297
 
  case 512:
 
10488
  case 520:
10298
10489
 
10299
 
/* Line 1464 of yacc.c  */
10300
 
#line 4488 "parse.y"
 
10490
/* Line 1806 of yacc.c  */
 
10491
#line 4549 "parse.y"
10301
10492
    {
10302
10493
                        arg_var(get_id((yyvsp[(1) - (1)].id)));
10303
10494
                    /*%%%*/
10305
10496
                    /*%
10306
10497
                        $$ = get_value($1);
10307
10498
                    %*/
10308
 
                    ;}
 
10499
                    }
10309
10500
    break;
10310
10501
 
10311
 
  case 513:
 
10502
  case 521:
10312
10503
 
10313
 
/* Line 1464 of yacc.c  */
10314
 
#line 4497 "parse.y"
 
10504
/* Line 1806 of yacc.c  */
 
10505
#line 4558 "parse.y"
10315
10506
    {
10316
10507
                        ID tid = internal_id();
10317
10508
                        arg_var(tid);
10327
10518
                    /*%
10328
10519
                        $$ = dispatch1(mlhs_paren, $2);
10329
10520
                    %*/
10330
 
                    ;}
 
10521
                    }
10331
10522
    break;
10332
10523
 
10333
 
  case 515:
 
10524
  case 523:
10334
10525
 
10335
 
/* Line 1464 of yacc.c  */
10336
 
#line 4523 "parse.y"
 
10526
/* Line 1806 of yacc.c  */
 
10527
#line 4584 "parse.y"
10337
10528
    {
10338
10529
                    /*%%%*/
10339
10530
                        (yyval.node) = (yyvsp[(1) - (3)].node);
10343
10534
                    /*%
10344
10535
                        $$ = rb_ary_push($1, $3);
10345
10536
                    %*/
10346
 
                    ;}
10347
 
    break;
10348
 
 
10349
 
  case 516:
10350
 
 
10351
 
/* Line 1464 of yacc.c  */
10352
 
#line 4536 "parse.y"
10353
 
    {
10354
 
                        arg_var(formal_argument(get_id((yyvsp[(1) - (3)].id))));
10355
 
                        (yyval.node) = assignable((yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].node));
10356
 
                    /*%%%*/
10357
 
                        (yyval.node) = NEW_OPT_ARG(0, (yyval.node));
10358
 
                    /*%
10359
 
                        $$ = rb_assoc_new($$, $3);
10360
 
                    %*/
10361
 
                    ;}
10362
 
    break;
10363
 
 
10364
 
  case 517:
10365
 
 
10366
 
/* Line 1464 of yacc.c  */
10367
 
#line 4548 "parse.y"
10368
 
    {
10369
 
                        arg_var(formal_argument(get_id((yyvsp[(1) - (3)].id))));
10370
 
                        (yyval.node) = assignable((yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].node));
10371
 
                    /*%%%*/
10372
 
                        (yyval.node) = NEW_OPT_ARG(0, (yyval.node));
10373
 
                    /*%
10374
 
                        $$ = rb_assoc_new($$, $3);
10375
 
                    %*/
10376
 
                    ;}
10377
 
    break;
10378
 
 
10379
 
  case 518:
10380
 
 
10381
 
/* Line 1464 of yacc.c  */
10382
 
#line 4560 "parse.y"
10383
 
    {
10384
 
                    /*%%%*/
10385
 
                        (yyval.node) = (yyvsp[(1) - (1)].node);
10386
 
                    /*%
10387
 
                        $$ = rb_ary_new3(1, $1);
10388
 
                    %*/
10389
 
                    ;}
10390
 
    break;
10391
 
 
10392
 
  case 519:
10393
 
 
10394
 
/* Line 1464 of yacc.c  */
10395
 
#line 4568 "parse.y"
10396
 
    {
10397
 
                    /*%%%*/
10398
 
                        NODE *opts = (yyvsp[(1) - (3)].node);
10399
 
 
10400
 
                        while (opts->nd_next) {
10401
 
                            opts = opts->nd_next;
10402
 
                        }
10403
 
                        opts->nd_next = (yyvsp[(3) - (3)].node);
10404
 
                        (yyval.node) = (yyvsp[(1) - (3)].node);
10405
 
                    /*%
10406
 
                        $$ = rb_ary_push($1, $3);
10407
 
                    %*/
10408
 
                    ;}
10409
 
    break;
10410
 
 
10411
 
  case 520:
10412
 
 
10413
 
/* Line 1464 of yacc.c  */
10414
 
#line 4584 "parse.y"
10415
 
    {
10416
 
                    /*%%%*/
10417
 
                        (yyval.node) = (yyvsp[(1) - (1)].node);
10418
 
                    /*%
10419
 
                        $$ = rb_ary_new3(1, $1);
10420
 
                    %*/
10421
 
                    ;}
10422
 
    break;
10423
 
 
10424
 
  case 521:
10425
 
 
10426
 
/* Line 1464 of yacc.c  */
10427
 
#line 4592 "parse.y"
10428
 
    {
10429
 
                    /*%%%*/
10430
 
                        NODE *opts = (yyvsp[(1) - (3)].node);
10431
 
 
10432
 
                        while (opts->nd_next) {
10433
 
                            opts = opts->nd_next;
10434
 
                        }
10435
 
                        opts->nd_next = (yyvsp[(3) - (3)].node);
10436
 
                        (yyval.node) = (yyvsp[(1) - (3)].node);
10437
 
                    /*%
10438
 
                        $$ = rb_ary_push($1, $3);
10439
 
                    %*/
10440
 
                    ;}
 
10537
                    }
10441
10538
    break;
10442
10539
 
10443
10540
  case 524:
10444
10541
 
10445
 
/* Line 1464 of yacc.c  */
10446
 
#line 4612 "parse.y"
 
10542
/* Line 1806 of yacc.c  */
 
10543
#line 4597 "parse.y"
 
10544
    {
 
10545
                        arg_var(formal_argument(get_id((yyvsp[(1) - (3)].id))));
 
10546
                        (yyval.node) = assignable((yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].node));
 
10547
                    /*%%%*/
 
10548
                        (yyval.node) = NEW_OPT_ARG(0, (yyval.node));
 
10549
                    /*%
 
10550
                        $$ = rb_assoc_new($$, $3);
 
10551
                    %*/
 
10552
                    }
 
10553
    break;
 
10554
 
 
10555
  case 525:
 
10556
 
 
10557
/* Line 1806 of yacc.c  */
 
10558
#line 4609 "parse.y"
 
10559
    {
 
10560
                        arg_var(formal_argument(get_id((yyvsp[(1) - (3)].id))));
 
10561
                        (yyval.node) = assignable((yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].node));
 
10562
                    /*%%%*/
 
10563
                        (yyval.node) = NEW_OPT_ARG(0, (yyval.node));
 
10564
                    /*%
 
10565
                        $$ = rb_assoc_new($$, $3);
 
10566
                    %*/
 
10567
                    }
 
10568
    break;
 
10569
 
 
10570
  case 526:
 
10571
 
 
10572
/* Line 1806 of yacc.c  */
 
10573
#line 4621 "parse.y"
 
10574
    {
 
10575
                    /*%%%*/
 
10576
                        (yyval.node) = (yyvsp[(1) - (1)].node);
 
10577
                    /*%
 
10578
                        $$ = rb_ary_new3(1, $1);
 
10579
                    %*/
 
10580
                    }
 
10581
    break;
 
10582
 
 
10583
  case 527:
 
10584
 
 
10585
/* Line 1806 of yacc.c  */
 
10586
#line 4629 "parse.y"
 
10587
    {
 
10588
                    /*%%%*/
 
10589
                        NODE *opts = (yyvsp[(1) - (3)].node);
 
10590
 
 
10591
                        while (opts->nd_next) {
 
10592
                            opts = opts->nd_next;
 
10593
                        }
 
10594
                        opts->nd_next = (yyvsp[(3) - (3)].node);
 
10595
                        (yyval.node) = (yyvsp[(1) - (3)].node);
 
10596
                    /*%
 
10597
                        $$ = rb_ary_push($1, $3);
 
10598
                    %*/
 
10599
                    }
 
10600
    break;
 
10601
 
 
10602
  case 528:
 
10603
 
 
10604
/* Line 1806 of yacc.c  */
 
10605
#line 4645 "parse.y"
 
10606
    {
 
10607
                    /*%%%*/
 
10608
                        (yyval.node) = (yyvsp[(1) - (1)].node);
 
10609
                    /*%
 
10610
                        $$ = rb_ary_new3(1, $1);
 
10611
                    %*/
 
10612
                    }
 
10613
    break;
 
10614
 
 
10615
  case 529:
 
10616
 
 
10617
/* Line 1806 of yacc.c  */
 
10618
#line 4653 "parse.y"
 
10619
    {
 
10620
                    /*%%%*/
 
10621
                        NODE *opts = (yyvsp[(1) - (3)].node);
 
10622
 
 
10623
                        while (opts->nd_next) {
 
10624
                            opts = opts->nd_next;
 
10625
                        }
 
10626
                        opts->nd_next = (yyvsp[(3) - (3)].node);
 
10627
                        (yyval.node) = (yyvsp[(1) - (3)].node);
 
10628
                    /*%
 
10629
                        $$ = rb_ary_push($1, $3);
 
10630
                    %*/
 
10631
                    }
 
10632
    break;
 
10633
 
 
10634
  case 532:
 
10635
 
 
10636
/* Line 1806 of yacc.c  */
 
10637
#line 4673 "parse.y"
10447
10638
    {
10448
10639
                    /*%%%*/
10449
10640
                        if (!is_local_id((yyvsp[(2) - (2)].id)))
10455
10646
                    /*%
10456
10647
                        $$ = dispatch1(rest_param, $2);
10457
10648
                    %*/
10458
 
                    ;}
 
10649
                    }
10459
10650
    break;
10460
10651
 
10461
 
  case 525:
 
10652
  case 533:
10462
10653
 
10463
 
/* Line 1464 of yacc.c  */
10464
 
#line 4625 "parse.y"
 
10654
/* Line 1806 of yacc.c  */
 
10655
#line 4686 "parse.y"
10465
10656
    {
10466
10657
                    /*%%%*/
10467
10658
                        (yyval.id) = internal_id();
10469
10660
                    /*%
10470
10661
                        $$ = dispatch1(rest_param, Qnil);
10471
10662
                    %*/
10472
 
                    ;}
 
10663
                    }
10473
10664
    break;
10474
10665
 
10475
 
  case 528:
 
10666
  case 536:
10476
10667
 
10477
 
/* Line 1464 of yacc.c  */
10478
 
#line 4640 "parse.y"
 
10668
/* Line 1806 of yacc.c  */
 
10669
#line 4701 "parse.y"
10479
10670
    {
10480
10671
                    /*%%%*/
10481
10672
                        if (!is_local_id((yyvsp[(2) - (2)].id)))
10489
10680
                    /*%
10490
10681
                        $$ = dispatch1(blockarg, $2);
10491
10682
                    %*/
10492
 
                    ;}
 
10683
                    }
10493
10684
    break;
10494
10685
 
10495
 
  case 529:
 
10686
  case 537:
10496
10687
 
10497
 
/* Line 1464 of yacc.c  */
10498
 
#line 4657 "parse.y"
 
10688
/* Line 1806 of yacc.c  */
 
10689
#line 4718 "parse.y"
10499
10690
    {
10500
10691
                        (yyval.id) = (yyvsp[(2) - (2)].id);
10501
 
                    ;}
 
10692
                    }
10502
10693
    break;
10503
10694
 
10504
 
  case 530:
 
10695
  case 538:
10505
10696
 
10506
 
/* Line 1464 of yacc.c  */
10507
 
#line 4661 "parse.y"
 
10697
/* Line 1806 of yacc.c  */
 
10698
#line 4722 "parse.y"
10508
10699
    {
10509
10700
                    /*%%%*/
10510
10701
                        (yyval.id) = 0;
10511
10702
                    /*%
10512
10703
                        $$ = Qundef;
10513
10704
                    %*/
10514
 
                    ;}
 
10705
                    }
10515
10706
    break;
10516
10707
 
10517
 
  case 531:
 
10708
  case 539:
10518
10709
 
10519
 
/* Line 1464 of yacc.c  */
10520
 
#line 4671 "parse.y"
 
10710
/* Line 1806 of yacc.c  */
 
10711
#line 4732 "parse.y"
10521
10712
    {
10522
10713
                    /*%%%*/
10523
10714
                        value_expr((yyvsp[(1) - (1)].node));
10526
10717
                    /*%
10527
10718
                        $$ = $1;
10528
10719
                    %*/
10529
 
                    ;}
10530
 
    break;
10531
 
 
10532
 
  case 532:
10533
 
 
10534
 
/* Line 1464 of yacc.c  */
10535
 
#line 4680 "parse.y"
10536
 
    {lex_state = EXPR_BEG;;}
10537
 
    break;
10538
 
 
10539
 
  case 533:
10540
 
 
10541
 
/* Line 1464 of yacc.c  */
10542
 
#line 4681 "parse.y"
 
10720
                    }
 
10721
    break;
 
10722
 
 
10723
  case 540:
 
10724
 
 
10725
/* Line 1806 of yacc.c  */
 
10726
#line 4741 "parse.y"
 
10727
    {lex_state = EXPR_BEG;}
 
10728
    break;
 
10729
 
 
10730
  case 541:
 
10731
 
 
10732
/* Line 1806 of yacc.c  */
 
10733
#line 4742 "parse.y"
10543
10734
    {
10544
10735
                    /*%%%*/
10545
10736
                        if ((yyvsp[(3) - (4)].node) == 0) {
10565
10756
                    /*%
10566
10757
                        $$ = dispatch1(paren, $3);
10567
10758
                    %*/
10568
 
                    ;}
 
10759
                    }
10569
10760
    break;
10570
10761
 
10571
 
  case 535:
 
10762
  case 543:
10572
10763
 
10573
 
/* Line 1464 of yacc.c  */
10574
 
#line 4711 "parse.y"
 
10764
/* Line 1806 of yacc.c  */
 
10765
#line 4772 "parse.y"
10575
10766
    {
10576
10767
                    /*%%%*/
10577
10768
                        (yyval.node) = (yyvsp[(1) - (2)].node);
10578
10769
                    /*%
10579
10770
                        $$ = dispatch1(assoclist_from_args, $1);
10580
10771
                    %*/
10581
 
                    ;}
 
10772
                    }
10582
10773
    break;
10583
10774
 
10584
 
  case 537:
 
10775
  case 545:
10585
10776
 
10586
 
/* Line 1464 of yacc.c  */
10587
 
#line 4728 "parse.y"
 
10777
/* Line 1806 of yacc.c  */
 
10778
#line 4789 "parse.y"
10588
10779
    {
10589
10780
                    /*%%%*/
10590
10781
                        (yyval.node) = list_concat((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
10591
10782
                    /*%
10592
10783
                        $$ = rb_ary_push($1, $3);
10593
10784
                    %*/
10594
 
                    ;}
 
10785
                    }
10595
10786
    break;
10596
10787
 
10597
 
  case 538:
 
10788
  case 546:
10598
10789
 
10599
 
/* Line 1464 of yacc.c  */
10600
 
#line 4738 "parse.y"
 
10790
/* Line 1806 of yacc.c  */
 
10791
#line 4799 "parse.y"
10601
10792
    {
10602
10793
                    /*%%%*/
10603
10794
                        (yyval.node) = list_append(NEW_LIST((yyvsp[(1) - (3)].node)), (yyvsp[(3) - (3)].node));
10604
10795
                    /*%
10605
10796
                        $$ = dispatch2(assoc_new, $1, $3);
10606
10797
                    %*/
10607
 
                    ;}
 
10798
                    }
10608
10799
    break;
10609
10800
 
10610
 
  case 539:
 
10801
  case 547:
10611
10802
 
10612
 
/* Line 1464 of yacc.c  */
10613
 
#line 4746 "parse.y"
 
10803
/* Line 1806 of yacc.c  */
 
10804
#line 4807 "parse.y"
10614
10805
    {
10615
10806
                    /*%%%*/
10616
10807
                        (yyval.node) = list_append(NEW_LIST(NEW_LIT(ID2SYM((yyvsp[(1) - (2)].id)))), (yyvsp[(2) - (2)].node));
10617
10808
                    /*%
10618
10809
                        $$ = dispatch2(assoc_new, $1, $2);
10619
10810
                    %*/
10620
 
                    ;}
10621
 
    break;
10622
 
 
10623
 
  case 561:
10624
 
 
10625
 
/* Line 1464 of yacc.c  */
10626
 
#line 4802 "parse.y"
10627
 
    {yyerrok;;}
10628
 
    break;
10629
 
 
10630
 
  case 564:
10631
 
 
10632
 
/* Line 1464 of yacc.c  */
10633
 
#line 4807 "parse.y"
10634
 
    {yyerrok;;}
10635
 
    break;
10636
 
 
10637
 
  case 565:
10638
 
 
10639
 
/* Line 1464 of yacc.c  */
10640
 
#line 4811 "parse.y"
 
10811
                    }
 
10812
    break;
 
10813
 
 
10814
  case 569:
 
10815
 
 
10816
/* Line 1806 of yacc.c  */
 
10817
#line 4863 "parse.y"
 
10818
    {yyerrok;}
 
10819
    break;
 
10820
 
 
10821
  case 572:
 
10822
 
 
10823
/* Line 1806 of yacc.c  */
 
10824
#line 4868 "parse.y"
 
10825
    {yyerrok;}
 
10826
    break;
 
10827
 
 
10828
  case 573:
 
10829
 
 
10830
/* Line 1806 of yacc.c  */
 
10831
#line 4872 "parse.y"
10641
10832
    {
10642
10833
                    /*%%%*/
10643
10834
                        (yyval.node) = 0;
10644
10835
                    /*%
10645
10836
                        $$ = Qundef;
10646
10837
                    %*/
10647
 
                    ;}
 
10838
                    }
10648
10839
    break;
10649
10840
 
10650
10841
 
10651
10842
 
10652
 
/* Line 1464 of yacc.c  */
10653
 
#line 10652 "parse.c"
 
10843
/* Line 1806 of yacc.c  */
 
10844
#line 10843 "parse.c"
10654
10845
      default: break;
10655
10846
    }
 
10847
  /* User semantic actions sometimes alter yychar, and that requires
 
10848
     that yytoken be updated with the new translation.  We take the
 
10849
     approach of translating immediately before every use of yytoken.
 
10850
     One alternative is translating here after every semantic action,
 
10851
     but that translation would be missed if the semantic action invokes
 
10852
     YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
 
10853
     if it invokes YYBACKUP.  In the case of YYABORT or YYACCEPT, an
 
10854
     incorrect destructor might then be invoked immediately.  In the
 
10855
     case of YYERROR or YYBACKUP, subsequent parser actions might lead
 
10856
     to an incorrect destructor call or verbose syntax error message
 
10857
     before the lookahead is translated.  */
10656
10858
  YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
10657
10859
 
10658
10860
  YYPOPSTACK (yylen);
10680
10882
| yyerrlab -- here on detecting error |
10681
10883
`------------------------------------*/
10682
10884
yyerrlab:
 
10885
  /* Make sure we have latest lookahead translation.  See comments at
 
10886
     user semantic actions for why this is necessary.  */
 
10887
  yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
 
10888
 
10683
10889
  /* If not already recovering from an error, report this error.  */
10684
10890
  if (!yyerrstatus)
10685
10891
    {
10687
10893
#if ! YYERROR_VERBOSE
10688
10894
      parser_yyerror (parser, YY_("syntax error"));
10689
10895
#else
 
10896
# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
 
10897
                                        yyssp, yytoken)
10690
10898
      {
10691
 
        YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
10692
 
        if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
10693
 
          {
10694
 
            YYSIZE_T yyalloc = 2 * yysize;
10695
 
            if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
10696
 
              yyalloc = YYSTACK_ALLOC_MAXIMUM;
10697
 
            if (yymsg != yymsgbuf)
10698
 
              YYSTACK_FREE (yymsg);
10699
 
            yymsg = (char *) YYSTACK_ALLOC (yyalloc);
10700
 
            if (yymsg)
10701
 
              yymsg_alloc = yyalloc;
10702
 
            else
10703
 
              {
10704
 
                yymsg = yymsgbuf;
10705
 
                yymsg_alloc = sizeof yymsgbuf;
10706
 
              }
10707
 
          }
10708
 
 
10709
 
        if (0 < yysize && yysize <= yymsg_alloc)
10710
 
          {
10711
 
            (void) yysyntax_error (yymsg, yystate, yychar);
10712
 
            parser_yyerror (parser, yymsg);
10713
 
          }
10714
 
        else
10715
 
          {
10716
 
            parser_yyerror (parser, YY_("syntax error"));
10717
 
            if (yysize != 0)
10718
 
              goto yyexhaustedlab;
10719
 
          }
 
10899
        char const *yymsgp = YY_("syntax error");
 
10900
        int yysyntax_error_status;
 
10901
        yysyntax_error_status = YYSYNTAX_ERROR;
 
10902
        if (yysyntax_error_status == 0)
 
10903
          yymsgp = yymsg;
 
10904
        else if (yysyntax_error_status == 1)
 
10905
          {
 
10906
            if (yymsg != yymsgbuf)
 
10907
              YYSTACK_FREE (yymsg);
 
10908
            yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
 
10909
            if (!yymsg)
 
10910
              {
 
10911
                yymsg = yymsgbuf;
 
10912
                yymsg_alloc = sizeof yymsgbuf;
 
10913
                yysyntax_error_status = 2;
 
10914
              }
 
10915
            else
 
10916
              {
 
10917
                yysyntax_error_status = YYSYNTAX_ERROR;
 
10918
                yymsgp = yymsg;
 
10919
              }
 
10920
          }
 
10921
        parser_yyerror (parser, yymsgp);
 
10922
        if (yysyntax_error_status == 2)
 
10923
          goto yyexhaustedlab;
10720
10924
      }
 
10925
# undef YYSYNTAX_ERROR
10721
10926
#endif
10722
10927
    }
10723
10928
 
10776
10981
  for (;;)
10777
10982
    {
10778
10983
      yyn = yypact[yystate];
10779
 
      if (yyn != YYPACT_NINF)
 
10984
      if (!yypact_value_is_default (yyn))
10780
10985
        {
10781
10986
          yyn += YYTERROR;
10782
10987
          if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
10835
11040
 
10836
11041
yyreturn:
10837
11042
  if (yychar != YYEMPTY)
10838
 
     yydestruct ("Cleanup: discarding lookahead",
10839
 
                 yytoken, &yylval, parser);
 
11043
    {
 
11044
      /* Make sure we have latest lookahead translation.  See comments at
 
11045
         user semantic actions for why this is necessary.  */
 
11046
      yytoken = YYTRANSLATE (yychar);
 
11047
      yydestruct ("Cleanup: discarding lookahead",
 
11048
                  yytoken, &yylval, parser);
 
11049
    }
10840
11050
  /* Do not reclaim the symbols of the rule which action triggered
10841
11051
     this YYABORT or YYACCEPT.  */
10842
11052
  YYPOPSTACK (yylen);
10861
11071
 
10862
11072
 
10863
11073
 
10864
 
/* Line 1684 of yacc.c  */
10865
 
#line 4819 "parse.y"
 
11074
/* Line 2067 of yacc.c  */
 
11075
#line 4880 "parse.y"
10866
11076
 
10867
11077
# undef parser
10868
11078
# undef yylex
10877
11087
 
10878
11088
 
10879
11089
# define nextc()                   parser_nextc(parser)
10880
 
# define pushback(c)               parser_pushback(parser, c)
 
11090
# define pushback(c)               parser_pushback(parser, (c))
10881
11091
# define newtok()                  parser_newtok(parser)
10882
 
# define tokspace(n)               parser_tokspace(parser, n)
10883
 
# define tokadd(c)                 parser_tokadd(parser, c)
10884
 
# define tok_hex(numlen)           parser_tok_hex(parser, numlen)
10885
 
# define read_escape(flags,e)      parser_read_escape(parser, flags, e)
10886
 
# define tokadd_escape(e)          parser_tokadd_escape(parser, e)
 
11092
# define tokspace(n)               parser_tokspace(parser, (n))
 
11093
# define tokadd(c)                 parser_tokadd(parser, (c))
 
11094
# define tok_hex(numlen)           parser_tok_hex(parser, (numlen))
 
11095
# define read_escape(flags,e)      parser_read_escape(parser, (flags), (e))
 
11096
# define tokadd_escape(e)          parser_tokadd_escape(parser, (e))
10887
11097
# define regx_options()            parser_regx_options(parser)
10888
 
# define tokadd_string(f,t,p,n,e)  parser_tokadd_string(parser,f,t,p,n,e)
10889
 
# define parse_string(n)           parser_parse_string(parser,n)
10890
 
# define tokaddmbc(c, enc)         parser_tokaddmbc(parser, c, enc)
10891
 
# define here_document(n)          parser_here_document(parser,n)
 
11098
# define tokadd_string(f,t,p,n,e)  parser_tokadd_string(parser,(f),(t),(p),(n),(e))
 
11099
# define parse_string(n)           parser_parse_string(parser,(n))
 
11100
# define tokaddmbc(c, enc)         parser_tokaddmbc(parser, (c), (enc))
 
11101
# define here_document(n)          parser_here_document(parser,(n))
10892
11102
# define heredoc_identifier()      parser_heredoc_identifier(parser)
10893
 
# define heredoc_restore(n)        parser_heredoc_restore(parser,n)
10894
 
# define whole_match_p(e,l,i)      parser_whole_match_p(parser,e,l,i)
 
11103
# define heredoc_restore(n)        parser_heredoc_restore(parser,(n))
 
11104
# define whole_match_p(e,l,i)      parser_whole_match_p(parser,(e),(l),(i))
10895
11105
 
10896
11106
#ifndef RIPPER
10897
 
# define set_yylval_str(x) yylval.node = NEW_STR(x)
10898
 
# define set_yylval_num(x) yylval.num = x
10899
 
# define set_yylval_id(x)  yylval.id = x
10900
 
# define set_yylval_name(x)  yylval.id = x
10901
 
# define set_yylval_literal(x) yylval.node = NEW_LIT(x)
10902
 
# define set_yylval_node(x) yylval.node = x
10903
 
# define yylval_id() yylval.id
 
11107
# define set_yylval_str(x) (yylval.node = NEW_STR(x))
 
11108
# define set_yylval_num(x) (yylval.num = (x))
 
11109
# define set_yylval_id(x)  (yylval.id = (x))
 
11110
# define set_yylval_name(x)  (yylval.id = (x))
 
11111
# define set_yylval_literal(x) (yylval.node = NEW_LIT(x))
 
11112
# define set_yylval_node(x) (yylval.node = (x))
 
11113
# define yylval_id() (yylval.id)
10904
11114
#else
10905
11115
static inline VALUE
10906
11116
ripper_yylval_id(ID x)
10919
11129
#ifndef RIPPER
10920
11130
#define ripper_flush(p) (void)(p)
10921
11131
#else
10922
 
#define ripper_flush(p) (p->tokp = p->parser_lex_p)
 
11132
#define ripper_flush(p) ((p)->tokp = (p)->parser_lex_p)
10923
11133
 
10924
 
#define yylval_rval *(RB_TYPE_P(yylval.val, T_NODE) ? &yylval.node->nd_rval : &yylval.val)
 
11134
#define yylval_rval (*(RB_TYPE_P(yylval.val, T_NODE) ? &yylval.node->nd_rval : &yylval.val))
10925
11135
 
10926
11136
static int
10927
11137
ripper_has_scan_event(struct parser_params *parser)
10987
11197
#define parser_encoding_name()  (parser->enc->name)
10988
11198
#define parser_mbclen()  mbclen((lex_p-1),lex_pend,parser->enc)
10989
11199
#define parser_precise_mbclen()  rb_enc_precise_mbclen((lex_p-1),lex_pend,parser->enc)
10990
 
#define is_identchar(p,e,enc) (rb_enc_isalnum(*p,enc) || (*p) == '_' || !ISASCII(*p))
 
11200
#define is_identchar(p,e,enc) (rb_enc_isalnum(*(p),(enc)) || (*(p)) == '_' || !ISASCII(*(p)))
10991
11201
#define parser_is_identchar() (!parser->eofp && is_identchar((lex_p-1),lex_pend,parser->enc))
10992
11202
 
10993
11203
#define parser_isascii() ISASCII(*(lex_p-1))
11025
11235
{
11026
11236
    token_info *ptinfo;
11027
11237
 
11028
 
    if (compile_for_eval) return;
 
11238
    if (!parser->parser_token_info_enabled) return;
11029
11239
    ptinfo = ALLOC(token_info);
11030
11240
    ptinfo->token = token;
11031
11241
    ptinfo->linenum = ruby_sourceline;
11055
11265
    if (token_info_has_nonspaces(parser, token) || ptinfo->nonspc) { /* SKIP */
11056
11266
        goto finish;
11057
11267
    }
11058
 
    rb_compile_warning(ruby_sourcefile, linenum,
11059
 
               "mismatched indentations at '%s' with '%s' at %d",
11060
 
               token, ptinfo->token, ptinfo->linenum);
 
11268
    if (parser->parser_token_info_enabled) {
 
11269
        rb_compile_warn(ruby_sourcefile, linenum,
 
11270
                        "mismatched indentations at '%s' with '%s' at %d",
 
11271
                        token, ptinfo->token, ptinfo->linenum);
 
11272
    }
11061
11273
 
11062
11274
  finish:
11063
11275
    xfree(ptinfo);
11129
11341
static void parser_prepare(struct parser_params *parser);
11130
11342
 
11131
11343
#ifndef RIPPER
11132
 
VALUE ruby_suppress_tracing(VALUE (*func)(VALUE, int), VALUE arg, int always);
11133
 
 
11134
11344
static VALUE
11135
11345
debug_lines(const char *f)
11136
11346
{
11151
11361
static VALUE
11152
11362
coverage(const char *f, int n)
11153
11363
{
11154
 
    extern VALUE rb_get_coverages(void);
11155
11364
    VALUE coverages = rb_get_coverages();
11156
11365
    if (RTEST(coverages) && RBASIC(coverages)->klass == 0) {
11157
11366
        VALUE fname = rb_str_new2(f);
11196
11405
 
11197
11406
    parser_prepare(parser);
11198
11407
    deferred_nodes = 0;
 
11408
#ifndef RIPPER
 
11409
    parser->parser_token_info_enabled = !compile_for_eval && RTEST(ruby_verbose);
 
11410
#endif
11199
11411
    n = yyparse((void*)parser);
11200
11412
    ruby_debug_lines = 0;
11201
11413
    ruby_coverage = 0;
11274
11486
    return line;
11275
11487
}
11276
11488
 
 
11489
#ifdef RIPPER
 
11490
static rb_data_type_t parser_data_type;
 
11491
#else
11277
11492
static const rb_data_type_t parser_data_type;
11278
11493
 
11279
 
#ifndef RIPPER
11280
11494
static NODE*
11281
11495
parser_compile_string(volatile VALUE vparser, const char *f, VALUE s, int line)
11282
11496
{
11394
11608
    return str;
11395
11609
}
11396
11610
 
11397
 
#define lex_goto_eol(parser) (parser->parser_lex_p = parser->parser_lex_pend)
11398
 
#define peek(c) (lex_p < lex_pend && (c) == *lex_p)
 
11611
#define lex_goto_eol(parser) ((parser)->parser_lex_p = (parser)->parser_lex_pend)
 
11612
#define lex_eol_p() (lex_p >= lex_pend)
 
11613
#define peek(c) peek_n((c), 0)
 
11614
#define peek_n(c,n) (lex_p+(n) < lex_pend && (c) == (unsigned char)lex_p[n])
11399
11615
 
11400
11616
static inline int
11401
11617
parser_nextc(struct parser_params *parser)
11631
11847
 
11632
11848
      case '0': case '1': case '2': case '3': /* octal constant */
11633
11849
      case '4': case '5': case '6': case '7':
11634
 
        if (flags & (ESCAPE_CONTROL|ESCAPE_META)) goto eof;
11635
11850
        pushback(c);
11636
11851
        c = scan_oct(lex_p, 3, &numlen);
11637
11852
        lex_p += numlen;
11638
11853
        return c;
11639
11854
 
11640
11855
      case 'x': /* hex constant */
11641
 
        if (flags & (ESCAPE_CONTROL|ESCAPE_META)) goto eof;
11642
11856
        c = tok_hex(&numlen);
11643
11857
        if (numlen == 0) return 0;
11644
11858
        return c;
11711
11925
 
11712
11926
      case '0': case '1': case '2': case '3': /* octal constant */
11713
11927
      case '4': case '5': case '6': case '7':
11714
 
        if (flags & (ESCAPE_CONTROL|ESCAPE_META)) goto eof;
11715
11928
        {
11716
11929
            ruby_scan_oct(--lex_p, 3, &numlen);
11717
11930
            if (numlen == 0) goto eof;
11721
11934
        return 0;
11722
11935
 
11723
11936
      case 'x': /* hex constant */
11724
 
        if (flags & (ESCAPE_CONTROL|ESCAPE_META)) goto eof;
11725
11937
        {
11726
11938
            tok_hex(&numlen);
11727
 
            if (numlen == 0) goto eof;
 
11939
            if (numlen == 0) return -1;
11728
11940
            tokcopy((int)numlen + 2);
11729
11941
        }
11730
11942
        return 0;
11772
11984
    return 0;
11773
11985
}
11774
11986
 
11775
 
extern int rb_char_to_option_kcode(int c, int *option, int *kcode);
11776
 
 
11777
11987
static int
11778
11988
parser_regx_options(struct parser_params *parser)
11779
11989
{
11833
12043
    return c;
11834
12044
}
11835
12045
 
11836
 
#define tokadd_mbchar(c) parser_tokadd_mbchar(parser, c)
 
12046
#define tokadd_mbchar(c) parser_tokadd_mbchar(parser, (c))
11837
12047
 
11838
12048
static int
11839
12049
parser_tokadd_string(struct parser_params *parser,
11858
12068
    }
11859
12069
#define mixed_escape(beg, enc1, enc2) do {      \
11860
12070
        const char *pos = lex_p;                \
11861
 
        lex_p = beg;                            \
11862
 
        mixed_error(enc1, enc2);                \
 
12071
        lex_p = (beg);                          \
 
12072
        mixed_error((enc1), (enc2));            \
11863
12073
        lex_p = pos;                            \
11864
12074
    } while (0)
11865
12075
 
11909
12119
                continue;
11910
12120
 
11911
12121
              default:
 
12122
                if (c == -1) return -1;
 
12123
                if (!ISASCII(c)) goto non_ascii;
11912
12124
                if (func & STR_FUNC_REGEXP) {
11913
12125
                    pushback(c);
11914
12126
                    if ((c = tokadd_escape(&enc)) < 0)
11934
12146
            }
11935
12147
        }
11936
12148
        else if (!parser_isascii()) {
 
12149
          non_ascii:
11937
12150
            has_nonascii = 1;
11938
12151
            if (enc != *encp) {
11939
12152
                mixed_error(enc, *encp);
12022
12235
    set_yylval_str(STR_NEW3(tok(), toklen(), enc, func));
12023
12236
 
12024
12237
#ifdef RIPPER
12025
 
    if (!NIL_P(parser->delayed)){
 
12238
    if (!NIL_P(parser->delayed)) {
12026
12239
        ptrdiff_t len = lex_p - parser->tokp;
12027
12240
        if (len > 0) {
12028
12241
            rb_enc_str_buf_cat(parser->delayed, parser->tokp, len, enc);
12130
12343
    return strncmp(eos, p, len) == 0;
12131
12344
}
12132
12345
 
 
12346
#ifdef RIPPER
 
12347
static void
 
12348
ripper_dispatch_heredoc_end(struct parser_params *parser)
 
12349
{
 
12350
    if (!NIL_P(parser->delayed))
 
12351
        ripper_dispatch_delayed_token(parser, tSTRING_CONTENT);
 
12352
    lex_goto_eol(parser);
 
12353
    ripper_dispatch_ignored_scan_event(parser, tHEREDOC_END);
 
12354
}
 
12355
 
 
12356
#define dispatch_heredoc_end() ripper_dispatch_heredoc_end(parser)
 
12357
#else
 
12358
#define dispatch_heredoc_end() ((void)0)
 
12359
#endif
 
12360
 
12133
12361
static int
12134
12362
parser_here_document(struct parser_params *parser, NODE *here)
12135
12363
{
12166
12394
        return 0;
12167
12395
    }
12168
12396
    if (was_bol() && whole_match_p(eos, len, indent)) {
 
12397
        dispatch_heredoc_end();
12169
12398
        heredoc_restore(lex_strterm);
12170
12399
        return tSTRING_END;
12171
12400
    }
12227
12456
        } while (!whole_match_p(eos, len, indent));
12228
12457
        str = STR_NEW3(tok(), toklen(), enc, func);
12229
12458
    }
12230
 
#ifdef RIPPER
12231
 
    if (!NIL_P(parser->delayed))
12232
 
        ripper_dispatch_delayed_token(parser, tSTRING_CONTENT);
12233
 
    lex_goto_eol(parser);
12234
 
    ripper_dispatch_ignored_scan_event(parser, tHEREDOC_END);
12235
 
#endif
 
12459
    dispatch_heredoc_end();
12236
12460
    heredoc_restore(lex_strterm);
12237
12461
    lex_strterm = NEW_STRTERM(-1, 0, 0);
12238
12462
    set_yylval_str(str);
12266
12490
static int
12267
12491
lvar_defined_gen(struct parser_params *parser, ID id)
12268
12492
{
12269
 
    return (dyna_in_block() && dvar_defined(id)) || local_id(id);
 
12493
    return (dyna_in_block() && dvar_defined_get(id)) || local_id(id);
12270
12494
}
12271
12495
 
12272
12496
/* emacsen -*- hack */
12298
12522
    VALUE excargs[3];
12299
12523
 
12300
12524
    if (idx < 0) {
12301
 
        VALUE rb_make_backtrace(void);
12302
 
        VALUE rb_make_exception(int, VALUE*);
12303
 
 
12304
12525
        excargs[1] = rb_sprintf("unknown encoding name: %s", name);
12305
12526
      error:
12306
12527
        excargs[0] = rb_eArgError;
12350
12571
    parser_set_encode(parser, val);
12351
12572
}
12352
12573
 
 
12574
static void
 
12575
parser_set_token_info(struct parser_params *parser, const char *name, const char *val)
 
12576
{
 
12577
    int *p = &parser->parser_token_info_enabled;
 
12578
 
 
12579
    switch (*val) {
 
12580
      case 't': case 'T':
 
12581
        if (strcasecmp(val, "true") == 0) {
 
12582
            *p = TRUE;
 
12583
            return;
 
12584
        }
 
12585
        break;
 
12586
      case 'f': case 'F':
 
12587
        if (strcasecmp(val, "false") == 0) {
 
12588
            *p = FALSE;
 
12589
            return;
 
12590
        }
 
12591
        break;
 
12592
    }
 
12593
    rb_compile_warning(ruby_sourcefile, ruby_sourceline, "invalid value for %s: %s", name, val);
 
12594
}
 
12595
 
12353
12596
struct magic_comment {
12354
12597
    const char *name;
12355
12598
    rb_magic_comment_setter_t func;
12359
12602
static const struct magic_comment magic_comments[] = {
12360
12603
    {"coding", magic_comment_encoding, parser_encode_length},
12361
12604
    {"encoding", magic_comment_encoding, parser_encode_length},
 
12605
    {"warn_indent", parser_set_token_info},
12362
12606
};
12363
12607
#endif
12364
12608
 
12401
12645
    VALUE name = 0, val = 0;
12402
12646
    const char *beg, *end, *vbeg, *vend;
12403
12647
#define str_copy(_s, _p, _n) ((_s) \
12404
 
        ? (rb_str_resize((_s), (_n)), \
 
12648
        ? (void)(rb_str_resize((_s), (_n)), \
12405
12649
           MEMCPY(RSTRING_PTR(_s), (_p), char, (_n)), (_s)) \
12406
 
        : ((_s) = STR_NEW((_p), (_n))))
 
12650
        : (void)((_s) = STR_NEW((_p), (_n))))
12407
12651
 
12408
12652
    if (len <= 7) return FALSE;
12409
12653
    if (!(beg = magic_comment_marker(str, len))) return FALSE;
12560
12804
#define IS_END() (lex_state == EXPR_END || lex_state == EXPR_ENDARG || lex_state == EXPR_ENDFN)
12561
12805
#define IS_BEG() (lex_state == EXPR_BEG || lex_state == EXPR_MID || lex_state == EXPR_VALUE || lex_state == EXPR_CLASS)
12562
12806
#define IS_SPCARG(c) (IS_ARG() && space_seen && !ISSPACE(c))
 
12807
#define IS_LABEL_POSSIBLE() ((lex_state == EXPR_BEG && !cmd_state) || IS_ARG())
 
12808
#define IS_LABEL_SUFFIX(n) (peek_n(':',(n)) && !peek_n(':', (n)+1))
12563
12809
 
12564
12810
#ifndef RIPPER
12565
12811
#define ambiguous_operator(op, syn) ( \
12568
12814
#else
12569
12815
#define ambiguous_operator(op, syn) dispatch2(operator_ambiguous, ripper_intern(op), rb_str_new_cstr(syn))
12570
12816
#endif
12571
 
#define warn_balanced(op, syn) \
 
12817
#define warn_balanced(op, syn) ((void) \
12572
12818
    (last_state != EXPR_CLASS && last_state != EXPR_DOT && \
12573
12819
     last_state != EXPR_FNAME && last_state != EXPR_ENDFN && \
12574
12820
     last_state != EXPR_ENDARG && \
12575
12821
     space_seen && !ISSPACE(c) && \
12576
 
     (ambiguous_operator(op, syn), 0))
 
12822
     (ambiguous_operator(op, syn), 0)))
12577
12823
 
12578
12824
static int
12579
12825
parser_yylex(struct parser_params *parser)
12959
13205
                    tokadd(c);
12960
13206
                }
12961
13207
            }
 
13208
            else if (!lex_eol_p() && !(c = *lex_p, ISASCII(c))) {
 
13209
                nextc();
 
13210
                if (tokadd_mbchar(c) == -1) return 0;
 
13211
            }
12962
13212
            else {
12963
13213
                c = read_escape(0, &enc);
12964
13214
                tokadd(c);
13385
13635
        }
13386
13636
        pushback(c);
13387
13637
        if (IS_SPCARG(c)) {
13388
 
            arg_ambiguous();
 
13638
            (void)arg_ambiguous();
13389
13639
            lex_strterm = NEW_STRTERM(str_regexp, '/', 0);
13390
13640
            return tREGEXP_BEG;
13391
13641
        }
13771
14021
            else {
13772
14022
                if (lex_state == EXPR_FNAME) {
13773
14023
                    if ((c = nextc()) == '=' && !peek('~') && !peek('>') &&
13774
 
                        (!peek('=') || (lex_p + 1 < lex_pend && lex_p[1] == '>'))) {
 
14024
                        (!peek('=') || (peek_n('>', 1)))) {
13775
14025
                        result = tIDENTIFIER;
13776
14026
                        tokadd(c);
13777
14027
                        tokfix();
13788
14038
                }
13789
14039
            }
13790
14040
 
13791
 
            if ((lex_state == EXPR_BEG && !cmd_state) ||
13792
 
                IS_ARG()) {
13793
 
                if (peek(':') && !(lex_p + 1 < lex_pend && lex_p[1] == ':')) {
 
14041
            if (IS_LABEL_POSSIBLE()) {
 
14042
                if (IS_LABEL_SUFFIX(0)) {
13794
14043
                    lex_state = EXPR_BEG;
13795
14044
                    nextc();
13796
14045
                    set_yylval_name(TOK_INTERN(!ENC_SINGLE(mb)));
13934
14183
{
13935
14184
    rb_compile_warning(ruby_sourcefile, nd_line(node), "%s", mesg);
13936
14185
}
13937
 
#define parser_warning(node, mesg) parser_warning(parser, node, mesg)
 
14186
#define parser_warning(node, mesg) parser_warning(parser, (node), (mesg))
13938
14187
 
13939
14188
static void
13940
14189
parser_warn(struct parser_params *parser, NODE *node, const char *mesg)
13941
14190
{
13942
14191
    rb_compile_warn(ruby_sourcefile, nd_line(node), "%s", mesg);
13943
14192
}
13944
 
#define parser_warn(node, mesg) parser_warn(parser, node, mesg)
 
14193
#define parser_warn(node, mesg) parser_warn(parser, (node), (mesg))
13945
14194
 
13946
14195
static NODE*
13947
14196
block_append_gen(struct parser_params *parser, NODE *head, NODE *tail)
14237
14486
    compile_error(PARSER_ARG "identifier %s is not valid to get", rb_id2name(id));
14238
14487
    return 0;
14239
14488
}
 
14489
#else  /* !RIPPER */
 
14490
static int
 
14491
id_is_var_gen(struct parser_params *parser, ID id)
 
14492
{
 
14493
    if (is_notop_id(id)) {
 
14494
        switch (id & ID_SCOPE_MASK) {
 
14495
          case ID_GLOBAL: case ID_INSTANCE: case ID_CONST: case ID_CLASS:
 
14496
            return 1;
 
14497
          case ID_LOCAL:
 
14498
            if (dyna_in_block() && dvar_defined(id)) return 1;
 
14499
            if (local_id(id)) return 1;
 
14500
            /* method call without arguments */
 
14501
            return 0;
 
14502
        }
 
14503
    }
 
14504
    compile_error(PARSER_ARG "identifier %s is not valid to get", rb_id2name(id));
 
14505
    return 0;
 
14506
}
14240
14507
#endif /* !RIPPER */
14241
14508
 
14242
14509
#ifdef RIPPER
14252
14519
# define assignable_result(x) get_value(lhs)
14253
14520
# define parser_yyerror(parser, x) dispatch1(assign_error, lhs)
14254
14521
#else
14255
 
# define assignable_result(x) x
 
14522
# define assignable_result(x) (x)
14256
14523
#endif
14257
14524
    if (!id) return assignable_result(0);
14258
14525
    if (id == keyword_self) {
14321
14588
#undef parser_yyerror
14322
14589
}
14323
14590
 
 
14591
#define LVAR_USED ((int)1 << (sizeof(int) * CHAR_BIT - 1))
 
14592
 
14324
14593
static ID
14325
14594
shadowing_lvar_gen(struct parser_params *parser, ID name)
14326
14595
{
14327
 
    ID uscore;
14328
 
 
14329
 
    CONST_ID(uscore, "_");
14330
 
    if (uscore == name) return name;
 
14596
    if (idUScore == name) return name;
14331
14597
    if (dyna_in_block()) {
14332
14598
        if (dvar_curr(name)) {
14333
14599
            yyerror("duplicated argument name");
14334
14600
        }
14335
 
        else if (dvar_defined(name) || local_id(name)) {
 
14601
        else if (dvar_defined_get(name) || local_id(name)) {
14336
14602
            rb_warningS("shadowing outer local variable - %s", rb_id2name(name));
14337
14603
            vtable_add(lvtbl->vars, name);
 
14604
            if (lvtbl->used) {
 
14605
                vtable_add(lvtbl->used, (ID)ruby_sourceline | LVAR_USED);
 
14606
            }
14338
14607
        }
14339
14608
    }
14340
14609
    else {
14632
14901
        int line = ruby_sourceline;
14633
14902
 
14634
14903
        ruby_sourceline = nd_line(node);
14635
 
        rb_warnS("useless use of %s in void context", useless);
 
14904
        rb_warnS("possibly useless use of %s in void context", useless);
14636
14905
        ruby_sourceline = line;
14637
14906
    }
14638
14907
}
14706
14975
            if (!subnodes(nd_head, nd_resq)) goto end;
14707
14976
            break;
14708
14977
          case NODE_RESCUE:
 
14978
            if (node->nd_else) {
 
14979
                body = &node->nd_resq;
 
14980
                break;
 
14981
            }
14709
14982
            if (!subnodes(nd_head, nd_resq)) goto end;
14710
14983
            break;
14711
14984
          default:
15016
15289
#endif /* !RIPPER */
15017
15290
 
15018
15291
static void
 
15292
warn_unused_var(struct parser_params *parser, struct local_vars *local)
 
15293
{
 
15294
    int i, cnt;
 
15295
    ID *v, *u;
 
15296
 
 
15297
    if (!local->used) return;
 
15298
    v = local->vars->tbl;
 
15299
    u = local->used->tbl;
 
15300
    cnt = local->used->pos;
 
15301
    if (cnt != local->vars->pos) {
 
15302
        rb_bug("local->used->pos != local->vars->pos");
 
15303
    }
 
15304
    for (i = 0; i < cnt; ++i) {
 
15305
        if (!v[i] || (u[i] & LVAR_USED)) continue;
 
15306
        if (idUScore == v[i]) continue;
 
15307
        rb_compile_warn(ruby_sourcefile, (int)u[i], "assigned but unused variable - %s", rb_id2name(v[i]));
 
15308
    }
 
15309
}
 
15310
 
 
15311
static void
15019
15312
local_push_gen(struct parser_params *parser, int inherit_dvars)
15020
15313
{
15021
15314
    struct local_vars *local;
15024
15317
    local->prev = lvtbl;
15025
15318
    local->args = vtable_alloc(0);
15026
15319
    local->vars = vtable_alloc(inherit_dvars ? DVARS_INHERIT : DVARS_TOPSCOPE);
 
15320
    local->used = !inherit_dvars && RTEST(ruby_verbose) ? vtable_alloc(0) : 0;
15027
15321
    lvtbl = local;
15028
15322
}
15029
15323
 
15031
15325
local_pop_gen(struct parser_params *parser)
15032
15326
{
15033
15327
    struct local_vars *local = lvtbl->prev;
 
15328
    if (lvtbl->used) {
 
15329
        warn_unused_var(parser, lvtbl);
 
15330
        vtable_free(lvtbl->used);
 
15331
    }
15034
15332
    vtable_free(lvtbl->args);
15035
15333
    vtable_free(lvtbl->vars);
15036
15334
    xfree(lvtbl);
15079
15377
local_var_gen(struct parser_params *parser, ID id)
15080
15378
{
15081
15379
    vtable_add(lvtbl->vars, id);
 
15380
    if (lvtbl->used) {
 
15381
        vtable_add(lvtbl->used, (ID)ruby_sourceline);
 
15382
    }
15082
15383
    return vtable_size(lvtbl->vars) - 1;
15083
15384
}
15084
15385
 
15085
15386
static int
15086
15387
local_id_gen(struct parser_params *parser, ID id)
15087
15388
{
15088
 
    struct vtable *vars, *args;
 
15389
    struct vtable *vars, *args, *used;
15089
15390
 
15090
15391
    vars = lvtbl->vars;
15091
15392
    args = lvtbl->args;
 
15393
    used = lvtbl->used;
15092
15394
 
15093
15395
    while (vars && POINTER_P(vars->prev)) {
15094
15396
        vars = vars->prev;
15095
15397
        args = args->prev;
 
15398
        if (used) used = used->prev;
15096
15399
    }
15097
15400
 
15098
15401
    if (vars && vars->prev == DVARS_INHERIT) {
15099
15402
        return rb_local_defined(id);
15100
15403
    }
 
15404
    else if (vtable_included(args, id)) {
 
15405
        return 1;
 
15406
    }
15101
15407
    else {
15102
 
        return (vtable_included(args, id) ||
15103
 
                vtable_included(vars, id));
 
15408
        int i = vtable_included(vars, id);
 
15409
        if (i && used) used->tbl[i-1] |= LVAR_USED;
 
15410
        return i != 0;
15104
15411
    }
15105
15412
}
15106
15413
 
15109
15416
{
15110
15417
    lvtbl->args = vtable_alloc(lvtbl->args);
15111
15418
    lvtbl->vars = vtable_alloc(lvtbl->vars);
 
15419
    if (lvtbl->used) {
 
15420
        lvtbl->used = vtable_alloc(lvtbl->used);
 
15421
    }
15112
15422
    return lvtbl->args;
15113
15423
}
15114
15424
 
15117
15427
{
15118
15428
    struct vtable *tmp;
15119
15429
 
 
15430
    if ((tmp = lvtbl->used) != 0) {
 
15431
        warn_unused_var(parser, lvtbl);
 
15432
        lvtbl->used = lvtbl->used->prev;
 
15433
        vtable_free(tmp);
 
15434
    }
15120
15435
    tmp = lvtbl->args;
15121
15436
    lvtbl->args = lvtbl->args->prev;
15122
15437
    vtable_free(tmp);
15146
15461
}
15147
15462
 
15148
15463
static int
15149
 
dvar_defined_gen(struct parser_params *parser, ID id)
 
15464
dvar_defined_gen(struct parser_params *parser, ID id, int get)
15150
15465
{
15151
 
    struct vtable *vars, *args;
 
15466
    struct vtable *vars, *args, *used;
 
15467
    int i;
15152
15468
 
15153
15469
    args = lvtbl->args;
15154
15470
    vars = lvtbl->vars;
 
15471
    used = lvtbl->used;
15155
15472
 
15156
15473
    while (POINTER_P(vars)) {
15157
15474
        if (vtable_included(args, id)) {
15158
15475
            return 1;
15159
15476
        }
15160
 
        if (vtable_included(vars, id)) {
 
15477
        if ((i = vtable_included(vars, id)) != 0) {
 
15478
            if (used) used->tbl[i-1] |= LVAR_USED;
15161
15479
            return 1;
15162
15480
        }
15163
15481
        args = args->prev;
15164
15482
        vars = vars->prev;
 
15483
        if (get) used = 0;
 
15484
        if (used) used = used->prev;
15165
15485
    }
15166
15486
 
15167
15487
    if (vars == DVARS_INHERIT) {
15179
15499
}
15180
15500
 
15181
15501
#ifndef RIPPER
15182
 
VALUE rb_reg_compile(VALUE str, int options, const char *sourcefile, int sourceline);
15183
 
VALUE rb_reg_check_preprocess(VALUE);
15184
 
 
15185
15502
static void
15186
15503
reg_fragment_setenc_gen(struct parser_params* parser, VALUE str, int options)
15187
15504
{
15574
15891
    const char *e = m + len;
15575
15892
    int localid = FALSE;
15576
15893
 
15577
 
    if (!m) return FALSE;
 
15894
    if (!m || len <= 0) return FALSE;
15578
15895
    switch (*m) {
15579
15896
      case '\0':
15580
15897
        return FALSE;
15627
15944
        break;
15628
15945
 
15629
15946
      case '!':
 
15947
        if (len == 1) return TRUE;
15630
15948
        switch (*++m) {
15631
 
          case '\0': return TRUE;
15632
15949
          case '=': case '~': ++m; break;
15633
15950
          default: return FALSE;
15634
15951
        }
15672
15989
    int mb;
15673
15990
    st_data_t data;
15674
15991
    struct RString fake_str;
15675
 
    fake_str.basic.flags = T_STRING|RSTRING_NOEMBED|FL_FREEZE;
 
15992
    fake_str.basic.flags = T_STRING|RSTRING_NOEMBED;
15676
15993
    fake_str.basic.klass = rb_cString;
15677
15994
    fake_str.as.heap.len = len;
15678
15995
    fake_str.as.heap.ptr = (char *)name;
15679
15996
    fake_str.as.heap.aux.capa = len;
15680
15997
    str = (VALUE)&fake_str;
15681
15998
    rb_enc_associate(str, enc);
 
15999
    OBJ_FREEZE(str);
15682
16000
 
15683
16001
    if (rb_enc_str_coderange(str) == ENC_CODERANGE_BROKEN) {
15684
16002
        rb_raise(rb_eEncodingError, "invalid encoding symbol");
16073
16391
    return size;
16074
16392
}
16075
16393
 
16076
 
static const rb_data_type_t parser_data_type = {
 
16394
static
 
16395
#ifndef RIPPER
 
16396
const
 
16397
#endif
 
16398
rb_data_type_t parser_data_type = {
16077
16399
    "parser",
16078
 
    parser_mark,
16079
 
    parser_free,
16080
 
    parser_memsize,
 
16400
    {
 
16401
        parser_mark,
 
16402
        parser_free,
 
16403
        parser_memsize,
 
16404
    },
16081
16405
};
16082
16406
 
16083
 
VALUE rb_parser_get_yydebug(VALUE);
16084
 
VALUE rb_parser_set_yydebug(VALUE, VALUE);
16085
 
 
16086
16407
#ifndef RIPPER
16087
16408
#undef rb_reserved_word
16088
16409
 
16115
16436
 *  call-seq:
16116
16437
 *    ripper#end_seen?   -> Boolean
16117
16438
 *
16118
 
 *  Return if parsed source ended by +\_\_END\_\_+.
16119
 
 *  This number starts from 1.
 
16439
 *  Return true if parsed source ended by +\_\_END\_\_+.
16120
16440
 */
16121
16441
VALUE
16122
16442
rb_parser_end_seen_p(VALUE vparser)
16274
16594
}
16275
16595
#endif
16276
16596
 
16277
 
#define validate(x) (x = get_value(x))
 
16597
#define validate(x) ((x) = get_value(x))
16278
16598
 
16279
16599
static VALUE
16280
16600
ripper_dispatch0(struct parser_params *parser, ID mid)
16557
16877
    return Qnil;
16558
16878
}
16559
16879
 
16560
 
extern VALUE rb_thread_pass(void);
16561
 
 
16562
16880
struct ripper_args {
16563
16881
    struct parser_params *parser;
16564
16882
    int argc;
16693
17011
}
16694
17012
#endif
16695
17013
 
 
17014
 
 
17015
void
 
17016
InitVM_ripper(void)
 
17017
{
 
17018
    parser_data_type.parent = RTYPEDDATA_TYPE(rb_parser_new());
 
17019
}
 
17020
 
16696
17021
void
16697
17022
Init_ripper(void)
16698
17023
{
16699
17024
    VALUE Ripper;
16700
17025
 
 
17026
    InitVM(ripper);
16701
17027
    Ripper = rb_define_class("Ripper", rb_cObject);
16702
17028
    rb_define_const(Ripper, "Version", rb_usascii_str_new2(RIPPER_VERSION));
16703
17029
    rb_define_alloc_func(Ripper, ripper_s_allocate);
16720
17046
    ripper_init_eventids1(Ripper);
16721
17047
    ripper_init_eventids2(Ripper);
16722
17048
    /* ensure existing in symbol table */
16723
 
    rb_intern("||");
16724
 
    rb_intern("&&");
 
17049
    (void)rb_intern("||");
 
17050
    (void)rb_intern("&&");
 
17051
 
 
17052
# if 0
 
17053
    /* Hack to let RDoc document SCRIPT_LINES__ */
 
17054
 
 
17055
    /*
 
17056
     * When a Hash is assigned to +SCRIPT_LINES__+ the contents of files loaded
 
17057
     * after the assignment will be added as an Array of lines with the file
 
17058
     * name as the key.
 
17059
     */
 
17060
    rb_define_global_const("SCRIPT_LINES__", Qnil);
 
17061
#endif
 
17062
 
16725
17063
}
16726
17064
#endif /* RIPPER */
16727
17065