circuitscript 0.1.12 → 0.1.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -92,47 +92,45 @@ export class CircuitScriptParser extends antlr.Parser {
92
92
  static RULE_at_block_pin_expr = 22;
93
93
  static RULE_at_block_pin_expression_simple = 23;
94
94
  static RULE_at_block_pin_expression_complex = 24;
95
- static RULE_break_keyword = 25;
96
- static RULE_continue_keyword = 26;
97
- static RULE_assignment_expr = 27;
98
- static RULE_operator_assignment_expr = 28;
99
- static RULE_keyword_assignment_expr = 29;
100
- static RULE_parameters = 30;
101
- static RULE_property_set_expr = 31;
102
- static RULE_double_dot_property_set_expr = 32;
103
- static RULE_data_expr = 33;
104
- static RULE_binary_operator = 34;
105
- static RULE_unary_operator = 35;
106
- static RULE_value_expr = 36;
107
- static RULE_function_def_expr = 37;
108
- static RULE_function_expr = 38;
109
- static RULE_function_args_expr = 39;
110
- static RULE_atom_expr = 40;
111
- static RULE_trailer_expr = 41;
112
- static RULE_function_call_expr = 42;
113
- static RULE_net_namespace_expr = 43;
114
- static RULE_function_return_expr = 44;
115
- static RULE_property_block_expr = 45;
116
- static RULE_create_component_expr = 46;
117
- static RULE_graphic_expressions_block = 47;
118
- static RULE_create_graphic_expr = 48;
119
- static RULE_create_module_expr = 49;
120
- static RULE_nested_properties_inner = 50;
121
- static RULE_graphic_expr = 51;
122
- static RULE_property_expr = 52;
123
- static RULE_property_key_expr = 53;
124
- static RULE_property_value_expr = 54;
125
- static RULE_wire_atom_expr = 55;
126
- static RULE_wire_expr = 56;
127
- static RULE_array_expr = 57;
128
- static RULE_point_expr = 58;
129
- static RULE_import_expr = 59;
130
- static RULE_frame_expr = 60;
131
- static RULE_if_expr = 61;
132
- static RULE_if_inner_expr = 62;
133
- static RULE_else_expr = 63;
134
- static RULE_while_expr = 64;
135
- static RULE_for_expr = 65;
95
+ static RULE_assignment_expr = 25;
96
+ static RULE_operator_assignment_expr = 26;
97
+ static RULE_keyword_assignment_expr = 27;
98
+ static RULE_parameters = 28;
99
+ static RULE_property_set_expr = 29;
100
+ static RULE_double_dot_property_set_expr = 30;
101
+ static RULE_data_expr = 31;
102
+ static RULE_binary_operator = 32;
103
+ static RULE_unary_operator = 33;
104
+ static RULE_value_expr = 34;
105
+ static RULE_function_def_expr = 35;
106
+ static RULE_function_expr = 36;
107
+ static RULE_function_args_expr = 37;
108
+ static RULE_atom_expr = 38;
109
+ static RULE_trailer_expr = 39;
110
+ static RULE_function_call_expr = 40;
111
+ static RULE_net_namespace_expr = 41;
112
+ static RULE_function_return_expr = 42;
113
+ static RULE_property_block_expr = 43;
114
+ static RULE_create_component_expr = 44;
115
+ static RULE_graphic_expressions_block = 45;
116
+ static RULE_create_graphic_expr = 46;
117
+ static RULE_create_module_expr = 47;
118
+ static RULE_nested_properties_inner = 48;
119
+ static RULE_graphic_expr = 49;
120
+ static RULE_property_expr = 50;
121
+ static RULE_property_key_expr = 51;
122
+ static RULE_property_value_expr = 52;
123
+ static RULE_wire_atom_expr = 53;
124
+ static RULE_wire_expr = 54;
125
+ static RULE_array_expr = 55;
126
+ static RULE_point_expr = 56;
127
+ static RULE_import_expr = 57;
128
+ static RULE_frame_expr = 58;
129
+ static RULE_if_expr = 59;
130
+ static RULE_if_inner_expr = 60;
131
+ static RULE_else_expr = 61;
132
+ static RULE_while_expr = 62;
133
+ static RULE_for_expr = 63;
136
134
  static literalNames = [
137
135
  null, "':'", "','", "'='", "'..'", "'.'", "'['", "']'", "'break'",
138
136
  "'branch'", "'create'", "'component'", "'graphic'", "'module'",
@@ -164,9 +162,8 @@ export class CircuitScriptParser extends antlr.Parser {
164
162
  "pin_select_expr2", "at_component_expr", "to_component_expr", "at_to_multiple_expr",
165
163
  "at_to_multiple_line_expr", "at_to_multiple_line_expr_to_pin", "at_block",
166
164
  "at_block_expressions", "at_block_pin_expr", "at_block_pin_expression_simple",
167
- "at_block_pin_expression_complex", "break_keyword", "continue_keyword",
168
- "assignment_expr", "operator_assignment_expr", "keyword_assignment_expr",
169
- "parameters", "property_set_expr", "double_dot_property_set_expr",
165
+ "at_block_pin_expression_complex", "assignment_expr", "operator_assignment_expr",
166
+ "keyword_assignment_expr", "parameters", "property_set_expr", "double_dot_property_set_expr",
170
167
  "data_expr", "binary_operator", "unary_operator", "value_expr",
171
168
  "function_def_expr", "function_expr", "function_args_expr", "atom_expr",
172
169
  "trailer_expr", "function_call_expr", "net_namespace_expr", "function_return_expr",
@@ -197,24 +194,24 @@ export class CircuitScriptParser extends antlr.Parser {
197
194
  let alternative;
198
195
  this.enterOuterAlt(localContext, 1);
199
196
  {
200
- this.state = 136;
197
+ this.state = 132;
201
198
  this.errorHandler.sync(this);
202
199
  alternative = this.interpreter.adaptivePredict(this.tokenStream, 1, this.context);
203
200
  while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
204
201
  if (alternative === 1) {
205
202
  {
206
- this.state = 134;
203
+ this.state = 130;
207
204
  this.errorHandler.sync(this);
208
205
  switch (this.tokenStream.LA(1)) {
209
206
  case CircuitScriptParser.Import:
210
207
  {
211
- this.state = 132;
208
+ this.state = 128;
212
209
  this.import_expr();
213
210
  }
214
211
  break;
215
212
  case CircuitScriptParser.NEWLINE:
216
213
  {
217
- this.state = 133;
214
+ this.state = 129;
218
215
  this.match(CircuitScriptParser.NEWLINE);
219
216
  }
220
217
  break;
@@ -223,16 +220,16 @@ export class CircuitScriptParser extends antlr.Parser {
223
220
  }
224
221
  }
225
222
  }
226
- this.state = 138;
223
+ this.state = 134;
227
224
  this.errorHandler.sync(this);
228
225
  alternative = this.interpreter.adaptivePredict(this.tokenStream, 1, this.context);
229
226
  }
230
- this.state = 141;
227
+ this.state = 137;
231
228
  this.errorHandler.sync(this);
232
229
  _la = this.tokenStream.LA(1);
233
230
  do {
234
231
  {
235
- this.state = 141;
232
+ this.state = 137;
236
233
  this.errorHandler.sync(this);
237
234
  switch (this.tokenStream.LA(1)) {
238
235
  case CircuitScriptParser.T__3:
@@ -257,13 +254,13 @@ export class CircuitScriptParser extends antlr.Parser {
257
254
  case CircuitScriptParser.Divide:
258
255
  case CircuitScriptParser.ID:
259
256
  {
260
- this.state = 139;
257
+ this.state = 135;
261
258
  this.expression();
262
259
  }
263
260
  break;
264
261
  case CircuitScriptParser.NEWLINE:
265
262
  {
266
- this.state = 140;
263
+ this.state = 136;
267
264
  this.match(CircuitScriptParser.NEWLINE);
268
265
  }
269
266
  break;
@@ -271,11 +268,11 @@ export class CircuitScriptParser extends antlr.Parser {
271
268
  throw new antlr.NoViableAltException(this);
272
269
  }
273
270
  }
274
- this.state = 143;
271
+ this.state = 139;
275
272
  this.errorHandler.sync(this);
276
273
  _la = this.tokenStream.LA(1);
277
274
  } while (((((_la - 4)) & ~0x1F) === 0 && ((1 << (_la - 4)) & 867955761) !== 0) || ((((_la - 42)) & ~0x1F) === 0 && ((1 << (_la - 42)) & 4210693) !== 0));
278
- this.state = 145;
275
+ this.state = 141;
279
276
  this.match(CircuitScriptParser.EOF);
280
277
  }
281
278
  }
@@ -297,91 +294,91 @@ export class CircuitScriptParser extends antlr.Parser {
297
294
  let localContext = new ExpressionContext(this.context, this.state);
298
295
  this.enterRule(localContext, 2, CircuitScriptParser.RULE_expression);
299
296
  try {
300
- this.state = 159;
297
+ this.state = 155;
301
298
  this.errorHandler.sync(this);
302
299
  switch (this.interpreter.adaptivePredict(this.tokenStream, 4, this.context)) {
303
300
  case 1:
304
301
  this.enterOuterAlt(localContext, 1);
305
302
  {
306
- this.state = 147;
303
+ this.state = 143;
307
304
  this.graph_expressions();
308
305
  }
309
306
  break;
310
307
  case 2:
311
308
  this.enterOuterAlt(localContext, 2);
312
309
  {
313
- this.state = 148;
314
- this.flow_expressions();
310
+ this.state = 144;
311
+ this.assignment_expr();
315
312
  }
316
313
  break;
317
314
  case 3:
318
315
  this.enterOuterAlt(localContext, 3);
319
316
  {
320
- this.state = 149;
321
- this.assignment_expr();
317
+ this.state = 145;
318
+ this.operator_assignment_expr();
322
319
  }
323
320
  break;
324
321
  case 4:
325
322
  this.enterOuterAlt(localContext, 4);
326
323
  {
327
- this.state = 150;
328
- this.operator_assignment_expr();
324
+ this.state = 146;
325
+ this.property_set_expr();
329
326
  }
330
327
  break;
331
328
  case 5:
332
329
  this.enterOuterAlt(localContext, 5);
333
330
  {
334
- this.state = 151;
335
- this.property_set_expr();
331
+ this.state = 147;
332
+ this.property_set_expr2();
336
333
  }
337
334
  break;
338
335
  case 6:
339
336
  this.enterOuterAlt(localContext, 6);
340
337
  {
341
- this.state = 152;
342
- this.property_set_expr2();
338
+ this.state = 148;
339
+ this.double_dot_property_set_expr();
343
340
  }
344
341
  break;
345
342
  case 7:
346
343
  this.enterOuterAlt(localContext, 7);
347
344
  {
348
- this.state = 153;
349
- this.double_dot_property_set_expr();
345
+ this.state = 149;
346
+ this.function_def_expr();
350
347
  }
351
348
  break;
352
349
  case 8:
353
350
  this.enterOuterAlt(localContext, 8);
354
351
  {
355
- this.state = 154;
356
- this.function_def_expr();
352
+ this.state = 150;
353
+ this.function_call_expr();
357
354
  }
358
355
  break;
359
356
  case 9:
360
357
  this.enterOuterAlt(localContext, 9);
361
358
  {
362
- this.state = 155;
363
- this.function_call_expr();
359
+ this.state = 151;
360
+ this.import_expr();
364
361
  }
365
362
  break;
366
363
  case 10:
367
364
  this.enterOuterAlt(localContext, 10);
368
365
  {
369
- this.state = 156;
370
- this.import_expr();
366
+ this.state = 152;
367
+ this.atom_expr();
371
368
  }
372
369
  break;
373
370
  case 11:
374
371
  this.enterOuterAlt(localContext, 11);
375
372
  {
376
- this.state = 157;
377
- this.atom_expr();
373
+ this.state = 153;
374
+ this.frame_expr();
378
375
  }
379
376
  break;
380
377
  case 12:
381
378
  this.enterOuterAlt(localContext, 12);
382
379
  {
383
- this.state = 158;
384
- this.frame_expr();
380
+ this.state = 154;
381
+ this.flow_expressions();
385
382
  }
386
383
  break;
387
384
  }
@@ -404,42 +401,42 @@ export class CircuitScriptParser extends antlr.Parser {
404
401
  let localContext = new Flow_expressionsContext(this.context, this.state);
405
402
  this.enterRule(localContext, 4, CircuitScriptParser.RULE_flow_expressions);
406
403
  try {
407
- this.state = 166;
404
+ this.state = 162;
408
405
  this.errorHandler.sync(this);
409
406
  switch (this.tokenStream.LA(1)) {
410
407
  case CircuitScriptParser.If:
411
408
  this.enterOuterAlt(localContext, 1);
412
409
  {
413
- this.state = 161;
410
+ this.state = 157;
414
411
  this.if_expr();
415
412
  }
416
413
  break;
417
414
  case CircuitScriptParser.While:
418
415
  this.enterOuterAlt(localContext, 2);
419
416
  {
420
- this.state = 162;
417
+ this.state = 158;
421
418
  this.while_expr();
422
419
  }
423
420
  break;
424
421
  case CircuitScriptParser.For:
425
422
  this.enterOuterAlt(localContext, 3);
426
423
  {
427
- this.state = 163;
424
+ this.state = 159;
428
425
  this.for_expr();
429
426
  }
430
427
  break;
431
428
  case CircuitScriptParser.Break:
432
429
  this.enterOuterAlt(localContext, 4);
433
430
  {
434
- this.state = 164;
435
- this.break_keyword();
431
+ this.state = 160;
432
+ this.match(CircuitScriptParser.Break);
436
433
  }
437
434
  break;
438
435
  case CircuitScriptParser.Continue:
439
436
  this.enterOuterAlt(localContext, 5);
440
437
  {
441
- this.state = 165;
442
- this.continue_keyword();
438
+ this.state = 161;
439
+ this.match(CircuitScriptParser.Continue);
443
440
  }
444
441
  break;
445
442
  default:
@@ -464,20 +461,20 @@ export class CircuitScriptParser extends antlr.Parser {
464
461
  let localContext = new Graph_expressionsContext(this.context, this.state);
465
462
  this.enterRule(localContext, 6, CircuitScriptParser.RULE_graph_expressions);
466
463
  try {
467
- this.state = 170;
464
+ this.state = 166;
468
465
  this.errorHandler.sync(this);
469
466
  switch (this.interpreter.adaptivePredict(this.tokenStream, 6, this.context)) {
470
467
  case 1:
471
468
  this.enterOuterAlt(localContext, 1);
472
469
  {
473
- this.state = 168;
470
+ this.state = 164;
474
471
  this.graph_linear_expression();
475
472
  }
476
473
  break;
477
474
  case 2:
478
475
  this.enterOuterAlt(localContext, 2);
479
476
  {
480
- this.state = 169;
477
+ this.state = 165;
481
478
  this.path_block();
482
479
  }
483
480
  break;
@@ -501,48 +498,48 @@ export class CircuitScriptParser extends antlr.Parser {
501
498
  let localContext = new Graph_linear_expressionContext(this.context, this.state);
502
499
  this.enterRule(localContext, 8, CircuitScriptParser.RULE_graph_linear_expression);
503
500
  try {
504
- this.state = 178;
501
+ this.state = 174;
505
502
  this.errorHandler.sync(this);
506
503
  switch (this.interpreter.adaptivePredict(this.tokenStream, 7, this.context)) {
507
504
  case 1:
508
505
  this.enterOuterAlt(localContext, 1);
509
506
  {
510
- this.state = 172;
507
+ this.state = 168;
511
508
  this.add_component_expr();
512
509
  }
513
510
  break;
514
511
  case 2:
515
512
  this.enterOuterAlt(localContext, 2);
516
513
  {
517
- this.state = 173;
514
+ this.state = 169;
518
515
  this.to_component_expr();
519
516
  }
520
517
  break;
521
518
  case 3:
522
519
  this.enterOuterAlt(localContext, 3);
523
520
  {
524
- this.state = 174;
521
+ this.state = 170;
525
522
  this.at_component_expr();
526
523
  }
527
524
  break;
528
525
  case 4:
529
526
  this.enterOuterAlt(localContext, 4);
530
527
  {
531
- this.state = 175;
528
+ this.state = 171;
532
529
  this.at_block();
533
530
  }
534
531
  break;
535
532
  case 5:
536
533
  this.enterOuterAlt(localContext, 5);
537
534
  {
538
- this.state = 176;
535
+ this.state = 172;
539
536
  this.wire_expr();
540
537
  }
541
538
  break;
542
539
  case 6:
543
540
  this.enterOuterAlt(localContext, 6);
544
541
  {
545
- this.state = 177;
542
+ this.state = 173;
546
543
  this.point_expr();
547
544
  }
548
545
  break;
@@ -569,21 +566,21 @@ export class CircuitScriptParser extends antlr.Parser {
569
566
  try {
570
567
  this.enterOuterAlt(localContext, 1);
571
568
  {
572
- this.state = 180;
569
+ this.state = 176;
573
570
  this.match(CircuitScriptParser.NEWLINE);
574
- this.state = 181;
571
+ this.state = 177;
575
572
  this.match(CircuitScriptParser.INDENT);
576
- this.state = 184;
573
+ this.state = 180;
577
574
  this.errorHandler.sync(this);
578
575
  _la = this.tokenStream.LA(1);
579
576
  do {
580
577
  {
581
- this.state = 184;
578
+ this.state = 180;
582
579
  this.errorHandler.sync(this);
583
580
  switch (this.tokenStream.LA(1)) {
584
581
  case CircuitScriptParser.NEWLINE:
585
582
  {
586
- this.state = 182;
583
+ this.state = 178;
587
584
  this.match(CircuitScriptParser.NEWLINE);
588
585
  }
589
586
  break;
@@ -609,7 +606,7 @@ export class CircuitScriptParser extends antlr.Parser {
609
606
  case CircuitScriptParser.Divide:
610
607
  case CircuitScriptParser.ID:
611
608
  {
612
- this.state = 183;
609
+ this.state = 179;
613
610
  this.expression();
614
611
  }
615
612
  break;
@@ -617,11 +614,11 @@ export class CircuitScriptParser extends antlr.Parser {
617
614
  throw new antlr.NoViableAltException(this);
618
615
  }
619
616
  }
620
- this.state = 186;
617
+ this.state = 182;
621
618
  this.errorHandler.sync(this);
622
619
  _la = this.tokenStream.LA(1);
623
620
  } while (((((_la - 4)) & ~0x1F) === 0 && ((1 << (_la - 4)) & 867955761) !== 0) || ((((_la - 42)) & ~0x1F) === 0 && ((1 << (_la - 42)) & 4210693) !== 0));
624
- this.state = 188;
621
+ this.state = 184;
625
622
  this.match(CircuitScriptParser.DEDENT);
626
623
  }
627
624
  }
@@ -646,7 +643,7 @@ export class CircuitScriptParser extends antlr.Parser {
646
643
  try {
647
644
  this.enterOuterAlt(localContext, 1);
648
645
  {
649
- this.state = 190;
646
+ this.state = 186;
650
647
  _la = this.tokenStream.LA(1);
651
648
  if (!((((_la) & ~0x1F) === 0 && ((1 << _la) & 3670528) !== 0))) {
652
649
  this.errorHandler.recoverInline(this);
@@ -655,9 +652,9 @@ export class CircuitScriptParser extends antlr.Parser {
655
652
  this.errorHandler.reportMatch(this);
656
653
  this.consume();
657
654
  }
658
- this.state = 191;
655
+ this.state = 187;
659
656
  this.match(CircuitScriptParser.T__0);
660
- this.state = 192;
657
+ this.state = 188;
661
658
  this.expressions_block();
662
659
  }
663
660
  }
@@ -682,32 +679,32 @@ export class CircuitScriptParser extends antlr.Parser {
682
679
  try {
683
680
  this.enterOuterAlt(localContext, 1);
684
681
  {
685
- this.state = 194;
682
+ this.state = 190;
686
683
  this.atom_expr();
687
- this.state = 195;
684
+ this.state = 191;
688
685
  this.match(CircuitScriptParser.T__0);
689
- this.state = 196;
686
+ this.state = 192;
690
687
  this.match(CircuitScriptParser.NEWLINE);
691
- this.state = 197;
688
+ this.state = 193;
692
689
  this.match(CircuitScriptParser.INDENT);
693
- this.state = 200;
690
+ this.state = 196;
694
691
  this.errorHandler.sync(this);
695
692
  _la = this.tokenStream.LA(1);
696
693
  do {
697
694
  {
698
- this.state = 200;
695
+ this.state = 196;
699
696
  this.errorHandler.sync(this);
700
697
  switch (this.tokenStream.LA(1)) {
701
698
  case CircuitScriptParser.NEWLINE:
702
699
  {
703
- this.state = 198;
700
+ this.state = 194;
704
701
  this.match(CircuitScriptParser.NEWLINE);
705
702
  }
706
703
  break;
707
704
  case CircuitScriptParser.ID:
708
705
  case CircuitScriptParser.INTEGER_VALUE:
709
706
  {
710
- this.state = 199;
707
+ this.state = 195;
711
708
  this.assignment_expr2();
712
709
  }
713
710
  break;
@@ -715,11 +712,11 @@ export class CircuitScriptParser extends antlr.Parser {
715
712
  throw new antlr.NoViableAltException(this);
716
713
  }
717
714
  }
718
- this.state = 202;
715
+ this.state = 198;
719
716
  this.errorHandler.sync(this);
720
717
  _la = this.tokenStream.LA(1);
721
718
  } while (((((_la - 56)) & ~0x1F) === 0 && ((1 << (_la - 56)) & 259) !== 0));
722
- this.state = 204;
719
+ this.state = 200;
723
720
  this.match(CircuitScriptParser.DEDENT);
724
721
  }
725
722
  }
@@ -744,7 +741,7 @@ export class CircuitScriptParser extends antlr.Parser {
744
741
  try {
745
742
  this.enterOuterAlt(localContext, 1);
746
743
  {
747
- this.state = 206;
744
+ this.state = 202;
748
745
  _la = this.tokenStream.LA(1);
749
746
  if (!(_la === 56 || _la === 57)) {
750
747
  this.errorHandler.recoverInline(this);
@@ -753,9 +750,9 @@ export class CircuitScriptParser extends antlr.Parser {
753
750
  this.errorHandler.reportMatch(this);
754
751
  this.consume();
755
752
  }
756
- this.state = 207;
753
+ this.state = 203;
757
754
  this.match(CircuitScriptParser.T__0);
758
- this.state = 208;
755
+ this.state = 204;
759
756
  this.value_expr();
760
757
  }
761
758
  }
@@ -779,9 +776,9 @@ export class CircuitScriptParser extends antlr.Parser {
779
776
  try {
780
777
  this.enterOuterAlt(localContext, 1);
781
778
  {
782
- this.state = 210;
779
+ this.state = 206;
783
780
  this.match(CircuitScriptParser.Pin);
784
- this.state = 211;
781
+ this.state = 207;
785
782
  this.data_expr(0);
786
783
  }
787
784
  }
@@ -805,11 +802,11 @@ export class CircuitScriptParser extends antlr.Parser {
805
802
  try {
806
803
  this.enterOuterAlt(localContext, 1);
807
804
  {
808
- this.state = 213;
805
+ this.state = 209;
809
806
  this.match(CircuitScriptParser.ID);
810
- this.state = 214;
807
+ this.state = 210;
811
808
  this.match(CircuitScriptParser.T__0);
812
- this.state = 217;
809
+ this.state = 213;
813
810
  this.errorHandler.sync(this);
814
811
  switch (this.tokenStream.LA(1)) {
815
812
  case CircuitScriptParser.Minus:
@@ -820,13 +817,13 @@ export class CircuitScriptParser extends antlr.Parser {
820
817
  case CircuitScriptParser.STRING_VALUE:
821
818
  case CircuitScriptParser.PERCENTAGE_VALUE:
822
819
  {
823
- this.state = 215;
820
+ this.state = 211;
824
821
  this.value_expr();
825
822
  }
826
823
  break;
827
824
  case CircuitScriptParser.ID:
828
825
  {
829
- this.state = 216;
826
+ this.state = 212;
830
827
  this.match(CircuitScriptParser.ID);
831
828
  }
832
829
  break;
@@ -857,44 +854,44 @@ export class CircuitScriptParser extends antlr.Parser {
857
854
  let alternative;
858
855
  this.enterOuterAlt(localContext, 1);
859
856
  {
860
- this.state = 221;
857
+ this.state = 217;
861
858
  this.errorHandler.sync(this);
862
859
  switch (this.interpreter.adaptivePredict(this.tokenStream, 13, this.context)) {
863
860
  case 1:
864
861
  {
865
- this.state = 219;
862
+ this.state = 215;
866
863
  this.data_expr(0);
867
864
  }
868
865
  break;
869
866
  case 2:
870
867
  {
871
- this.state = 220;
868
+ this.state = 216;
872
869
  this.assignment_expr();
873
870
  }
874
871
  break;
875
872
  }
876
- this.state = 226;
873
+ this.state = 222;
877
874
  this.errorHandler.sync(this);
878
875
  alternative = this.interpreter.adaptivePredict(this.tokenStream, 14, this.context);
879
876
  while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
880
877
  if (alternative === 1) {
881
878
  {
882
879
  {
883
- this.state = 223;
880
+ this.state = 219;
884
881
  this.component_modifier_expr();
885
882
  }
886
883
  }
887
884
  }
888
- this.state = 228;
885
+ this.state = 224;
889
886
  this.errorHandler.sync(this);
890
887
  alternative = this.interpreter.adaptivePredict(this.tokenStream, 14, this.context);
891
888
  }
892
- this.state = 230;
889
+ this.state = 226;
893
890
  this.errorHandler.sync(this);
894
891
  _la = this.tokenStream.LA(1);
895
892
  if (_la === 15) {
896
893
  {
897
- this.state = 229;
894
+ this.state = 225;
898
895
  this.pin_select_expr();
899
896
  }
900
897
  }
@@ -920,9 +917,9 @@ export class CircuitScriptParser extends antlr.Parser {
920
917
  try {
921
918
  this.enterOuterAlt(localContext, 1);
922
919
  {
923
- this.state = 232;
920
+ this.state = 228;
924
921
  this.match(CircuitScriptParser.Add);
925
- this.state = 233;
922
+ this.state = 229;
926
923
  this.data_expr_with_assignment();
927
924
  }
928
925
  }
@@ -944,7 +941,7 @@ export class CircuitScriptParser extends antlr.Parser {
944
941
  let localContext = new Component_select_exprContext(this.context, this.state);
945
942
  this.enterRule(localContext, 26, CircuitScriptParser.RULE_component_select_expr);
946
943
  try {
947
- this.state = 238;
944
+ this.state = 234;
948
945
  this.errorHandler.sync(this);
949
946
  switch (this.tokenStream.LA(1)) {
950
947
  case CircuitScriptParser.T__5:
@@ -963,21 +960,21 @@ export class CircuitScriptParser extends antlr.Parser {
963
960
  case CircuitScriptParser.PERCENTAGE_VALUE:
964
961
  this.enterOuterAlt(localContext, 1);
965
962
  {
966
- this.state = 235;
963
+ this.state = 231;
967
964
  this.data_expr_with_assignment();
968
965
  }
969
966
  break;
970
967
  case CircuitScriptParser.Pin:
971
968
  this.enterOuterAlt(localContext, 2);
972
969
  {
973
- this.state = 236;
970
+ this.state = 232;
974
971
  this.pin_select_expr();
975
972
  }
976
973
  break;
977
974
  case CircuitScriptParser.Point:
978
975
  this.enterOuterAlt(localContext, 3);
979
976
  {
980
- this.state = 237;
977
+ this.state = 233;
981
978
  this.match(CircuitScriptParser.Point);
982
979
  }
983
980
  break;
@@ -1006,7 +1003,7 @@ export class CircuitScriptParser extends antlr.Parser {
1006
1003
  try {
1007
1004
  this.enterOuterAlt(localContext, 1);
1008
1005
  {
1009
- this.state = 240;
1006
+ this.state = 236;
1010
1007
  _la = this.tokenStream.LA(1);
1011
1008
  if (!(_la === 57 || _la === 60)) {
1012
1009
  this.errorHandler.recoverInline(this);
@@ -1037,9 +1034,9 @@ export class CircuitScriptParser extends antlr.Parser {
1037
1034
  try {
1038
1035
  this.enterOuterAlt(localContext, 1);
1039
1036
  {
1040
- this.state = 242;
1037
+ this.state = 238;
1041
1038
  this.match(CircuitScriptParser.At);
1042
- this.state = 243;
1039
+ this.state = 239;
1043
1040
  this.component_select_expr();
1044
1041
  }
1045
1042
  }
@@ -1064,24 +1061,24 @@ export class CircuitScriptParser extends antlr.Parser {
1064
1061
  try {
1065
1062
  this.enterOuterAlt(localContext, 1);
1066
1063
  {
1067
- this.state = 245;
1064
+ this.state = 241;
1068
1065
  this.match(CircuitScriptParser.To);
1069
1066
  {
1070
- this.state = 246;
1067
+ this.state = 242;
1071
1068
  this.component_select_expr();
1072
- this.state = 251;
1069
+ this.state = 247;
1073
1070
  this.errorHandler.sync(this);
1074
1071
  _la = this.tokenStream.LA(1);
1075
1072
  while (_la === 2) {
1076
1073
  {
1077
1074
  {
1078
- this.state = 247;
1075
+ this.state = 243;
1079
1076
  this.match(CircuitScriptParser.T__1);
1080
- this.state = 248;
1077
+ this.state = 244;
1081
1078
  this.component_select_expr();
1082
1079
  }
1083
1080
  }
1084
- this.state = 253;
1081
+ this.state = 249;
1085
1082
  this.errorHandler.sync(this);
1086
1083
  _la = this.tokenStream.LA(1);
1087
1084
  }
@@ -1109,54 +1106,54 @@ export class CircuitScriptParser extends antlr.Parser {
1109
1106
  try {
1110
1107
  this.enterOuterAlt(localContext, 1);
1111
1108
  {
1112
- this.state = 254;
1109
+ this.state = 250;
1113
1110
  this.match(CircuitScriptParser.At);
1114
- this.state = 255;
1111
+ this.state = 251;
1115
1112
  this.component_select_expr();
1116
- this.state = 256;
1113
+ this.state = 252;
1117
1114
  this.match(CircuitScriptParser.To);
1118
- this.state = 257;
1115
+ this.state = 253;
1119
1116
  this.component_select_expr();
1120
- this.state = 262;
1117
+ this.state = 258;
1121
1118
  this.errorHandler.sync(this);
1122
1119
  _la = this.tokenStream.LA(1);
1123
1120
  while (_la === 2) {
1124
1121
  {
1125
1122
  {
1126
- this.state = 258;
1123
+ this.state = 254;
1127
1124
  this.match(CircuitScriptParser.T__1);
1128
- this.state = 259;
1125
+ this.state = 255;
1129
1126
  this.component_select_expr();
1130
1127
  }
1131
1128
  }
1132
- this.state = 264;
1129
+ this.state = 260;
1133
1130
  this.errorHandler.sync(this);
1134
1131
  _la = this.tokenStream.LA(1);
1135
1132
  }
1136
- this.state = 265;
1133
+ this.state = 261;
1137
1134
  this.match(CircuitScriptParser.T__0);
1138
- this.state = 266;
1135
+ this.state = 262;
1139
1136
  this.match(CircuitScriptParser.NEWLINE);
1140
- this.state = 267;
1137
+ this.state = 263;
1141
1138
  this.match(CircuitScriptParser.INDENT);
1142
- this.state = 270;
1139
+ this.state = 266;
1143
1140
  this.errorHandler.sync(this);
1144
1141
  _la = this.tokenStream.LA(1);
1145
1142
  do {
1146
1143
  {
1147
- this.state = 270;
1144
+ this.state = 266;
1148
1145
  this.errorHandler.sync(this);
1149
1146
  switch (this.tokenStream.LA(1)) {
1150
1147
  case CircuitScriptParser.NEWLINE:
1151
1148
  {
1152
- this.state = 268;
1149
+ this.state = 264;
1153
1150
  this.match(CircuitScriptParser.NEWLINE);
1154
1151
  }
1155
1152
  break;
1156
1153
  case CircuitScriptParser.INTEGER_VALUE:
1157
1154
  case CircuitScriptParser.STRING_VALUE:
1158
1155
  {
1159
- this.state = 269;
1156
+ this.state = 265;
1160
1157
  this.at_to_multiple_line_expr();
1161
1158
  }
1162
1159
  break;
@@ -1164,11 +1161,11 @@ export class CircuitScriptParser extends antlr.Parser {
1164
1161
  throw new antlr.NoViableAltException(this);
1165
1162
  }
1166
1163
  }
1167
- this.state = 272;
1164
+ this.state = 268;
1168
1165
  this.errorHandler.sync(this);
1169
1166
  _la = this.tokenStream.LA(1);
1170
1167
  } while (((((_la - 57)) & ~0x1F) === 0 && ((1 << (_la - 57)) & 137) !== 0));
1171
- this.state = 274;
1168
+ this.state = 270;
1172
1169
  this.match(CircuitScriptParser.DEDENT);
1173
1170
  }
1174
1171
  }
@@ -1193,25 +1190,25 @@ export class CircuitScriptParser extends antlr.Parser {
1193
1190
  try {
1194
1191
  this.enterOuterAlt(localContext, 1);
1195
1192
  {
1196
- this.state = 276;
1193
+ this.state = 272;
1197
1194
  this.pin_select_expr2();
1198
- this.state = 277;
1195
+ this.state = 273;
1199
1196
  this.match(CircuitScriptParser.T__0);
1200
- this.state = 278;
1197
+ this.state = 274;
1201
1198
  this.at_to_multiple_line_expr_to_pin();
1202
- this.state = 283;
1199
+ this.state = 279;
1203
1200
  this.errorHandler.sync(this);
1204
1201
  _la = this.tokenStream.LA(1);
1205
1202
  while (_la === 2) {
1206
1203
  {
1207
1204
  {
1208
- this.state = 279;
1205
+ this.state = 275;
1209
1206
  this.match(CircuitScriptParser.T__1);
1210
- this.state = 280;
1207
+ this.state = 276;
1211
1208
  this.at_to_multiple_line_expr_to_pin();
1212
1209
  }
1213
1210
  }
1214
- this.state = 285;
1211
+ this.state = 281;
1215
1212
  this.errorHandler.sync(this);
1216
1213
  _la = this.tokenStream.LA(1);
1217
1214
  }
@@ -1238,7 +1235,7 @@ export class CircuitScriptParser extends antlr.Parser {
1238
1235
  try {
1239
1236
  this.enterOuterAlt(localContext, 1);
1240
1237
  {
1241
- this.state = 286;
1238
+ this.state = 282;
1242
1239
  _la = this.tokenStream.LA(1);
1243
1240
  if (!(_la === 54 || _la === 57)) {
1244
1241
  this.errorHandler.recoverInline(this);
@@ -1270,25 +1267,25 @@ export class CircuitScriptParser extends antlr.Parser {
1270
1267
  try {
1271
1268
  this.enterOuterAlt(localContext, 1);
1272
1269
  {
1273
- this.state = 288;
1270
+ this.state = 284;
1274
1271
  this.at_component_expr();
1275
- this.state = 289;
1272
+ this.state = 285;
1276
1273
  this.match(CircuitScriptParser.T__0);
1277
- this.state = 290;
1274
+ this.state = 286;
1278
1275
  this.match(CircuitScriptParser.NEWLINE);
1279
- this.state = 291;
1276
+ this.state = 287;
1280
1277
  this.match(CircuitScriptParser.INDENT);
1281
- this.state = 294;
1278
+ this.state = 290;
1282
1279
  this.errorHandler.sync(this);
1283
1280
  _la = this.tokenStream.LA(1);
1284
1281
  do {
1285
1282
  {
1286
- this.state = 294;
1283
+ this.state = 290;
1287
1284
  this.errorHandler.sync(this);
1288
1285
  switch (this.tokenStream.LA(1)) {
1289
1286
  case CircuitScriptParser.NEWLINE:
1290
1287
  {
1291
- this.state = 292;
1288
+ this.state = 288;
1292
1289
  this.match(CircuitScriptParser.NEWLINE);
1293
1290
  }
1294
1291
  break;
@@ -1316,7 +1313,7 @@ export class CircuitScriptParser extends antlr.Parser {
1316
1313
  case CircuitScriptParser.INTEGER_VALUE:
1317
1314
  case CircuitScriptParser.STRING_VALUE:
1318
1315
  {
1319
- this.state = 293;
1316
+ this.state = 289;
1320
1317
  this.at_block_expressions();
1321
1318
  }
1322
1319
  break;
@@ -1324,11 +1321,11 @@ export class CircuitScriptParser extends antlr.Parser {
1324
1321
  throw new antlr.NoViableAltException(this);
1325
1322
  }
1326
1323
  }
1327
- this.state = 296;
1324
+ this.state = 292;
1328
1325
  this.errorHandler.sync(this);
1329
1326
  _la = this.tokenStream.LA(1);
1330
1327
  } while (((((_la - 4)) & ~0x1F) === 0 && ((1 << (_la - 4)) & 867955761) !== 0) || ((((_la - 42)) & ~0x1F) === 0 && ((1 << (_la - 42)) & 4505605) !== 0));
1331
- this.state = 298;
1328
+ this.state = 294;
1332
1329
  this.match(CircuitScriptParser.DEDENT);
1333
1330
  }
1334
1331
  }
@@ -1350,7 +1347,7 @@ export class CircuitScriptParser extends antlr.Parser {
1350
1347
  let localContext = new At_block_expressionsContext(this.context, this.state);
1351
1348
  this.enterRule(localContext, 42, CircuitScriptParser.RULE_at_block_expressions);
1352
1349
  try {
1353
- this.state = 302;
1350
+ this.state = 298;
1354
1351
  this.errorHandler.sync(this);
1355
1352
  switch (this.tokenStream.LA(1)) {
1356
1353
  case CircuitScriptParser.T__3:
@@ -1376,7 +1373,7 @@ export class CircuitScriptParser extends antlr.Parser {
1376
1373
  case CircuitScriptParser.ID:
1377
1374
  this.enterOuterAlt(localContext, 1);
1378
1375
  {
1379
- this.state = 300;
1376
+ this.state = 296;
1380
1377
  this.expression();
1381
1378
  }
1382
1379
  break;
@@ -1384,7 +1381,7 @@ export class CircuitScriptParser extends antlr.Parser {
1384
1381
  case CircuitScriptParser.STRING_VALUE:
1385
1382
  this.enterOuterAlt(localContext, 2);
1386
1383
  {
1387
- this.state = 301;
1384
+ this.state = 297;
1388
1385
  this.at_block_pin_expr();
1389
1386
  }
1390
1387
  break;
@@ -1412,11 +1409,11 @@ export class CircuitScriptParser extends antlr.Parser {
1412
1409
  try {
1413
1410
  this.enterOuterAlt(localContext, 1);
1414
1411
  {
1415
- this.state = 304;
1412
+ this.state = 300;
1416
1413
  this.pin_select_expr2();
1417
- this.state = 305;
1414
+ this.state = 301;
1418
1415
  this.match(CircuitScriptParser.T__0);
1419
- this.state = 308;
1416
+ this.state = 304;
1420
1417
  this.errorHandler.sync(this);
1421
1418
  switch (this.tokenStream.LA(1)) {
1422
1419
  case CircuitScriptParser.T__3:
@@ -1442,13 +1439,13 @@ export class CircuitScriptParser extends antlr.Parser {
1442
1439
  case CircuitScriptParser.NOT_CONNECTED:
1443
1440
  case CircuitScriptParser.ID:
1444
1441
  {
1445
- this.state = 306;
1442
+ this.state = 302;
1446
1443
  this.at_block_pin_expression_simple();
1447
1444
  }
1448
1445
  break;
1449
1446
  case CircuitScriptParser.NEWLINE:
1450
1447
  {
1451
- this.state = 307;
1448
+ this.state = 303;
1452
1449
  this.at_block_pin_expression_complex();
1453
1450
  }
1454
1451
  break;
@@ -1477,7 +1474,7 @@ export class CircuitScriptParser extends antlr.Parser {
1477
1474
  try {
1478
1475
  this.enterOuterAlt(localContext, 1);
1479
1476
  {
1480
- this.state = 312;
1477
+ this.state = 308;
1481
1478
  this.errorHandler.sync(this);
1482
1479
  switch (this.tokenStream.LA(1)) {
1483
1480
  case CircuitScriptParser.T__3:
@@ -1502,13 +1499,13 @@ export class CircuitScriptParser extends antlr.Parser {
1502
1499
  case CircuitScriptParser.Divide:
1503
1500
  case CircuitScriptParser.ID:
1504
1501
  {
1505
- this.state = 310;
1502
+ this.state = 306;
1506
1503
  this.expression();
1507
1504
  }
1508
1505
  break;
1509
1506
  case CircuitScriptParser.NOT_CONNECTED:
1510
1507
  {
1511
- this.state = 311;
1508
+ this.state = 307;
1512
1509
  this.match(CircuitScriptParser.NOT_CONNECTED);
1513
1510
  }
1514
1511
  break;
@@ -1537,7 +1534,7 @@ export class CircuitScriptParser extends antlr.Parser {
1537
1534
  try {
1538
1535
  this.enterOuterAlt(localContext, 1);
1539
1536
  {
1540
- this.state = 314;
1537
+ this.state = 310;
1541
1538
  this.expressions_block();
1542
1539
  }
1543
1540
  }
@@ -1555,79 +1552,31 @@ export class CircuitScriptParser extends antlr.Parser {
1555
1552
  }
1556
1553
  return localContext;
1557
1554
  }
1558
- break_keyword() {
1559
- let localContext = new Break_keywordContext(this.context, this.state);
1560
- this.enterRule(localContext, 50, CircuitScriptParser.RULE_break_keyword);
1561
- try {
1562
- this.enterOuterAlt(localContext, 1);
1563
- {
1564
- this.state = 316;
1565
- this.match(CircuitScriptParser.Break);
1566
- }
1567
- }
1568
- catch (re) {
1569
- if (re instanceof antlr.RecognitionException) {
1570
- this.errorHandler.reportError(this, re);
1571
- this.errorHandler.recover(this, re);
1572
- }
1573
- else {
1574
- throw re;
1575
- }
1576
- }
1577
- finally {
1578
- this.exitRule();
1579
- }
1580
- return localContext;
1581
- }
1582
- continue_keyword() {
1583
- let localContext = new Continue_keywordContext(this.context, this.state);
1584
- this.enterRule(localContext, 52, CircuitScriptParser.RULE_continue_keyword);
1585
- try {
1586
- this.enterOuterAlt(localContext, 1);
1587
- {
1588
- this.state = 318;
1589
- this.match(CircuitScriptParser.Continue);
1590
- }
1591
- }
1592
- catch (re) {
1593
- if (re instanceof antlr.RecognitionException) {
1594
- this.errorHandler.reportError(this, re);
1595
- this.errorHandler.recover(this, re);
1596
- }
1597
- else {
1598
- throw re;
1599
- }
1600
- }
1601
- finally {
1602
- this.exitRule();
1603
- }
1604
- return localContext;
1605
- }
1606
1555
  assignment_expr() {
1607
1556
  let localContext = new Assignment_exprContext(this.context, this.state);
1608
- this.enterRule(localContext, 54, CircuitScriptParser.RULE_assignment_expr);
1557
+ this.enterRule(localContext, 50, CircuitScriptParser.RULE_assignment_expr);
1609
1558
  try {
1610
1559
  this.enterOuterAlt(localContext, 1);
1611
1560
  {
1612
- this.state = 322;
1561
+ this.state = 314;
1613
1562
  this.errorHandler.sync(this);
1614
1563
  switch (this.interpreter.adaptivePredict(this.tokenStream, 27, this.context)) {
1615
1564
  case 1:
1616
1565
  {
1617
- this.state = 320;
1566
+ this.state = 312;
1618
1567
  this.atom_expr();
1619
1568
  }
1620
1569
  break;
1621
1570
  case 2:
1622
1571
  {
1623
- this.state = 321;
1572
+ this.state = 313;
1624
1573
  this.function_call_expr();
1625
1574
  }
1626
1575
  break;
1627
1576
  }
1628
- this.state = 324;
1577
+ this.state = 316;
1629
1578
  this.match(CircuitScriptParser.T__2);
1630
- this.state = 325;
1579
+ this.state = 317;
1631
1580
  this.data_expr(0);
1632
1581
  }
1633
1582
  }
@@ -1647,14 +1596,14 @@ export class CircuitScriptParser extends antlr.Parser {
1647
1596
  }
1648
1597
  operator_assignment_expr() {
1649
1598
  let localContext = new Operator_assignment_exprContext(this.context, this.state);
1650
- this.enterRule(localContext, 56, CircuitScriptParser.RULE_operator_assignment_expr);
1599
+ this.enterRule(localContext, 52, CircuitScriptParser.RULE_operator_assignment_expr);
1651
1600
  let _la;
1652
1601
  try {
1653
1602
  this.enterOuterAlt(localContext, 1);
1654
1603
  {
1655
- this.state = 327;
1604
+ this.state = 319;
1656
1605
  this.atom_expr();
1657
- this.state = 328;
1606
+ this.state = 320;
1658
1607
  _la = this.tokenStream.LA(1);
1659
1608
  if (!(((((_la - 47)) & ~0x1F) === 0 && ((1 << (_la - 47)) & 31) !== 0))) {
1660
1609
  this.errorHandler.recoverInline(this);
@@ -1663,7 +1612,7 @@ export class CircuitScriptParser extends antlr.Parser {
1663
1612
  this.errorHandler.reportMatch(this);
1664
1613
  this.consume();
1665
1614
  }
1666
- this.state = 329;
1615
+ this.state = 321;
1667
1616
  this.data_expr(0);
1668
1617
  }
1669
1618
  }
@@ -1683,15 +1632,15 @@ export class CircuitScriptParser extends antlr.Parser {
1683
1632
  }
1684
1633
  keyword_assignment_expr() {
1685
1634
  let localContext = new Keyword_assignment_exprContext(this.context, this.state);
1686
- this.enterRule(localContext, 58, CircuitScriptParser.RULE_keyword_assignment_expr);
1635
+ this.enterRule(localContext, 54, CircuitScriptParser.RULE_keyword_assignment_expr);
1687
1636
  try {
1688
1637
  this.enterOuterAlt(localContext, 1);
1689
1638
  {
1690
- this.state = 331;
1639
+ this.state = 323;
1691
1640
  this.match(CircuitScriptParser.ID);
1692
- this.state = 332;
1641
+ this.state = 324;
1693
1642
  this.match(CircuitScriptParser.T__2);
1694
- this.state = 333;
1643
+ this.state = 325;
1695
1644
  this.data_expr(0);
1696
1645
  }
1697
1646
  }
@@ -1711,50 +1660,50 @@ export class CircuitScriptParser extends antlr.Parser {
1711
1660
  }
1712
1661
  parameters() {
1713
1662
  let localContext = new ParametersContext(this.context, this.state);
1714
- this.enterRule(localContext, 60, CircuitScriptParser.RULE_parameters);
1663
+ this.enterRule(localContext, 56, CircuitScriptParser.RULE_parameters);
1715
1664
  let _la;
1716
1665
  try {
1717
1666
  let alternative;
1718
- this.state = 358;
1667
+ this.state = 350;
1719
1668
  this.errorHandler.sync(this);
1720
1669
  switch (this.interpreter.adaptivePredict(this.tokenStream, 31, this.context)) {
1721
1670
  case 1:
1722
1671
  this.enterOuterAlt(localContext, 1);
1723
1672
  {
1724
1673
  {
1725
- this.state = 335;
1674
+ this.state = 327;
1726
1675
  this.data_expr(0);
1727
- this.state = 340;
1676
+ this.state = 332;
1728
1677
  this.errorHandler.sync(this);
1729
1678
  alternative = this.interpreter.adaptivePredict(this.tokenStream, 28, this.context);
1730
1679
  while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
1731
1680
  if (alternative === 1) {
1732
1681
  {
1733
1682
  {
1734
- this.state = 336;
1683
+ this.state = 328;
1735
1684
  this.match(CircuitScriptParser.T__1);
1736
- this.state = 337;
1685
+ this.state = 329;
1737
1686
  this.data_expr(0);
1738
1687
  }
1739
1688
  }
1740
1689
  }
1741
- this.state = 342;
1690
+ this.state = 334;
1742
1691
  this.errorHandler.sync(this);
1743
1692
  alternative = this.interpreter.adaptivePredict(this.tokenStream, 28, this.context);
1744
1693
  }
1745
- this.state = 347;
1694
+ this.state = 339;
1746
1695
  this.errorHandler.sync(this);
1747
1696
  _la = this.tokenStream.LA(1);
1748
1697
  while (_la === 2) {
1749
1698
  {
1750
1699
  {
1751
- this.state = 343;
1700
+ this.state = 335;
1752
1701
  this.match(CircuitScriptParser.T__1);
1753
- this.state = 344;
1702
+ this.state = 336;
1754
1703
  this.keyword_assignment_expr();
1755
1704
  }
1756
1705
  }
1757
- this.state = 349;
1706
+ this.state = 341;
1758
1707
  this.errorHandler.sync(this);
1759
1708
  _la = this.tokenStream.LA(1);
1760
1709
  }
@@ -1765,21 +1714,21 @@ export class CircuitScriptParser extends antlr.Parser {
1765
1714
  this.enterOuterAlt(localContext, 2);
1766
1715
  {
1767
1716
  {
1768
- this.state = 350;
1717
+ this.state = 342;
1769
1718
  this.keyword_assignment_expr();
1770
- this.state = 355;
1719
+ this.state = 347;
1771
1720
  this.errorHandler.sync(this);
1772
1721
  _la = this.tokenStream.LA(1);
1773
1722
  while (_la === 2) {
1774
1723
  {
1775
1724
  {
1776
- this.state = 351;
1725
+ this.state = 343;
1777
1726
  this.match(CircuitScriptParser.T__1);
1778
- this.state = 352;
1727
+ this.state = 344;
1779
1728
  this.keyword_assignment_expr();
1780
1729
  }
1781
1730
  }
1782
- this.state = 357;
1731
+ this.state = 349;
1783
1732
  this.errorHandler.sync(this);
1784
1733
  _la = this.tokenStream.LA(1);
1785
1734
  }
@@ -1804,15 +1753,15 @@ export class CircuitScriptParser extends antlr.Parser {
1804
1753
  }
1805
1754
  property_set_expr() {
1806
1755
  let localContext = new Property_set_exprContext(this.context, this.state);
1807
- this.enterRule(localContext, 62, CircuitScriptParser.RULE_property_set_expr);
1756
+ this.enterRule(localContext, 58, CircuitScriptParser.RULE_property_set_expr);
1808
1757
  try {
1809
1758
  this.enterOuterAlt(localContext, 1);
1810
1759
  {
1811
- this.state = 360;
1760
+ this.state = 352;
1812
1761
  this.atom_expr();
1813
- this.state = 361;
1762
+ this.state = 353;
1814
1763
  this.match(CircuitScriptParser.T__2);
1815
- this.state = 362;
1764
+ this.state = 354;
1816
1765
  this.data_expr(0);
1817
1766
  }
1818
1767
  }
@@ -1832,17 +1781,17 @@ export class CircuitScriptParser extends antlr.Parser {
1832
1781
  }
1833
1782
  double_dot_property_set_expr() {
1834
1783
  let localContext = new Double_dot_property_set_exprContext(this.context, this.state);
1835
- this.enterRule(localContext, 64, CircuitScriptParser.RULE_double_dot_property_set_expr);
1784
+ this.enterRule(localContext, 60, CircuitScriptParser.RULE_double_dot_property_set_expr);
1836
1785
  try {
1837
1786
  this.enterOuterAlt(localContext, 1);
1838
1787
  {
1839
- this.state = 364;
1788
+ this.state = 356;
1840
1789
  this.match(CircuitScriptParser.T__3);
1841
- this.state = 365;
1790
+ this.state = 357;
1842
1791
  this.match(CircuitScriptParser.ID);
1843
- this.state = 366;
1792
+ this.state = 358;
1844
1793
  this.match(CircuitScriptParser.T__2);
1845
- this.state = 367;
1794
+ this.state = 359;
1846
1795
  this.data_expr(0);
1847
1796
  }
1848
1797
  }
@@ -1868,14 +1817,14 @@ export class CircuitScriptParser extends antlr.Parser {
1868
1817
  let parentState = this.state;
1869
1818
  let localContext = new Data_exprContext(this.context, parentState);
1870
1819
  let previousContext = localContext;
1871
- let _startState = 66;
1872
- this.enterRecursionRule(localContext, 66, CircuitScriptParser.RULE_data_expr, _p);
1820
+ let _startState = 62;
1821
+ this.enterRecursionRule(localContext, 62, CircuitScriptParser.RULE_data_expr, _p);
1873
1822
  let _la;
1874
1823
  try {
1875
1824
  let alternative;
1876
1825
  this.enterOuterAlt(localContext, 1);
1877
1826
  {
1878
- this.state = 386;
1827
+ this.state = 378;
1879
1828
  this.errorHandler.sync(this);
1880
1829
  switch (this.interpreter.adaptivePredict(this.tokenStream, 33, this.context)) {
1881
1830
  case 1:
@@ -1883,11 +1832,11 @@ export class CircuitScriptParser extends antlr.Parser {
1883
1832
  localContext = new RoundedBracketsExprContext(localContext);
1884
1833
  this.context = localContext;
1885
1834
  previousContext = localContext;
1886
- this.state = 370;
1835
+ this.state = 362;
1887
1836
  this.match(CircuitScriptParser.OPEN_PAREN);
1888
- this.state = 371;
1837
+ this.state = 363;
1889
1838
  this.data_expr(0);
1890
- this.state = 372;
1839
+ this.state = 364;
1891
1840
  this.match(CircuitScriptParser.CLOSE_PAREN);
1892
1841
  }
1893
1842
  break;
@@ -1896,7 +1845,7 @@ export class CircuitScriptParser extends antlr.Parser {
1896
1845
  localContext = new ValueAtomExprContext(localContext);
1897
1846
  this.context = localContext;
1898
1847
  previousContext = localContext;
1899
- this.state = 376;
1848
+ this.state = 368;
1900
1849
  this.errorHandler.sync(this);
1901
1850
  switch (this.tokenStream.LA(1)) {
1902
1851
  case CircuitScriptParser.Minus:
@@ -1907,13 +1856,13 @@ export class CircuitScriptParser extends antlr.Parser {
1907
1856
  case CircuitScriptParser.STRING_VALUE:
1908
1857
  case CircuitScriptParser.PERCENTAGE_VALUE:
1909
1858
  {
1910
- this.state = 374;
1859
+ this.state = 366;
1911
1860
  this.value_expr();
1912
1861
  }
1913
1862
  break;
1914
1863
  case CircuitScriptParser.ID:
1915
1864
  {
1916
- this.state = 375;
1865
+ this.state = 367;
1917
1866
  this.atom_expr();
1918
1867
  }
1919
1868
  break;
@@ -1927,9 +1876,9 @@ export class CircuitScriptParser extends antlr.Parser {
1927
1876
  localContext = new UnaryOperatorExprContext(localContext);
1928
1877
  this.context = localContext;
1929
1878
  previousContext = localContext;
1930
- this.state = 378;
1879
+ this.state = 370;
1931
1880
  this.unary_operator();
1932
- this.state = 379;
1881
+ this.state = 371;
1933
1882
  this.data_expr(10);
1934
1883
  }
1935
1884
  break;
@@ -1938,7 +1887,7 @@ export class CircuitScriptParser extends antlr.Parser {
1938
1887
  localContext = new DataExprContext(localContext);
1939
1888
  this.context = localContext;
1940
1889
  previousContext = localContext;
1941
- this.state = 381;
1890
+ this.state = 373;
1942
1891
  this.create_component_expr();
1943
1892
  }
1944
1893
  break;
@@ -1947,7 +1896,7 @@ export class CircuitScriptParser extends antlr.Parser {
1947
1896
  localContext = new DataExprContext(localContext);
1948
1897
  this.context = localContext;
1949
1898
  previousContext = localContext;
1950
- this.state = 382;
1899
+ this.state = 374;
1951
1900
  this.create_graphic_expr();
1952
1901
  }
1953
1902
  break;
@@ -1956,7 +1905,7 @@ export class CircuitScriptParser extends antlr.Parser {
1956
1905
  localContext = new DataExprContext(localContext);
1957
1906
  this.context = localContext;
1958
1907
  previousContext = localContext;
1959
- this.state = 383;
1908
+ this.state = 375;
1960
1909
  this.create_module_expr();
1961
1910
  }
1962
1911
  break;
@@ -1965,7 +1914,7 @@ export class CircuitScriptParser extends antlr.Parser {
1965
1914
  localContext = new FunctionCallExprContext(localContext);
1966
1915
  this.context = localContext;
1967
1916
  previousContext = localContext;
1968
- this.state = 384;
1917
+ this.state = 376;
1969
1918
  this.function_call_expr();
1970
1919
  }
1971
1920
  break;
@@ -1974,13 +1923,13 @@ export class CircuitScriptParser extends antlr.Parser {
1974
1923
  localContext = new ArrayExprContext(localContext);
1975
1924
  this.context = localContext;
1976
1925
  previousContext = localContext;
1977
- this.state = 385;
1926
+ this.state = 377;
1978
1927
  this.array_expr();
1979
1928
  }
1980
1929
  break;
1981
1930
  }
1982
1931
  this.context.stop = this.tokenStream.LT(-1);
1983
- this.state = 403;
1932
+ this.state = 395;
1984
1933
  this.errorHandler.sync(this);
1985
1934
  alternative = this.interpreter.adaptivePredict(this.tokenStream, 35, this.context);
1986
1935
  while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
@@ -1990,18 +1939,18 @@ export class CircuitScriptParser extends antlr.Parser {
1990
1939
  }
1991
1940
  previousContext = localContext;
1992
1941
  {
1993
- this.state = 401;
1942
+ this.state = 393;
1994
1943
  this.errorHandler.sync(this);
1995
1944
  switch (this.interpreter.adaptivePredict(this.tokenStream, 34, this.context)) {
1996
1945
  case 1:
1997
1946
  {
1998
1947
  localContext = new MultiplyExprContext(new Data_exprContext(parentContext, parentState));
1999
1948
  this.pushNewRecursionContext(localContext, _startState, CircuitScriptParser.RULE_data_expr);
2000
- this.state = 388;
1949
+ this.state = 380;
2001
1950
  if (!(this.precpred(this.context, 9))) {
2002
1951
  throw this.createFailedPredicateException("this.precpred(this.context, 9)");
2003
1952
  }
2004
- this.state = 389;
1953
+ this.state = 381;
2005
1954
  _la = this.tokenStream.LA(1);
2006
1955
  if (!(((((_la - 44)) & ~0x1F) === 0 && ((1 << (_la - 44)) & 7) !== 0))) {
2007
1956
  this.errorHandler.recoverInline(this);
@@ -2010,7 +1959,7 @@ export class CircuitScriptParser extends antlr.Parser {
2010
1959
  this.errorHandler.reportMatch(this);
2011
1960
  this.consume();
2012
1961
  }
2013
- this.state = 390;
1962
+ this.state = 382;
2014
1963
  this.data_expr(10);
2015
1964
  }
2016
1965
  break;
@@ -2018,11 +1967,11 @@ export class CircuitScriptParser extends antlr.Parser {
2018
1967
  {
2019
1968
  localContext = new AdditionExprContext(new Data_exprContext(parentContext, parentState));
2020
1969
  this.pushNewRecursionContext(localContext, _startState, CircuitScriptParser.RULE_data_expr);
2021
- this.state = 391;
1970
+ this.state = 383;
2022
1971
  if (!(this.precpred(this.context, 8))) {
2023
1972
  throw this.createFailedPredicateException("this.precpred(this.context, 8)");
2024
1973
  }
2025
- this.state = 392;
1974
+ this.state = 384;
2026
1975
  _la = this.tokenStream.LA(1);
2027
1976
  if (!(_la === 42 || _la === 43)) {
2028
1977
  this.errorHandler.recoverInline(this);
@@ -2031,7 +1980,7 @@ export class CircuitScriptParser extends antlr.Parser {
2031
1980
  this.errorHandler.reportMatch(this);
2032
1981
  this.consume();
2033
1982
  }
2034
- this.state = 393;
1983
+ this.state = 385;
2035
1984
  this.data_expr(9);
2036
1985
  }
2037
1986
  break;
@@ -2039,13 +1988,13 @@ export class CircuitScriptParser extends antlr.Parser {
2039
1988
  {
2040
1989
  localContext = new BinaryOperatorExprContext(new Data_exprContext(parentContext, parentState));
2041
1990
  this.pushNewRecursionContext(localContext, _startState, CircuitScriptParser.RULE_data_expr);
2042
- this.state = 394;
1991
+ this.state = 386;
2043
1992
  if (!(this.precpred(this.context, 7))) {
2044
1993
  throw this.createFailedPredicateException("this.precpred(this.context, 7)");
2045
1994
  }
2046
- this.state = 395;
1995
+ this.state = 387;
2047
1996
  this.binary_operator();
2048
- this.state = 396;
1997
+ this.state = 388;
2049
1998
  this.data_expr(8);
2050
1999
  }
2051
2000
  break;
@@ -2053,11 +2002,11 @@ export class CircuitScriptParser extends antlr.Parser {
2053
2002
  {
2054
2003
  localContext = new LogicalOperatorExprContext(new Data_exprContext(parentContext, parentState));
2055
2004
  this.pushNewRecursionContext(localContext, _startState, CircuitScriptParser.RULE_data_expr);
2056
- this.state = 398;
2005
+ this.state = 390;
2057
2006
  if (!(this.precpred(this.context, 6))) {
2058
2007
  throw this.createFailedPredicateException("this.precpred(this.context, 6)");
2059
2008
  }
2060
- this.state = 399;
2009
+ this.state = 391;
2061
2010
  _la = this.tokenStream.LA(1);
2062
2011
  if (!(_la === 40 || _la === 41)) {
2063
2012
  this.errorHandler.recoverInline(this);
@@ -2066,14 +2015,14 @@ export class CircuitScriptParser extends antlr.Parser {
2066
2015
  this.errorHandler.reportMatch(this);
2067
2016
  this.consume();
2068
2017
  }
2069
- this.state = 400;
2018
+ this.state = 392;
2070
2019
  this.data_expr(7);
2071
2020
  }
2072
2021
  break;
2073
2022
  }
2074
2023
  }
2075
2024
  }
2076
- this.state = 405;
2025
+ this.state = 397;
2077
2026
  this.errorHandler.sync(this);
2078
2027
  alternative = this.interpreter.adaptivePredict(this.tokenStream, 35, this.context);
2079
2028
  }
@@ -2095,12 +2044,12 @@ export class CircuitScriptParser extends antlr.Parser {
2095
2044
  }
2096
2045
  binary_operator() {
2097
2046
  let localContext = new Binary_operatorContext(this.context, this.state);
2098
- this.enterRule(localContext, 68, CircuitScriptParser.RULE_binary_operator);
2047
+ this.enterRule(localContext, 64, CircuitScriptParser.RULE_binary_operator);
2099
2048
  let _la;
2100
2049
  try {
2101
2050
  this.enterOuterAlt(localContext, 1);
2102
2051
  {
2103
- this.state = 406;
2052
+ this.state = 398;
2104
2053
  _la = this.tokenStream.LA(1);
2105
2054
  if (!(((((_la - 34)) & ~0x1F) === 0 && ((1 << (_la - 34)) & 63) !== 0))) {
2106
2055
  this.errorHandler.recoverInline(this);
@@ -2127,12 +2076,12 @@ export class CircuitScriptParser extends antlr.Parser {
2127
2076
  }
2128
2077
  unary_operator() {
2129
2078
  let localContext = new Unary_operatorContext(this.context, this.state);
2130
- this.enterRule(localContext, 70, CircuitScriptParser.RULE_unary_operator);
2079
+ this.enterRule(localContext, 66, CircuitScriptParser.RULE_unary_operator);
2131
2080
  let _la;
2132
2081
  try {
2133
2082
  this.enterOuterAlt(localContext, 1);
2134
2083
  {
2135
- this.state = 408;
2084
+ this.state = 400;
2136
2085
  _la = this.tokenStream.LA(1);
2137
2086
  if (!(_la === 31 || _la === 43)) {
2138
2087
  this.errorHandler.recoverInline(this);
@@ -2159,22 +2108,22 @@ export class CircuitScriptParser extends antlr.Parser {
2159
2108
  }
2160
2109
  value_expr() {
2161
2110
  let localContext = new Value_exprContext(this.context, this.state);
2162
- this.enterRule(localContext, 72, CircuitScriptParser.RULE_value_expr);
2111
+ this.enterRule(localContext, 68, CircuitScriptParser.RULE_value_expr);
2163
2112
  let _la;
2164
2113
  try {
2165
2114
  this.enterOuterAlt(localContext, 1);
2166
2115
  {
2167
2116
  {
2168
- this.state = 411;
2117
+ this.state = 403;
2169
2118
  this.errorHandler.sync(this);
2170
2119
  _la = this.tokenStream.LA(1);
2171
2120
  if (_la === 43) {
2172
2121
  {
2173
- this.state = 410;
2122
+ this.state = 402;
2174
2123
  this.match(CircuitScriptParser.Minus);
2175
2124
  }
2176
2125
  }
2177
- this.state = 413;
2126
+ this.state = 405;
2178
2127
  _la = this.tokenStream.LA(1);
2179
2128
  if (!(((((_la - 55)) & ~0x1F) === 0 && ((1 << (_la - 55)) & 125) !== 0))) {
2180
2129
  this.errorHandler.recoverInline(this);
@@ -2202,45 +2151,45 @@ export class CircuitScriptParser extends antlr.Parser {
2202
2151
  }
2203
2152
  function_def_expr() {
2204
2153
  let localContext = new Function_def_exprContext(this.context, this.state);
2205
- this.enterRule(localContext, 74, CircuitScriptParser.RULE_function_def_expr);
2154
+ this.enterRule(localContext, 70, CircuitScriptParser.RULE_function_def_expr);
2206
2155
  let _la;
2207
2156
  try {
2208
2157
  this.enterOuterAlt(localContext, 1);
2209
2158
  {
2210
- this.state = 415;
2159
+ this.state = 407;
2211
2160
  this.match(CircuitScriptParser.Define);
2212
- this.state = 416;
2161
+ this.state = 408;
2213
2162
  this.match(CircuitScriptParser.ID);
2214
- this.state = 417;
2163
+ this.state = 409;
2215
2164
  this.match(CircuitScriptParser.OPEN_PAREN);
2216
- this.state = 419;
2165
+ this.state = 411;
2217
2166
  this.errorHandler.sync(this);
2218
2167
  _la = this.tokenStream.LA(1);
2219
2168
  if (_la === 56) {
2220
2169
  {
2221
- this.state = 418;
2170
+ this.state = 410;
2222
2171
  this.function_args_expr();
2223
2172
  }
2224
2173
  }
2225
- this.state = 421;
2174
+ this.state = 413;
2226
2175
  this.match(CircuitScriptParser.CLOSE_PAREN);
2227
- this.state = 422;
2176
+ this.state = 414;
2228
2177
  this.match(CircuitScriptParser.T__0);
2229
- this.state = 423;
2178
+ this.state = 415;
2230
2179
  this.match(CircuitScriptParser.NEWLINE);
2231
- this.state = 424;
2180
+ this.state = 416;
2232
2181
  this.match(CircuitScriptParser.INDENT);
2233
- this.state = 427;
2182
+ this.state = 419;
2234
2183
  this.errorHandler.sync(this);
2235
2184
  _la = this.tokenStream.LA(1);
2236
2185
  do {
2237
2186
  {
2238
- this.state = 427;
2187
+ this.state = 419;
2239
2188
  this.errorHandler.sync(this);
2240
2189
  switch (this.tokenStream.LA(1)) {
2241
2190
  case CircuitScriptParser.NEWLINE:
2242
2191
  {
2243
- this.state = 425;
2192
+ this.state = 417;
2244
2193
  this.match(CircuitScriptParser.NEWLINE);
2245
2194
  }
2246
2195
  break;
@@ -2267,7 +2216,7 @@ export class CircuitScriptParser extends antlr.Parser {
2267
2216
  case CircuitScriptParser.Divide:
2268
2217
  case CircuitScriptParser.ID:
2269
2218
  {
2270
- this.state = 426;
2219
+ this.state = 418;
2271
2220
  this.function_expr();
2272
2221
  }
2273
2222
  break;
@@ -2275,11 +2224,11 @@ export class CircuitScriptParser extends antlr.Parser {
2275
2224
  throw new antlr.NoViableAltException(this);
2276
2225
  }
2277
2226
  }
2278
- this.state = 429;
2227
+ this.state = 421;
2279
2228
  this.errorHandler.sync(this);
2280
2229
  _la = this.tokenStream.LA(1);
2281
2230
  } while (((((_la - 4)) & ~0x1F) === 0 && ((1 << (_la - 4)) & 868217905) !== 0) || ((((_la - 42)) & ~0x1F) === 0 && ((1 << (_la - 42)) & 4210693) !== 0));
2282
- this.state = 431;
2231
+ this.state = 423;
2283
2232
  this.match(CircuitScriptParser.DEDENT);
2284
2233
  }
2285
2234
  }
@@ -2299,9 +2248,9 @@ export class CircuitScriptParser extends antlr.Parser {
2299
2248
  }
2300
2249
  function_expr() {
2301
2250
  let localContext = new Function_exprContext(this.context, this.state);
2302
- this.enterRule(localContext, 76, CircuitScriptParser.RULE_function_expr);
2251
+ this.enterRule(localContext, 72, CircuitScriptParser.RULE_function_expr);
2303
2252
  try {
2304
- this.state = 435;
2253
+ this.state = 427;
2305
2254
  this.errorHandler.sync(this);
2306
2255
  switch (this.tokenStream.LA(1)) {
2307
2256
  case CircuitScriptParser.T__3:
@@ -2327,14 +2276,14 @@ export class CircuitScriptParser extends antlr.Parser {
2327
2276
  case CircuitScriptParser.ID:
2328
2277
  this.enterOuterAlt(localContext, 1);
2329
2278
  {
2330
- this.state = 433;
2279
+ this.state = 425;
2331
2280
  this.expression();
2332
2281
  }
2333
2282
  break;
2334
2283
  case CircuitScriptParser.Return:
2335
2284
  this.enterOuterAlt(localContext, 2);
2336
2285
  {
2337
- this.state = 434;
2286
+ this.state = 426;
2338
2287
  this.function_return_expr();
2339
2288
  }
2340
2289
  break;
@@ -2358,53 +2307,53 @@ export class CircuitScriptParser extends antlr.Parser {
2358
2307
  }
2359
2308
  function_args_expr() {
2360
2309
  let localContext = new Function_args_exprContext(this.context, this.state);
2361
- this.enterRule(localContext, 78, CircuitScriptParser.RULE_function_args_expr);
2310
+ this.enterRule(localContext, 74, CircuitScriptParser.RULE_function_args_expr);
2362
2311
  let _la;
2363
2312
  try {
2364
2313
  let alternative;
2365
- this.state = 466;
2314
+ this.state = 458;
2366
2315
  this.errorHandler.sync(this);
2367
2316
  switch (this.interpreter.adaptivePredict(this.tokenStream, 44, this.context)) {
2368
2317
  case 1:
2369
2318
  this.enterOuterAlt(localContext, 1);
2370
2319
  {
2371
- this.state = 437;
2320
+ this.state = 429;
2372
2321
  this.match(CircuitScriptParser.ID);
2373
- this.state = 442;
2322
+ this.state = 434;
2374
2323
  this.errorHandler.sync(this);
2375
2324
  alternative = this.interpreter.adaptivePredict(this.tokenStream, 41, this.context);
2376
2325
  while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
2377
2326
  if (alternative === 1) {
2378
2327
  {
2379
2328
  {
2380
- this.state = 438;
2329
+ this.state = 430;
2381
2330
  this.match(CircuitScriptParser.T__1);
2382
- this.state = 439;
2331
+ this.state = 431;
2383
2332
  this.match(CircuitScriptParser.ID);
2384
2333
  }
2385
2334
  }
2386
2335
  }
2387
- this.state = 444;
2336
+ this.state = 436;
2388
2337
  this.errorHandler.sync(this);
2389
2338
  alternative = this.interpreter.adaptivePredict(this.tokenStream, 41, this.context);
2390
2339
  }
2391
- this.state = 451;
2340
+ this.state = 443;
2392
2341
  this.errorHandler.sync(this);
2393
2342
  _la = this.tokenStream.LA(1);
2394
2343
  while (_la === 2) {
2395
2344
  {
2396
2345
  {
2397
- this.state = 445;
2346
+ this.state = 437;
2398
2347
  this.match(CircuitScriptParser.T__1);
2399
- this.state = 446;
2348
+ this.state = 438;
2400
2349
  this.match(CircuitScriptParser.ID);
2401
- this.state = 447;
2350
+ this.state = 439;
2402
2351
  this.match(CircuitScriptParser.T__2);
2403
- this.state = 448;
2352
+ this.state = 440;
2404
2353
  this.value_expr();
2405
2354
  }
2406
2355
  }
2407
- this.state = 453;
2356
+ this.state = 445;
2408
2357
  this.errorHandler.sync(this);
2409
2358
  _la = this.tokenStream.LA(1);
2410
2359
  }
@@ -2413,29 +2362,29 @@ export class CircuitScriptParser extends antlr.Parser {
2413
2362
  case 2:
2414
2363
  this.enterOuterAlt(localContext, 2);
2415
2364
  {
2416
- this.state = 454;
2365
+ this.state = 446;
2417
2366
  this.match(CircuitScriptParser.ID);
2418
- this.state = 455;
2367
+ this.state = 447;
2419
2368
  this.match(CircuitScriptParser.T__2);
2420
- this.state = 456;
2369
+ this.state = 448;
2421
2370
  this.value_expr();
2422
- this.state = 463;
2371
+ this.state = 455;
2423
2372
  this.errorHandler.sync(this);
2424
2373
  _la = this.tokenStream.LA(1);
2425
2374
  while (_la === 2) {
2426
2375
  {
2427
2376
  {
2428
- this.state = 457;
2377
+ this.state = 449;
2429
2378
  this.match(CircuitScriptParser.T__1);
2430
- this.state = 458;
2379
+ this.state = 450;
2431
2380
  this.match(CircuitScriptParser.ID);
2432
- this.state = 459;
2381
+ this.state = 451;
2433
2382
  this.match(CircuitScriptParser.T__2);
2434
- this.state = 460;
2383
+ this.state = 452;
2435
2384
  this.value_expr();
2436
2385
  }
2437
2386
  }
2438
- this.state = 465;
2387
+ this.state = 457;
2439
2388
  this.errorHandler.sync(this);
2440
2389
  _la = this.tokenStream.LA(1);
2441
2390
  }
@@ -2459,28 +2408,28 @@ export class CircuitScriptParser extends antlr.Parser {
2459
2408
  }
2460
2409
  atom_expr() {
2461
2410
  let localContext = new Atom_exprContext(this.context, this.state);
2462
- this.enterRule(localContext, 80, CircuitScriptParser.RULE_atom_expr);
2411
+ this.enterRule(localContext, 76, CircuitScriptParser.RULE_atom_expr);
2463
2412
  try {
2464
2413
  let alternative;
2465
2414
  this.enterOuterAlt(localContext, 1);
2466
2415
  {
2467
- this.state = 468;
2416
+ this.state = 460;
2468
2417
  this.match(CircuitScriptParser.ID);
2469
- this.state = 473;
2418
+ this.state = 465;
2470
2419
  this.errorHandler.sync(this);
2471
2420
  alternative = this.interpreter.adaptivePredict(this.tokenStream, 45, this.context);
2472
2421
  while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
2473
2422
  if (alternative === 1) {
2474
2423
  {
2475
2424
  {
2476
- this.state = 469;
2425
+ this.state = 461;
2477
2426
  this.match(CircuitScriptParser.T__4);
2478
- this.state = 470;
2427
+ this.state = 462;
2479
2428
  this.match(CircuitScriptParser.ID);
2480
2429
  }
2481
2430
  }
2482
2431
  }
2483
- this.state = 475;
2432
+ this.state = 467;
2484
2433
  this.errorHandler.sync(this);
2485
2434
  alternative = this.interpreter.adaptivePredict(this.tokenStream, 45, this.context);
2486
2435
  }
@@ -2502,36 +2451,36 @@ export class CircuitScriptParser extends antlr.Parser {
2502
2451
  }
2503
2452
  trailer_expr() {
2504
2453
  let localContext = new Trailer_exprContext(this.context, this.state);
2505
- this.enterRule(localContext, 82, CircuitScriptParser.RULE_trailer_expr);
2454
+ this.enterRule(localContext, 78, CircuitScriptParser.RULE_trailer_expr);
2506
2455
  let _la;
2507
2456
  try {
2508
- this.state = 483;
2457
+ this.state = 475;
2509
2458
  this.errorHandler.sync(this);
2510
2459
  switch (this.tokenStream.LA(1)) {
2511
2460
  case CircuitScriptParser.OPEN_PAREN:
2512
2461
  this.enterOuterAlt(localContext, 1);
2513
2462
  {
2514
- this.state = 476;
2463
+ this.state = 468;
2515
2464
  this.match(CircuitScriptParser.OPEN_PAREN);
2516
- this.state = 478;
2465
+ this.state = 470;
2517
2466
  this.errorHandler.sync(this);
2518
2467
  _la = this.tokenStream.LA(1);
2519
2468
  if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 2147484736) !== 0) || ((((_la - 42)) & ~0x1F) === 0 && ((1 << (_la - 42)) & 1041415) !== 0)) {
2520
2469
  {
2521
- this.state = 477;
2470
+ this.state = 469;
2522
2471
  this.parameters();
2523
2472
  }
2524
2473
  }
2525
- this.state = 480;
2474
+ this.state = 472;
2526
2475
  this.match(CircuitScriptParser.CLOSE_PAREN);
2527
2476
  }
2528
2477
  break;
2529
2478
  case CircuitScriptParser.T__4:
2530
2479
  this.enterOuterAlt(localContext, 2);
2531
2480
  {
2532
- this.state = 481;
2481
+ this.state = 473;
2533
2482
  this.match(CircuitScriptParser.T__4);
2534
- this.state = 482;
2483
+ this.state = 474;
2535
2484
  this.match(CircuitScriptParser.ID);
2536
2485
  }
2537
2486
  break;
@@ -2555,24 +2504,24 @@ export class CircuitScriptParser extends antlr.Parser {
2555
2504
  }
2556
2505
  function_call_expr() {
2557
2506
  let localContext = new Function_call_exprContext(this.context, this.state);
2558
- this.enterRule(localContext, 84, CircuitScriptParser.RULE_function_call_expr);
2507
+ this.enterRule(localContext, 80, CircuitScriptParser.RULE_function_call_expr);
2559
2508
  let _la;
2560
2509
  try {
2561
2510
  let alternative;
2562
2511
  this.enterOuterAlt(localContext, 1);
2563
2512
  {
2564
- this.state = 486;
2513
+ this.state = 478;
2565
2514
  this.errorHandler.sync(this);
2566
2515
  _la = this.tokenStream.LA(1);
2567
2516
  if (_la === 42 || _la === 44) {
2568
2517
  {
2569
- this.state = 485;
2518
+ this.state = 477;
2570
2519
  this.net_namespace_expr();
2571
2520
  }
2572
2521
  }
2573
- this.state = 488;
2522
+ this.state = 480;
2574
2523
  this.match(CircuitScriptParser.ID);
2575
- this.state = 490;
2524
+ this.state = 482;
2576
2525
  this.errorHandler.sync(this);
2577
2526
  alternative = 1;
2578
2527
  do {
@@ -2580,7 +2529,7 @@ export class CircuitScriptParser extends antlr.Parser {
2580
2529
  case 1:
2581
2530
  {
2582
2531
  {
2583
- this.state = 489;
2532
+ this.state = 481;
2584
2533
  this.trailer_expr();
2585
2534
  }
2586
2535
  }
@@ -2588,7 +2537,7 @@ export class CircuitScriptParser extends antlr.Parser {
2588
2537
  default:
2589
2538
  throw new antlr.NoViableAltException(this);
2590
2539
  }
2591
- this.state = 492;
2540
+ this.state = 484;
2592
2541
  this.errorHandler.sync(this);
2593
2542
  alternative = this.interpreter.adaptivePredict(this.tokenStream, 49, this.context);
2594
2543
  } while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER);
@@ -2610,28 +2559,28 @@ export class CircuitScriptParser extends antlr.Parser {
2610
2559
  }
2611
2560
  net_namespace_expr() {
2612
2561
  let localContext = new Net_namespace_exprContext(this.context, this.state);
2613
- this.enterRule(localContext, 86, CircuitScriptParser.RULE_net_namespace_expr);
2562
+ this.enterRule(localContext, 82, CircuitScriptParser.RULE_net_namespace_expr);
2614
2563
  let _la;
2615
2564
  try {
2616
2565
  this.enterOuterAlt(localContext, 1);
2617
2566
  {
2618
- this.state = 495;
2567
+ this.state = 487;
2619
2568
  this.errorHandler.sync(this);
2620
2569
  _la = this.tokenStream.LA(1);
2621
2570
  if (_la === 42) {
2622
2571
  {
2623
- this.state = 494;
2572
+ this.state = 486;
2624
2573
  this.match(CircuitScriptParser.Addition);
2625
2574
  }
2626
2575
  }
2627
- this.state = 497;
2576
+ this.state = 489;
2628
2577
  this.match(CircuitScriptParser.Divide);
2629
- this.state = 499;
2578
+ this.state = 491;
2630
2579
  this.errorHandler.sync(this);
2631
2580
  switch (this.interpreter.adaptivePredict(this.tokenStream, 51, this.context)) {
2632
2581
  case 1:
2633
2582
  {
2634
- this.state = 498;
2583
+ this.state = 490;
2635
2584
  this.data_expr(0);
2636
2585
  }
2637
2586
  break;
@@ -2654,13 +2603,13 @@ export class CircuitScriptParser extends antlr.Parser {
2654
2603
  }
2655
2604
  function_return_expr() {
2656
2605
  let localContext = new Function_return_exprContext(this.context, this.state);
2657
- this.enterRule(localContext, 88, CircuitScriptParser.RULE_function_return_expr);
2606
+ this.enterRule(localContext, 84, CircuitScriptParser.RULE_function_return_expr);
2658
2607
  try {
2659
2608
  this.enterOuterAlt(localContext, 1);
2660
2609
  {
2661
- this.state = 501;
2610
+ this.state = 493;
2662
2611
  this.match(CircuitScriptParser.Return);
2663
- this.state = 502;
2612
+ this.state = 494;
2664
2613
  this.data_expr(0);
2665
2614
  }
2666
2615
  }
@@ -2680,15 +2629,15 @@ export class CircuitScriptParser extends antlr.Parser {
2680
2629
  }
2681
2630
  property_block_expr() {
2682
2631
  let localContext = new Property_block_exprContext(this.context, this.state);
2683
- this.enterRule(localContext, 90, CircuitScriptParser.RULE_property_block_expr);
2632
+ this.enterRule(localContext, 86, CircuitScriptParser.RULE_property_block_expr);
2684
2633
  try {
2685
2634
  this.enterOuterAlt(localContext, 1);
2686
2635
  {
2687
- this.state = 504;
2636
+ this.state = 496;
2688
2637
  this.property_key_expr();
2689
- this.state = 505;
2638
+ this.state = 497;
2690
2639
  this.match(CircuitScriptParser.T__0);
2691
- this.state = 506;
2640
+ this.state = 498;
2692
2641
  this.expressions_block();
2693
2642
  }
2694
2643
  }
@@ -2708,32 +2657,32 @@ export class CircuitScriptParser extends antlr.Parser {
2708
2657
  }
2709
2658
  create_component_expr() {
2710
2659
  let localContext = new Create_component_exprContext(this.context, this.state);
2711
- this.enterRule(localContext, 92, CircuitScriptParser.RULE_create_component_expr);
2660
+ this.enterRule(localContext, 88, CircuitScriptParser.RULE_create_component_expr);
2712
2661
  let _la;
2713
2662
  try {
2714
2663
  this.enterOuterAlt(localContext, 1);
2715
2664
  {
2716
- this.state = 508;
2665
+ this.state = 500;
2717
2666
  this.match(CircuitScriptParser.Create);
2718
- this.state = 509;
2667
+ this.state = 501;
2719
2668
  this.match(CircuitScriptParser.Component);
2720
- this.state = 510;
2669
+ this.state = 502;
2721
2670
  this.match(CircuitScriptParser.T__0);
2722
- this.state = 511;
2671
+ this.state = 503;
2723
2672
  this.match(CircuitScriptParser.NEWLINE);
2724
- this.state = 512;
2673
+ this.state = 504;
2725
2674
  this.match(CircuitScriptParser.INDENT);
2726
- this.state = 515;
2675
+ this.state = 507;
2727
2676
  this.errorHandler.sync(this);
2728
2677
  _la = this.tokenStream.LA(1);
2729
2678
  do {
2730
2679
  {
2731
- this.state = 515;
2680
+ this.state = 507;
2732
2681
  this.errorHandler.sync(this);
2733
2682
  switch (this.tokenStream.LA(1)) {
2734
2683
  case CircuitScriptParser.NEWLINE:
2735
2684
  {
2736
- this.state = 513;
2685
+ this.state = 505;
2737
2686
  this.match(CircuitScriptParser.NEWLINE);
2738
2687
  }
2739
2688
  break;
@@ -2741,7 +2690,7 @@ export class CircuitScriptParser extends antlr.Parser {
2741
2690
  case CircuitScriptParser.INTEGER_VALUE:
2742
2691
  case CircuitScriptParser.STRING_VALUE:
2743
2692
  {
2744
- this.state = 514;
2693
+ this.state = 506;
2745
2694
  this.property_expr();
2746
2695
  }
2747
2696
  break;
@@ -2749,11 +2698,11 @@ export class CircuitScriptParser extends antlr.Parser {
2749
2698
  throw new antlr.NoViableAltException(this);
2750
2699
  }
2751
2700
  }
2752
- this.state = 517;
2701
+ this.state = 509;
2753
2702
  this.errorHandler.sync(this);
2754
2703
  _la = this.tokenStream.LA(1);
2755
2704
  } while (((((_la - 56)) & ~0x1F) === 0 && ((1 << (_la - 56)) & 275) !== 0));
2756
- this.state = 519;
2705
+ this.state = 511;
2757
2706
  this.match(CircuitScriptParser.DEDENT);
2758
2707
  }
2759
2708
  }
@@ -2773,26 +2722,26 @@ export class CircuitScriptParser extends antlr.Parser {
2773
2722
  }
2774
2723
  graphic_expressions_block() {
2775
2724
  let localContext = new Graphic_expressions_blockContext(this.context, this.state);
2776
- this.enterRule(localContext, 94, CircuitScriptParser.RULE_graphic_expressions_block);
2725
+ this.enterRule(localContext, 90, CircuitScriptParser.RULE_graphic_expressions_block);
2777
2726
  let _la;
2778
2727
  try {
2779
2728
  this.enterOuterAlt(localContext, 1);
2780
2729
  {
2781
- this.state = 521;
2730
+ this.state = 513;
2782
2731
  this.match(CircuitScriptParser.NEWLINE);
2783
- this.state = 522;
2732
+ this.state = 514;
2784
2733
  this.match(CircuitScriptParser.INDENT);
2785
- this.state = 525;
2734
+ this.state = 517;
2786
2735
  this.errorHandler.sync(this);
2787
2736
  _la = this.tokenStream.LA(1);
2788
2737
  do {
2789
2738
  {
2790
- this.state = 525;
2739
+ this.state = 517;
2791
2740
  this.errorHandler.sync(this);
2792
2741
  switch (this.tokenStream.LA(1)) {
2793
2742
  case CircuitScriptParser.NEWLINE:
2794
2743
  {
2795
- this.state = 523;
2744
+ this.state = 515;
2796
2745
  this.match(CircuitScriptParser.NEWLINE);
2797
2746
  }
2798
2747
  break;
@@ -2800,7 +2749,7 @@ export class CircuitScriptParser extends antlr.Parser {
2800
2749
  case CircuitScriptParser.For:
2801
2750
  case CircuitScriptParser.ID:
2802
2751
  {
2803
- this.state = 524;
2752
+ this.state = 516;
2804
2753
  this.graphic_expr();
2805
2754
  }
2806
2755
  break;
@@ -2808,11 +2757,11 @@ export class CircuitScriptParser extends antlr.Parser {
2808
2757
  throw new antlr.NoViableAltException(this);
2809
2758
  }
2810
2759
  }
2811
- this.state = 527;
2760
+ this.state = 519;
2812
2761
  this.errorHandler.sync(this);
2813
2762
  _la = this.tokenStream.LA(1);
2814
2763
  } while (_la === 15 || _la === 25 || _la === 56 || _la === 64);
2815
- this.state = 529;
2764
+ this.state = 521;
2816
2765
  this.match(CircuitScriptParser.DEDENT);
2817
2766
  }
2818
2767
  }
@@ -2832,31 +2781,31 @@ export class CircuitScriptParser extends antlr.Parser {
2832
2781
  }
2833
2782
  create_graphic_expr() {
2834
2783
  let localContext = new Create_graphic_exprContext(this.context, this.state);
2835
- this.enterRule(localContext, 96, CircuitScriptParser.RULE_create_graphic_expr);
2784
+ this.enterRule(localContext, 92, CircuitScriptParser.RULE_create_graphic_expr);
2836
2785
  let _la;
2837
2786
  try {
2838
2787
  this.enterOuterAlt(localContext, 1);
2839
2788
  {
2840
- this.state = 531;
2789
+ this.state = 523;
2841
2790
  this.match(CircuitScriptParser.Create);
2842
- this.state = 532;
2791
+ this.state = 524;
2843
2792
  this.match(CircuitScriptParser.Graphic);
2844
- this.state = 536;
2793
+ this.state = 528;
2845
2794
  this.errorHandler.sync(this);
2846
2795
  _la = this.tokenStream.LA(1);
2847
2796
  if (_la === 52) {
2848
2797
  {
2849
- this.state = 533;
2798
+ this.state = 525;
2850
2799
  this.match(CircuitScriptParser.OPEN_PAREN);
2851
- this.state = 534;
2800
+ this.state = 526;
2852
2801
  this.match(CircuitScriptParser.ID);
2853
- this.state = 535;
2802
+ this.state = 527;
2854
2803
  this.match(CircuitScriptParser.CLOSE_PAREN);
2855
2804
  }
2856
2805
  }
2857
- this.state = 538;
2806
+ this.state = 530;
2858
2807
  this.match(CircuitScriptParser.T__0);
2859
- this.state = 539;
2808
+ this.state = 531;
2860
2809
  this.graphic_expressions_block();
2861
2810
  }
2862
2811
  }
@@ -2876,54 +2825,54 @@ export class CircuitScriptParser extends antlr.Parser {
2876
2825
  }
2877
2826
  create_module_expr() {
2878
2827
  let localContext = new Create_module_exprContext(this.context, this.state);
2879
- this.enterRule(localContext, 98, CircuitScriptParser.RULE_create_module_expr);
2828
+ this.enterRule(localContext, 94, CircuitScriptParser.RULE_create_module_expr);
2880
2829
  let _la;
2881
2830
  try {
2882
2831
  this.enterOuterAlt(localContext, 1);
2883
2832
  {
2884
- this.state = 541;
2833
+ this.state = 533;
2885
2834
  this.match(CircuitScriptParser.Create);
2886
- this.state = 542;
2835
+ this.state = 534;
2887
2836
  this.match(CircuitScriptParser.Module);
2888
- this.state = 543;
2837
+ this.state = 535;
2889
2838
  this.match(CircuitScriptParser.T__0);
2890
- this.state = 544;
2839
+ this.state = 536;
2891
2840
  this.match(CircuitScriptParser.NEWLINE);
2892
- this.state = 545;
2841
+ this.state = 537;
2893
2842
  this.match(CircuitScriptParser.INDENT);
2894
- this.state = 549;
2843
+ this.state = 541;
2895
2844
  this.errorHandler.sync(this);
2896
2845
  _la = this.tokenStream.LA(1);
2897
2846
  do {
2898
2847
  {
2899
- this.state = 549;
2848
+ this.state = 541;
2900
2849
  this.errorHandler.sync(this);
2901
2850
  switch (this.interpreter.adaptivePredict(this.tokenStream, 57, this.context)) {
2902
2851
  case 1:
2903
2852
  {
2904
- this.state = 546;
2853
+ this.state = 538;
2905
2854
  this.match(CircuitScriptParser.NEWLINE);
2906
2855
  }
2907
2856
  break;
2908
2857
  case 2:
2909
2858
  {
2910
- this.state = 547;
2859
+ this.state = 539;
2911
2860
  this.property_expr();
2912
2861
  }
2913
2862
  break;
2914
2863
  case 3:
2915
2864
  {
2916
- this.state = 548;
2865
+ this.state = 540;
2917
2866
  this.property_block_expr();
2918
2867
  }
2919
2868
  break;
2920
2869
  }
2921
2870
  }
2922
- this.state = 551;
2871
+ this.state = 543;
2923
2872
  this.errorHandler.sync(this);
2924
2873
  _la = this.tokenStream.LA(1);
2925
2874
  } while (((((_la - 56)) & ~0x1F) === 0 && ((1 << (_la - 56)) & 275) !== 0));
2926
- this.state = 553;
2875
+ this.state = 545;
2927
2876
  this.match(CircuitScriptParser.DEDENT);
2928
2877
  }
2929
2878
  }
@@ -2943,27 +2892,27 @@ export class CircuitScriptParser extends antlr.Parser {
2943
2892
  }
2944
2893
  nested_properties_inner() {
2945
2894
  let localContext = new Nested_properties_innerContext(this.context, this.state);
2946
- this.enterRule(localContext, 100, CircuitScriptParser.RULE_nested_properties_inner);
2895
+ this.enterRule(localContext, 96, CircuitScriptParser.RULE_nested_properties_inner);
2947
2896
  let _la;
2948
2897
  try {
2949
2898
  this.enterOuterAlt(localContext, 1);
2950
2899
  {
2951
2900
  {
2952
- this.state = 555;
2901
+ this.state = 547;
2953
2902
  this.match(CircuitScriptParser.NEWLINE);
2954
- this.state = 556;
2903
+ this.state = 548;
2955
2904
  this.match(CircuitScriptParser.INDENT);
2956
- this.state = 559;
2905
+ this.state = 551;
2957
2906
  this.errorHandler.sync(this);
2958
2907
  _la = this.tokenStream.LA(1);
2959
2908
  do {
2960
2909
  {
2961
- this.state = 559;
2910
+ this.state = 551;
2962
2911
  this.errorHandler.sync(this);
2963
2912
  switch (this.tokenStream.LA(1)) {
2964
2913
  case CircuitScriptParser.NEWLINE:
2965
2914
  {
2966
- this.state = 557;
2915
+ this.state = 549;
2967
2916
  this.match(CircuitScriptParser.NEWLINE);
2968
2917
  }
2969
2918
  break;
@@ -2971,7 +2920,7 @@ export class CircuitScriptParser extends antlr.Parser {
2971
2920
  case CircuitScriptParser.INTEGER_VALUE:
2972
2921
  case CircuitScriptParser.STRING_VALUE:
2973
2922
  {
2974
- this.state = 558;
2923
+ this.state = 550;
2975
2924
  this.property_expr();
2976
2925
  }
2977
2926
  break;
@@ -2979,11 +2928,11 @@ export class CircuitScriptParser extends antlr.Parser {
2979
2928
  throw new antlr.NoViableAltException(this);
2980
2929
  }
2981
2930
  }
2982
- this.state = 561;
2931
+ this.state = 553;
2983
2932
  this.errorHandler.sync(this);
2984
2933
  _la = this.tokenStream.LA(1);
2985
2934
  } while (((((_la - 56)) & ~0x1F) === 0 && ((1 << (_la - 56)) & 275) !== 0));
2986
- this.state = 563;
2935
+ this.state = 555;
2987
2936
  this.match(CircuitScriptParser.DEDENT);
2988
2937
  }
2989
2938
  }
@@ -3004,10 +2953,10 @@ export class CircuitScriptParser extends antlr.Parser {
3004
2953
  }
3005
2954
  graphic_expr() {
3006
2955
  let localContext = new Graphic_exprContext(this.context, this.state);
3007
- this.enterRule(localContext, 102, CircuitScriptParser.RULE_graphic_expr);
2956
+ this.enterRule(localContext, 98, CircuitScriptParser.RULE_graphic_expr);
3008
2957
  let _la;
3009
2958
  try {
3010
- this.state = 591;
2959
+ this.state = 583;
3011
2960
  this.errorHandler.sync(this);
3012
2961
  switch (this.tokenStream.LA(1)) {
3013
2962
  case CircuitScriptParser.Pin:
@@ -3015,7 +2964,7 @@ export class CircuitScriptParser extends antlr.Parser {
3015
2964
  localContext = new GraphicCommandExprContext(localContext);
3016
2965
  this.enterOuterAlt(localContext, 1);
3017
2966
  {
3018
- this.state = 565;
2967
+ this.state = 557;
3019
2968
  localContext._command = this.tokenStream.LT(1);
3020
2969
  _la = this.tokenStream.LA(1);
3021
2970
  if (!(_la === 15 || _la === 56)) {
@@ -3025,37 +2974,37 @@ export class CircuitScriptParser extends antlr.Parser {
3025
2974
  this.errorHandler.reportMatch(this);
3026
2975
  this.consume();
3027
2976
  }
3028
- this.state = 567;
2977
+ this.state = 559;
3029
2978
  this.errorHandler.sync(this);
3030
2979
  _la = this.tokenStream.LA(1);
3031
2980
  if (_la === 1) {
3032
2981
  {
3033
- this.state = 566;
2982
+ this.state = 558;
3034
2983
  this.match(CircuitScriptParser.T__0);
3035
2984
  }
3036
2985
  }
3037
- this.state = 575;
2986
+ this.state = 567;
3038
2987
  this.errorHandler.sync(this);
3039
2988
  switch (this.interpreter.adaptivePredict(this.tokenStream, 62, this.context)) {
3040
2989
  case 1:
3041
2990
  {
3042
- this.state = 569;
2991
+ this.state = 561;
3043
2992
  this.parameters();
3044
2993
  }
3045
2994
  break;
3046
2995
  case 2:
3047
2996
  {
3048
- this.state = 570;
2997
+ this.state = 562;
3049
2998
  this.match(CircuitScriptParser.OPEN_PAREN);
3050
- this.state = 571;
2999
+ this.state = 563;
3051
3000
  this.parameters();
3052
- this.state = 572;
3001
+ this.state = 564;
3053
3002
  this.match(CircuitScriptParser.CLOSE_PAREN);
3054
3003
  }
3055
3004
  break;
3056
3005
  case 3:
3057
3006
  {
3058
- this.state = 574;
3007
+ this.state = 566;
3059
3008
  this.nested_properties_inner();
3060
3009
  }
3061
3010
  break;
@@ -3066,33 +3015,33 @@ export class CircuitScriptParser extends antlr.Parser {
3066
3015
  localContext = new GraphicForExprContext(localContext);
3067
3016
  this.enterOuterAlt(localContext, 2);
3068
3017
  {
3069
- this.state = 577;
3018
+ this.state = 569;
3070
3019
  this.match(CircuitScriptParser.For);
3071
- this.state = 578;
3020
+ this.state = 570;
3072
3021
  this.match(CircuitScriptParser.ID);
3073
- this.state = 583;
3022
+ this.state = 575;
3074
3023
  this.errorHandler.sync(this);
3075
3024
  _la = this.tokenStream.LA(1);
3076
3025
  while (_la === 2) {
3077
3026
  {
3078
3027
  {
3079
- this.state = 579;
3028
+ this.state = 571;
3080
3029
  this.match(CircuitScriptParser.T__1);
3081
- this.state = 580;
3030
+ this.state = 572;
3082
3031
  this.match(CircuitScriptParser.ID);
3083
3032
  }
3084
3033
  }
3085
- this.state = 585;
3034
+ this.state = 577;
3086
3035
  this.errorHandler.sync(this);
3087
3036
  _la = this.tokenStream.LA(1);
3088
3037
  }
3089
- this.state = 586;
3038
+ this.state = 578;
3090
3039
  this.match(CircuitScriptParser.In);
3091
- this.state = 587;
3040
+ this.state = 579;
3092
3041
  this.data_expr(0);
3093
- this.state = 588;
3042
+ this.state = 580;
3094
3043
  this.match(CircuitScriptParser.T__0);
3095
- this.state = 589;
3044
+ this.state = 581;
3096
3045
  this.graphic_expressions_block();
3097
3046
  }
3098
3047
  break;
@@ -3116,15 +3065,15 @@ export class CircuitScriptParser extends antlr.Parser {
3116
3065
  }
3117
3066
  property_expr() {
3118
3067
  let localContext = new Property_exprContext(this.context, this.state);
3119
- this.enterRule(localContext, 104, CircuitScriptParser.RULE_property_expr);
3068
+ this.enterRule(localContext, 100, CircuitScriptParser.RULE_property_expr);
3120
3069
  try {
3121
3070
  this.enterOuterAlt(localContext, 1);
3122
3071
  {
3123
- this.state = 593;
3072
+ this.state = 585;
3124
3073
  this.property_key_expr();
3125
- this.state = 594;
3074
+ this.state = 586;
3126
3075
  this.match(CircuitScriptParser.T__0);
3127
- this.state = 595;
3076
+ this.state = 587;
3128
3077
  this.property_value_expr();
3129
3078
  }
3130
3079
  }
@@ -3144,12 +3093,12 @@ export class CircuitScriptParser extends antlr.Parser {
3144
3093
  }
3145
3094
  property_key_expr() {
3146
3095
  let localContext = new Property_key_exprContext(this.context, this.state);
3147
- this.enterRule(localContext, 106, CircuitScriptParser.RULE_property_key_expr);
3096
+ this.enterRule(localContext, 102, CircuitScriptParser.RULE_property_key_expr);
3148
3097
  let _la;
3149
3098
  try {
3150
3099
  this.enterOuterAlt(localContext, 1);
3151
3100
  {
3152
- this.state = 597;
3101
+ this.state = 589;
3153
3102
  _la = this.tokenStream.LA(1);
3154
3103
  if (!(((((_la - 56)) & ~0x1F) === 0 && ((1 << (_la - 56)) & 19) !== 0))) {
3155
3104
  this.errorHandler.recoverInline(this);
@@ -3176,17 +3125,17 @@ export class CircuitScriptParser extends antlr.Parser {
3176
3125
  }
3177
3126
  property_value_expr() {
3178
3127
  let localContext = new Property_value_exprContext(this.context, this.state);
3179
- this.enterRule(localContext, 108, CircuitScriptParser.RULE_property_value_expr);
3128
+ this.enterRule(localContext, 104, CircuitScriptParser.RULE_property_value_expr);
3180
3129
  let _la;
3181
3130
  try {
3182
- this.state = 608;
3131
+ this.state = 600;
3183
3132
  this.errorHandler.sync(this);
3184
3133
  switch (this.tokenStream.LA(1)) {
3185
3134
  case CircuitScriptParser.NEWLINE:
3186
3135
  localContext = new Nested_propertiesContext(localContext);
3187
3136
  this.enterOuterAlt(localContext, 1);
3188
3137
  {
3189
- this.state = 599;
3138
+ this.state = 591;
3190
3139
  this.nested_properties_inner();
3191
3140
  }
3192
3141
  break;
@@ -3207,21 +3156,21 @@ export class CircuitScriptParser extends antlr.Parser {
3207
3156
  localContext = new Single_line_propertyContext(localContext);
3208
3157
  this.enterOuterAlt(localContext, 2);
3209
3158
  {
3210
- this.state = 600;
3159
+ this.state = 592;
3211
3160
  this.data_expr(0);
3212
- this.state = 605;
3161
+ this.state = 597;
3213
3162
  this.errorHandler.sync(this);
3214
3163
  _la = this.tokenStream.LA(1);
3215
3164
  while (_la === 2) {
3216
3165
  {
3217
3166
  {
3218
- this.state = 601;
3167
+ this.state = 593;
3219
3168
  this.match(CircuitScriptParser.T__1);
3220
- this.state = 602;
3169
+ this.state = 594;
3221
3170
  this.data_expr(0);
3222
3171
  }
3223
3172
  }
3224
- this.state = 607;
3173
+ this.state = 599;
3225
3174
  this.errorHandler.sync(this);
3226
3175
  _la = this.tokenStream.LA(1);
3227
3176
  }
@@ -3247,29 +3196,29 @@ export class CircuitScriptParser extends antlr.Parser {
3247
3196
  }
3248
3197
  wire_atom_expr() {
3249
3198
  let localContext = new Wire_atom_exprContext(this.context, this.state);
3250
- this.enterRule(localContext, 110, CircuitScriptParser.RULE_wire_atom_expr);
3199
+ this.enterRule(localContext, 106, CircuitScriptParser.RULE_wire_atom_expr);
3251
3200
  try {
3252
- this.state = 616;
3201
+ this.state = 608;
3253
3202
  this.errorHandler.sync(this);
3254
3203
  switch (this.interpreter.adaptivePredict(this.tokenStream, 68, this.context)) {
3255
3204
  case 1:
3256
3205
  localContext = new Wire_expr_direction_valueContext(localContext);
3257
3206
  this.enterOuterAlt(localContext, 1);
3258
3207
  {
3259
- this.state = 610;
3208
+ this.state = 602;
3260
3209
  this.match(CircuitScriptParser.ID);
3261
- this.state = 613;
3210
+ this.state = 605;
3262
3211
  this.errorHandler.sync(this);
3263
3212
  switch (this.interpreter.adaptivePredict(this.tokenStream, 67, this.context)) {
3264
3213
  case 1:
3265
3214
  {
3266
- this.state = 611;
3215
+ this.state = 603;
3267
3216
  this.match(CircuitScriptParser.INTEGER_VALUE);
3268
3217
  }
3269
3218
  break;
3270
3219
  case 2:
3271
3220
  {
3272
- this.state = 612;
3221
+ this.state = 604;
3273
3222
  this.data_expr(0);
3274
3223
  }
3275
3224
  break;
@@ -3280,7 +3229,7 @@ export class CircuitScriptParser extends antlr.Parser {
3280
3229
  localContext = new Wire_expr_direction_onlyContext(localContext);
3281
3230
  this.enterOuterAlt(localContext, 2);
3282
3231
  {
3283
- this.state = 615;
3232
+ this.state = 607;
3284
3233
  this.match(CircuitScriptParser.ID);
3285
3234
  }
3286
3235
  break;
@@ -3302,26 +3251,26 @@ export class CircuitScriptParser extends antlr.Parser {
3302
3251
  }
3303
3252
  wire_expr() {
3304
3253
  let localContext = new Wire_exprContext(this.context, this.state);
3305
- this.enterRule(localContext, 112, CircuitScriptParser.RULE_wire_expr);
3254
+ this.enterRule(localContext, 108, CircuitScriptParser.RULE_wire_expr);
3306
3255
  try {
3307
3256
  let alternative;
3308
3257
  this.enterOuterAlt(localContext, 1);
3309
3258
  {
3310
- this.state = 618;
3259
+ this.state = 610;
3311
3260
  this.match(CircuitScriptParser.Wire);
3312
- this.state = 622;
3261
+ this.state = 614;
3313
3262
  this.errorHandler.sync(this);
3314
3263
  alternative = this.interpreter.adaptivePredict(this.tokenStream, 69, this.context);
3315
3264
  while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
3316
3265
  if (alternative === 1) {
3317
3266
  {
3318
3267
  {
3319
- this.state = 619;
3268
+ this.state = 611;
3320
3269
  this.wire_atom_expr();
3321
3270
  }
3322
3271
  }
3323
3272
  }
3324
- this.state = 624;
3273
+ this.state = 616;
3325
3274
  this.errorHandler.sync(this);
3326
3275
  alternative = this.interpreter.adaptivePredict(this.tokenStream, 69, this.context);
3327
3276
  }
@@ -3343,44 +3292,44 @@ export class CircuitScriptParser extends antlr.Parser {
3343
3292
  }
3344
3293
  array_expr() {
3345
3294
  let localContext = new Array_exprContext(this.context, this.state);
3346
- this.enterRule(localContext, 114, CircuitScriptParser.RULE_array_expr);
3295
+ this.enterRule(localContext, 110, CircuitScriptParser.RULE_array_expr);
3347
3296
  let _la;
3348
3297
  try {
3349
3298
  this.enterOuterAlt(localContext, 1);
3350
3299
  {
3351
- this.state = 625;
3300
+ this.state = 617;
3352
3301
  this.match(CircuitScriptParser.T__5);
3353
- this.state = 636;
3302
+ this.state = 628;
3354
3303
  this.errorHandler.sync(this);
3355
3304
  _la = this.tokenStream.LA(1);
3356
3305
  while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 2147484736) !== 0) || ((((_la - 42)) & ~0x1F) === 0 && ((1 << (_la - 42)) & 1041415) !== 0)) {
3357
3306
  {
3358
3307
  {
3359
- this.state = 626;
3308
+ this.state = 618;
3360
3309
  this.data_expr(0);
3361
- this.state = 631;
3310
+ this.state = 623;
3362
3311
  this.errorHandler.sync(this);
3363
3312
  _la = this.tokenStream.LA(1);
3364
3313
  while (_la === 2) {
3365
3314
  {
3366
3315
  {
3367
- this.state = 627;
3316
+ this.state = 619;
3368
3317
  this.match(CircuitScriptParser.T__1);
3369
- this.state = 628;
3318
+ this.state = 620;
3370
3319
  this.data_expr(0);
3371
3320
  }
3372
3321
  }
3373
- this.state = 633;
3322
+ this.state = 625;
3374
3323
  this.errorHandler.sync(this);
3375
3324
  _la = this.tokenStream.LA(1);
3376
3325
  }
3377
3326
  }
3378
3327
  }
3379
- this.state = 638;
3328
+ this.state = 630;
3380
3329
  this.errorHandler.sync(this);
3381
3330
  _la = this.tokenStream.LA(1);
3382
3331
  }
3383
- this.state = 639;
3332
+ this.state = 631;
3384
3333
  this.match(CircuitScriptParser.T__6);
3385
3334
  }
3386
3335
  }
@@ -3400,24 +3349,24 @@ export class CircuitScriptParser extends antlr.Parser {
3400
3349
  }
3401
3350
  point_expr() {
3402
3351
  let localContext = new Point_exprContext(this.context, this.state);
3403
- this.enterRule(localContext, 116, CircuitScriptParser.RULE_point_expr);
3352
+ this.enterRule(localContext, 112, CircuitScriptParser.RULE_point_expr);
3404
3353
  try {
3405
3354
  this.enterOuterAlt(localContext, 1);
3406
3355
  {
3407
- this.state = 641;
3356
+ this.state = 633;
3408
3357
  this.match(CircuitScriptParser.Point);
3409
- this.state = 644;
3358
+ this.state = 636;
3410
3359
  this.errorHandler.sync(this);
3411
3360
  switch (this.interpreter.adaptivePredict(this.tokenStream, 72, this.context)) {
3412
3361
  case 1:
3413
3362
  {
3414
- this.state = 642;
3363
+ this.state = 634;
3415
3364
  this.match(CircuitScriptParser.ID);
3416
3365
  }
3417
3366
  break;
3418
3367
  case 2:
3419
3368
  {
3420
- this.state = 643;
3369
+ this.state = 635;
3421
3370
  this.data_expr(0);
3422
3371
  }
3423
3372
  break;
@@ -3440,13 +3389,13 @@ export class CircuitScriptParser extends antlr.Parser {
3440
3389
  }
3441
3390
  import_expr() {
3442
3391
  let localContext = new Import_exprContext(this.context, this.state);
3443
- this.enterRule(localContext, 118, CircuitScriptParser.RULE_import_expr);
3392
+ this.enterRule(localContext, 114, CircuitScriptParser.RULE_import_expr);
3444
3393
  try {
3445
3394
  this.enterOuterAlt(localContext, 1);
3446
3395
  {
3447
- this.state = 646;
3396
+ this.state = 638;
3448
3397
  this.match(CircuitScriptParser.Import);
3449
- this.state = 647;
3398
+ this.state = 639;
3450
3399
  this.match(CircuitScriptParser.ID);
3451
3400
  }
3452
3401
  }
@@ -3466,12 +3415,12 @@ export class CircuitScriptParser extends antlr.Parser {
3466
3415
  }
3467
3416
  frame_expr() {
3468
3417
  let localContext = new Frame_exprContext(this.context, this.state);
3469
- this.enterRule(localContext, 120, CircuitScriptParser.RULE_frame_expr);
3418
+ this.enterRule(localContext, 116, CircuitScriptParser.RULE_frame_expr);
3470
3419
  let _la;
3471
3420
  try {
3472
3421
  this.enterOuterAlt(localContext, 1);
3473
3422
  {
3474
- this.state = 649;
3423
+ this.state = 641;
3475
3424
  _la = this.tokenStream.LA(1);
3476
3425
  if (!(_la === 32 || _la === 33)) {
3477
3426
  this.errorHandler.recoverInline(this);
@@ -3480,9 +3429,9 @@ export class CircuitScriptParser extends antlr.Parser {
3480
3429
  this.errorHandler.reportMatch(this);
3481
3430
  this.consume();
3482
3431
  }
3483
- this.state = 650;
3432
+ this.state = 642;
3484
3433
  this.match(CircuitScriptParser.T__0);
3485
- this.state = 651;
3434
+ this.state = 643;
3486
3435
  this.expressions_block();
3487
3436
  }
3488
3437
  }
@@ -3502,42 +3451,42 @@ export class CircuitScriptParser extends antlr.Parser {
3502
3451
  }
3503
3452
  if_expr() {
3504
3453
  let localContext = new If_exprContext(this.context, this.state);
3505
- this.enterRule(localContext, 122, CircuitScriptParser.RULE_if_expr);
3454
+ this.enterRule(localContext, 118, CircuitScriptParser.RULE_if_expr);
3506
3455
  let _la;
3507
3456
  try {
3508
3457
  let alternative;
3509
3458
  this.enterOuterAlt(localContext, 1);
3510
3459
  {
3511
- this.state = 653;
3460
+ this.state = 645;
3512
3461
  this.match(CircuitScriptParser.If);
3513
- this.state = 654;
3462
+ this.state = 646;
3514
3463
  this.data_expr(0);
3515
- this.state = 655;
3464
+ this.state = 647;
3516
3465
  this.match(CircuitScriptParser.T__0);
3517
- this.state = 656;
3466
+ this.state = 648;
3518
3467
  this.expressions_block();
3519
- this.state = 660;
3468
+ this.state = 652;
3520
3469
  this.errorHandler.sync(this);
3521
3470
  alternative = this.interpreter.adaptivePredict(this.tokenStream, 73, this.context);
3522
3471
  while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
3523
3472
  if (alternative === 1) {
3524
3473
  {
3525
3474
  {
3526
- this.state = 657;
3475
+ this.state = 649;
3527
3476
  this.if_inner_expr();
3528
3477
  }
3529
3478
  }
3530
3479
  }
3531
- this.state = 662;
3480
+ this.state = 654;
3532
3481
  this.errorHandler.sync(this);
3533
3482
  alternative = this.interpreter.adaptivePredict(this.tokenStream, 73, this.context);
3534
3483
  }
3535
- this.state = 664;
3484
+ this.state = 656;
3536
3485
  this.errorHandler.sync(this);
3537
3486
  _la = this.tokenStream.LA(1);
3538
3487
  if (_la === 30) {
3539
3488
  {
3540
- this.state = 663;
3489
+ this.state = 655;
3541
3490
  this.else_expr();
3542
3491
  }
3543
3492
  }
@@ -3559,19 +3508,19 @@ export class CircuitScriptParser extends antlr.Parser {
3559
3508
  }
3560
3509
  if_inner_expr() {
3561
3510
  let localContext = new If_inner_exprContext(this.context, this.state);
3562
- this.enterRule(localContext, 124, CircuitScriptParser.RULE_if_inner_expr);
3511
+ this.enterRule(localContext, 120, CircuitScriptParser.RULE_if_inner_expr);
3563
3512
  try {
3564
3513
  this.enterOuterAlt(localContext, 1);
3565
3514
  {
3566
- this.state = 666;
3515
+ this.state = 658;
3567
3516
  this.match(CircuitScriptParser.Else);
3568
- this.state = 667;
3517
+ this.state = 659;
3569
3518
  this.match(CircuitScriptParser.If);
3570
- this.state = 668;
3519
+ this.state = 660;
3571
3520
  this.data_expr(0);
3572
- this.state = 669;
3521
+ this.state = 661;
3573
3522
  this.match(CircuitScriptParser.T__0);
3574
- this.state = 670;
3523
+ this.state = 662;
3575
3524
  this.expressions_block();
3576
3525
  }
3577
3526
  }
@@ -3591,15 +3540,15 @@ export class CircuitScriptParser extends antlr.Parser {
3591
3540
  }
3592
3541
  else_expr() {
3593
3542
  let localContext = new Else_exprContext(this.context, this.state);
3594
- this.enterRule(localContext, 126, CircuitScriptParser.RULE_else_expr);
3543
+ this.enterRule(localContext, 122, CircuitScriptParser.RULE_else_expr);
3595
3544
  try {
3596
3545
  this.enterOuterAlt(localContext, 1);
3597
3546
  {
3598
- this.state = 672;
3547
+ this.state = 664;
3599
3548
  this.match(CircuitScriptParser.Else);
3600
- this.state = 673;
3549
+ this.state = 665;
3601
3550
  this.match(CircuitScriptParser.T__0);
3602
- this.state = 674;
3551
+ this.state = 666;
3603
3552
  this.expressions_block();
3604
3553
  }
3605
3554
  }
@@ -3619,17 +3568,17 @@ export class CircuitScriptParser extends antlr.Parser {
3619
3568
  }
3620
3569
  while_expr() {
3621
3570
  let localContext = new While_exprContext(this.context, this.state);
3622
- this.enterRule(localContext, 128, CircuitScriptParser.RULE_while_expr);
3571
+ this.enterRule(localContext, 124, CircuitScriptParser.RULE_while_expr);
3623
3572
  try {
3624
3573
  this.enterOuterAlt(localContext, 1);
3625
3574
  {
3626
- this.state = 676;
3575
+ this.state = 668;
3627
3576
  this.match(CircuitScriptParser.While);
3628
- this.state = 677;
3577
+ this.state = 669;
3629
3578
  this.data_expr(0);
3630
- this.state = 678;
3579
+ this.state = 670;
3631
3580
  this.match(CircuitScriptParser.T__0);
3632
- this.state = 679;
3581
+ this.state = 671;
3633
3582
  this.expressions_block();
3634
3583
  }
3635
3584
  }
@@ -3649,38 +3598,38 @@ export class CircuitScriptParser extends antlr.Parser {
3649
3598
  }
3650
3599
  for_expr() {
3651
3600
  let localContext = new For_exprContext(this.context, this.state);
3652
- this.enterRule(localContext, 130, CircuitScriptParser.RULE_for_expr);
3601
+ this.enterRule(localContext, 126, CircuitScriptParser.RULE_for_expr);
3653
3602
  let _la;
3654
3603
  try {
3655
3604
  this.enterOuterAlt(localContext, 1);
3656
3605
  {
3657
- this.state = 681;
3606
+ this.state = 673;
3658
3607
  this.match(CircuitScriptParser.For);
3659
- this.state = 682;
3608
+ this.state = 674;
3660
3609
  this.match(CircuitScriptParser.ID);
3661
- this.state = 687;
3610
+ this.state = 679;
3662
3611
  this.errorHandler.sync(this);
3663
3612
  _la = this.tokenStream.LA(1);
3664
3613
  while (_la === 2) {
3665
3614
  {
3666
3615
  {
3667
- this.state = 683;
3616
+ this.state = 675;
3668
3617
  this.match(CircuitScriptParser.T__1);
3669
- this.state = 684;
3618
+ this.state = 676;
3670
3619
  this.match(CircuitScriptParser.ID);
3671
3620
  }
3672
3621
  }
3673
- this.state = 689;
3622
+ this.state = 681;
3674
3623
  this.errorHandler.sync(this);
3675
3624
  _la = this.tokenStream.LA(1);
3676
3625
  }
3677
- this.state = 690;
3626
+ this.state = 682;
3678
3627
  this.match(CircuitScriptParser.In);
3679
- this.state = 691;
3628
+ this.state = 683;
3680
3629
  this.data_expr(0);
3681
- this.state = 692;
3630
+ this.state = 684;
3682
3631
  this.match(CircuitScriptParser.T__0);
3683
- this.state = 693;
3632
+ this.state = 685;
3684
3633
  this.expressions_block();
3685
3634
  }
3686
3635
  }
@@ -3700,7 +3649,7 @@ export class CircuitScriptParser extends antlr.Parser {
3700
3649
  }
3701
3650
  sempred(localContext, ruleIndex, predIndex) {
3702
3651
  switch (ruleIndex) {
3703
- case 33:
3652
+ case 31:
3704
3653
  return this.data_expr_sempred(localContext, predIndex);
3705
3654
  }
3706
3655
  return true;
@@ -3719,7 +3668,7 @@ export class CircuitScriptParser extends antlr.Parser {
3719
3668
  return true;
3720
3669
  }
3721
3670
  static _serializedATN = [
3722
- 4, 1, 67, 696, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7,
3671
+ 4, 1, 67, 688, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7,
3723
3672
  6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13,
3724
3673
  2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20,
3725
3674
  7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, 2, 26, 7, 26,
@@ -3728,252 +3677,250 @@ export class CircuitScriptParser extends antlr.Parser {
3728
3677
  2, 40, 7, 40, 2, 41, 7, 41, 2, 42, 7, 42, 2, 43, 7, 43, 2, 44, 7, 44, 2, 45, 7, 45, 2, 46,
3729
3678
  7, 46, 2, 47, 7, 47, 2, 48, 7, 48, 2, 49, 7, 49, 2, 50, 7, 50, 2, 51, 7, 51, 2, 52, 7, 52,
3730
3679
  2, 53, 7, 53, 2, 54, 7, 54, 2, 55, 7, 55, 2, 56, 7, 56, 2, 57, 7, 57, 2, 58, 7, 58, 2, 59,
3731
- 7, 59, 2, 60, 7, 60, 2, 61, 7, 61, 2, 62, 7, 62, 2, 63, 7, 63, 2, 64, 7, 64, 2, 65, 7, 65,
3732
- 1, 0, 1, 0, 5, 0, 135, 8, 0, 10, 0, 12, 0, 138, 9, 0, 1, 0, 1, 0, 4, 0, 142, 8, 0, 11, 0, 12,
3733
- 0, 143, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3,
3734
- 1, 160, 8, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 3, 2, 167, 8, 2, 1, 3, 1, 3, 3, 3, 171, 8, 3, 1,
3735
- 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 3, 4, 179, 8, 4, 1, 5, 1, 5, 1, 5, 1, 5, 4, 5, 185, 8, 5, 11,
3736
- 5, 12, 5, 186, 1, 5, 1, 5, 1, 6, 1, 6, 1, 6, 1, 6, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 4, 7, 201,
3737
- 8, 7, 11, 7, 12, 7, 202, 1, 7, 1, 7, 1, 8, 1, 8, 1, 8, 1, 8, 1, 9, 1, 9, 1, 9, 1, 10, 1, 10,
3738
- 1, 10, 1, 10, 3, 10, 218, 8, 10, 1, 11, 1, 11, 3, 11, 222, 8, 11, 1, 11, 5, 11, 225, 8,
3739
- 11, 10, 11, 12, 11, 228, 9, 11, 1, 11, 3, 11, 231, 8, 11, 1, 12, 1, 12, 1, 12, 1, 13, 1,
3740
- 13, 1, 13, 3, 13, 239, 8, 13, 1, 14, 1, 14, 1, 15, 1, 15, 1, 15, 1, 16, 1, 16, 1, 16, 1,
3741
- 16, 5, 16, 250, 8, 16, 10, 16, 12, 16, 253, 9, 16, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1,
3742
- 17, 5, 17, 261, 8, 17, 10, 17, 12, 17, 264, 9, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 4,
3743
- 17, 271, 8, 17, 11, 17, 12, 17, 272, 1, 17, 1, 17, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 5,
3744
- 18, 282, 8, 18, 10, 18, 12, 18, 285, 9, 18, 1, 19, 1, 19, 1, 20, 1, 20, 1, 20, 1, 20, 1,
3745
- 20, 1, 20, 4, 20, 295, 8, 20, 11, 20, 12, 20, 296, 1, 20, 1, 20, 1, 21, 1, 21, 3, 21, 303,
3746
- 8, 21, 1, 22, 1, 22, 1, 22, 1, 22, 3, 22, 309, 8, 22, 1, 23, 1, 23, 3, 23, 313, 8, 23, 1,
3747
- 24, 1, 24, 1, 25, 1, 25, 1, 26, 1, 26, 1, 27, 1, 27, 3, 27, 323, 8, 27, 1, 27, 1, 27, 1,
3748
- 27, 1, 28, 1, 28, 1, 28, 1, 28, 1, 29, 1, 29, 1, 29, 1, 29, 1, 30, 1, 30, 1, 30, 5, 30, 339,
3749
- 8, 30, 10, 30, 12, 30, 342, 9, 30, 1, 30, 1, 30, 5, 30, 346, 8, 30, 10, 30, 12, 30, 349,
3750
- 9, 30, 1, 30, 1, 30, 1, 30, 5, 30, 354, 8, 30, 10, 30, 12, 30, 357, 9, 30, 3, 30, 359,
3751
- 8, 30, 1, 31, 1, 31, 1, 31, 1, 31, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 33, 1, 33, 1, 33,
3752
- 1, 33, 1, 33, 1, 33, 1, 33, 3, 33, 377, 8, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33,
3753
- 1, 33, 1, 33, 3, 33, 387, 8, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33,
3754
- 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 5, 33, 402, 8, 33, 10, 33, 12, 33, 405, 9, 33, 1, 34,
3755
- 1, 34, 1, 35, 1, 35, 1, 36, 3, 36, 412, 8, 36, 1, 36, 1, 36, 1, 37, 1, 37, 1, 37, 1, 37,
3756
- 3, 37, 420, 8, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 4, 37, 428, 8, 37, 11, 37,
3757
- 12, 37, 429, 1, 37, 1, 37, 1, 38, 1, 38, 3, 38, 436, 8, 38, 1, 39, 1, 39, 1, 39, 5, 39,
3758
- 441, 8, 39, 10, 39, 12, 39, 444, 9, 39, 1, 39, 1, 39, 1, 39, 1, 39, 5, 39, 450, 8, 39,
3759
- 10, 39, 12, 39, 453, 9, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 5, 39, 462,
3760
- 8, 39, 10, 39, 12, 39, 465, 9, 39, 3, 39, 467, 8, 39, 1, 40, 1, 40, 1, 40, 5, 40, 472,
3761
- 8, 40, 10, 40, 12, 40, 475, 9, 40, 1, 41, 1, 41, 3, 41, 479, 8, 41, 1, 41, 1, 41, 1, 41,
3762
- 3, 41, 484, 8, 41, 1, 42, 3, 42, 487, 8, 42, 1, 42, 1, 42, 4, 42, 491, 8, 42, 11, 42, 12,
3763
- 42, 492, 1, 43, 3, 43, 496, 8, 43, 1, 43, 1, 43, 3, 43, 500, 8, 43, 1, 44, 1, 44, 1, 44,
3764
- 1, 45, 1, 45, 1, 45, 1, 45, 1, 46, 1, 46, 1, 46, 1, 46, 1, 46, 1, 46, 1, 46, 4, 46, 516,
3765
- 8, 46, 11, 46, 12, 46, 517, 1, 46, 1, 46, 1, 47, 1, 47, 1, 47, 1, 47, 4, 47, 526, 8, 47,
3766
- 11, 47, 12, 47, 527, 1, 47, 1, 47, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 3, 48, 537, 8, 48,
3767
- 1, 48, 1, 48, 1, 48, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 4, 49, 550,
3768
- 8, 49, 11, 49, 12, 49, 551, 1, 49, 1, 49, 1, 50, 1, 50, 1, 50, 1, 50, 4, 50, 560, 8, 50,
3769
- 11, 50, 12, 50, 561, 1, 50, 1, 50, 1, 51, 1, 51, 3, 51, 568, 8, 51, 1, 51, 1, 51, 1, 51,
3770
- 1, 51, 1, 51, 1, 51, 3, 51, 576, 8, 51, 1, 51, 1, 51, 1, 51, 1, 51, 5, 51, 582, 8, 51, 10,
3771
- 51, 12, 51, 585, 9, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 3, 51, 592, 8, 51, 1, 52, 1,
3772
- 52, 1, 52, 1, 52, 1, 53, 1, 53, 1, 54, 1, 54, 1, 54, 1, 54, 5, 54, 604, 8, 54, 10, 54, 12,
3773
- 54, 607, 9, 54, 3, 54, 609, 8, 54, 1, 55, 1, 55, 1, 55, 3, 55, 614, 8, 55, 1, 55, 3, 55,
3774
- 617, 8, 55, 1, 56, 1, 56, 5, 56, 621, 8, 56, 10, 56, 12, 56, 624, 9, 56, 1, 57, 1, 57,
3775
- 1, 57, 1, 57, 5, 57, 630, 8, 57, 10, 57, 12, 57, 633, 9, 57, 5, 57, 635, 8, 57, 10, 57,
3776
- 12, 57, 638, 9, 57, 1, 57, 1, 57, 1, 58, 1, 58, 1, 58, 3, 58, 645, 8, 58, 1, 59, 1, 59,
3777
- 1, 59, 1, 60, 1, 60, 1, 60, 1, 60, 1, 61, 1, 61, 1, 61, 1, 61, 1, 61, 5, 61, 659, 8, 61,
3778
- 10, 61, 12, 61, 662, 9, 61, 1, 61, 3, 61, 665, 8, 61, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62,
3779
- 1, 62, 1, 63, 1, 63, 1, 63, 1, 63, 1, 64, 1, 64, 1, 64, 1, 64, 1, 64, 1, 65, 1, 65, 1, 65,
3780
- 1, 65, 5, 65, 686, 8, 65, 10, 65, 12, 65, 689, 9, 65, 1, 65, 1, 65, 1, 65, 1, 65, 1, 65,
3781
- 1, 65, 0, 1, 66, 66, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34,
3782
- 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78,
3783
- 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110, 112, 114, 116,
3784
- 118, 120, 122, 124, 126, 128, 130, 0, 14, 2, 0, 9, 9, 19, 21, 1, 0, 56, 57, 2, 0, 57,
3785
- 57, 60, 60, 2, 0, 54, 54, 57, 57, 1, 0, 47, 51, 1, 0, 44, 46, 1, 0, 42, 43, 1, 0, 40, 41,
3786
- 1, 0, 34, 39, 2, 0, 31, 31, 43, 43, 2, 0, 55, 55, 57, 61, 2, 0, 15, 15, 56, 56, 2, 0, 56,
3787
- 57, 60, 60, 1, 0, 32, 33, 733, 0, 136, 1, 0, 0, 0, 2, 159, 1, 0, 0, 0, 4, 166, 1, 0, 0, 0,
3788
- 6, 170, 1, 0, 0, 0, 8, 178, 1, 0, 0, 0, 10, 180, 1, 0, 0, 0, 12, 190, 1, 0, 0, 0, 14, 194,
3789
- 1, 0, 0, 0, 16, 206, 1, 0, 0, 0, 18, 210, 1, 0, 0, 0, 20, 213, 1, 0, 0, 0, 22, 221, 1, 0,
3790
- 0, 0, 24, 232, 1, 0, 0, 0, 26, 238, 1, 0, 0, 0, 28, 240, 1, 0, 0, 0, 30, 242, 1, 0, 0, 0,
3791
- 32, 245, 1, 0, 0, 0, 34, 254, 1, 0, 0, 0, 36, 276, 1, 0, 0, 0, 38, 286, 1, 0, 0, 0, 40, 288,
3792
- 1, 0, 0, 0, 42, 302, 1, 0, 0, 0, 44, 304, 1, 0, 0, 0, 46, 312, 1, 0, 0, 0, 48, 314, 1, 0,
3793
- 0, 0, 50, 316, 1, 0, 0, 0, 52, 318, 1, 0, 0, 0, 54, 322, 1, 0, 0, 0, 56, 327, 1, 0, 0, 0,
3794
- 58, 331, 1, 0, 0, 0, 60, 358, 1, 0, 0, 0, 62, 360, 1, 0, 0, 0, 64, 364, 1, 0, 0, 0, 66, 386,
3795
- 1, 0, 0, 0, 68, 406, 1, 0, 0, 0, 70, 408, 1, 0, 0, 0, 72, 411, 1, 0, 0, 0, 74, 415, 1, 0,
3796
- 0, 0, 76, 435, 1, 0, 0, 0, 78, 466, 1, 0, 0, 0, 80, 468, 1, 0, 0, 0, 82, 483, 1, 0, 0, 0,
3797
- 84, 486, 1, 0, 0, 0, 86, 495, 1, 0, 0, 0, 88, 501, 1, 0, 0, 0, 90, 504, 1, 0, 0, 0, 92, 508,
3798
- 1, 0, 0, 0, 94, 521, 1, 0, 0, 0, 96, 531, 1, 0, 0, 0, 98, 541, 1, 0, 0, 0, 100, 555, 1, 0,
3799
- 0, 0, 102, 591, 1, 0, 0, 0, 104, 593, 1, 0, 0, 0, 106, 597, 1, 0, 0, 0, 108, 608, 1, 0,
3800
- 0, 0, 110, 616, 1, 0, 0, 0, 112, 618, 1, 0, 0, 0, 114, 625, 1, 0, 0, 0, 116, 641, 1, 0,
3801
- 0, 0, 118, 646, 1, 0, 0, 0, 120, 649, 1, 0, 0, 0, 122, 653, 1, 0, 0, 0, 124, 666, 1, 0,
3802
- 0, 0, 126, 672, 1, 0, 0, 0, 128, 676, 1, 0, 0, 0, 130, 681, 1, 0, 0, 0, 132, 135, 3, 118,
3803
- 59, 0, 133, 135, 5, 64, 0, 0, 134, 132, 1, 0, 0, 0, 134, 133, 1, 0, 0, 0, 135, 138, 1,
3804
- 0, 0, 0, 136, 134, 1, 0, 0, 0, 136, 137, 1, 0, 0, 0, 137, 141, 1, 0, 0, 0, 138, 136, 1,
3805
- 0, 0, 0, 139, 142, 3, 2, 1, 0, 140, 142, 5, 64, 0, 0, 141, 139, 1, 0, 0, 0, 141, 140, 1,
3806
- 0, 0, 0, 142, 143, 1, 0, 0, 0, 143, 141, 1, 0, 0, 0, 143, 144, 1, 0, 0, 0, 144, 145, 1,
3807
- 0, 0, 0, 145, 146, 5, 0, 0, 1, 146, 1, 1, 0, 0, 0, 147, 160, 3, 6, 3, 0, 148, 160, 3, 4,
3808
- 2, 0, 149, 160, 3, 54, 27, 0, 150, 160, 3, 56, 28, 0, 151, 160, 3, 62, 31, 0, 152, 160,
3809
- 3, 14, 7, 0, 153, 160, 3, 64, 32, 0, 154, 160, 3, 74, 37, 0, 155, 160, 3, 84, 42, 0, 156,
3810
- 160, 3, 118, 59, 0, 157, 160, 3, 80, 40, 0, 158, 160, 3, 120, 60, 0, 159, 147, 1, 0,
3811
- 0, 0, 159, 148, 1, 0, 0, 0, 159, 149, 1, 0, 0, 0, 159, 150, 1, 0, 0, 0, 159, 151, 1, 0,
3812
- 0, 0, 159, 152, 1, 0, 0, 0, 159, 153, 1, 0, 0, 0, 159, 154, 1, 0, 0, 0, 159, 155, 1, 0,
3813
- 0, 0, 159, 156, 1, 0, 0, 0, 159, 157, 1, 0, 0, 0, 159, 158, 1, 0, 0, 0, 160, 3, 1, 0, 0,
3814
- 0, 161, 167, 3, 122, 61, 0, 162, 167, 3, 128, 64, 0, 163, 167, 3, 130, 65, 0, 164, 167,
3815
- 3, 50, 25, 0, 165, 167, 3, 52, 26, 0, 166, 161, 1, 0, 0, 0, 166, 162, 1, 0, 0, 0, 166,
3816
- 163, 1, 0, 0, 0, 166, 164, 1, 0, 0, 0, 166, 165, 1, 0, 0, 0, 167, 5, 1, 0, 0, 0, 168, 171,
3817
- 3, 8, 4, 0, 169, 171, 3, 12, 6, 0, 170, 168, 1, 0, 0, 0, 170, 169, 1, 0, 0, 0, 171, 7, 1,
3818
- 0, 0, 0, 172, 179, 3, 24, 12, 0, 173, 179, 3, 32, 16, 0, 174, 179, 3, 30, 15, 0, 175,
3819
- 179, 3, 40, 20, 0, 176, 179, 3, 112, 56, 0, 177, 179, 3, 116, 58, 0, 178, 172, 1, 0,
3820
- 0, 0, 178, 173, 1, 0, 0, 0, 178, 174, 1, 0, 0, 0, 178, 175, 1, 0, 0, 0, 178, 176, 1, 0,
3821
- 0, 0, 178, 177, 1, 0, 0, 0, 179, 9, 1, 0, 0, 0, 180, 181, 5, 64, 0, 0, 181, 184, 5, 66,
3822
- 0, 0, 182, 185, 5, 64, 0, 0, 183, 185, 3, 2, 1, 0, 184, 182, 1, 0, 0, 0, 184, 183, 1, 0,
3823
- 0, 0, 185, 186, 1, 0, 0, 0, 186, 184, 1, 0, 0, 0, 186, 187, 1, 0, 0, 0, 187, 188, 1, 0,
3824
- 0, 0, 188, 189, 5, 67, 0, 0, 189, 11, 1, 0, 0, 0, 190, 191, 7, 0, 0, 0, 191, 192, 5, 1,
3825
- 0, 0, 192, 193, 3, 10, 5, 0, 193, 13, 1, 0, 0, 0, 194, 195, 3, 80, 40, 0, 195, 196, 5,
3826
- 1, 0, 0, 196, 197, 5, 64, 0, 0, 197, 200, 5, 66, 0, 0, 198, 201, 5, 64, 0, 0, 199, 201,
3827
- 3, 16, 8, 0, 200, 198, 1, 0, 0, 0, 200, 199, 1, 0, 0, 0, 201, 202, 1, 0, 0, 0, 202, 200,
3828
- 1, 0, 0, 0, 202, 203, 1, 0, 0, 0, 203, 204, 1, 0, 0, 0, 204, 205, 5, 67, 0, 0, 205, 15,
3829
- 1, 0, 0, 0, 206, 207, 7, 1, 0, 0, 207, 208, 5, 1, 0, 0, 208, 209, 3, 72, 36, 0, 209, 17,
3830
- 1, 0, 0, 0, 210, 211, 5, 15, 0, 0, 211, 212, 3, 66, 33, 0, 212, 19, 1, 0, 0, 0, 213, 214,
3831
- 5, 56, 0, 0, 214, 217, 5, 1, 0, 0, 215, 218, 3, 72, 36, 0, 216, 218, 5, 56, 0, 0, 217,
3832
- 215, 1, 0, 0, 0, 217, 216, 1, 0, 0, 0, 218, 21, 1, 0, 0, 0, 219, 222, 3, 66, 33, 0, 220,
3833
- 222, 3, 54, 27, 0, 221, 219, 1, 0, 0, 0, 221, 220, 1, 0, 0, 0, 222, 226, 1, 0, 0, 0, 223,
3834
- 225, 3, 20, 10, 0, 224, 223, 1, 0, 0, 0, 225, 228, 1, 0, 0, 0, 226, 224, 1, 0, 0, 0, 226,
3835
- 227, 1, 0, 0, 0, 227, 230, 1, 0, 0, 0, 228, 226, 1, 0, 0, 0, 229, 231, 3, 18, 9, 0, 230,
3836
- 229, 1, 0, 0, 0, 230, 231, 1, 0, 0, 0, 231, 23, 1, 0, 0, 0, 232, 233, 5, 16, 0, 0, 233,
3837
- 234, 3, 22, 11, 0, 234, 25, 1, 0, 0, 0, 235, 239, 3, 22, 11, 0, 236, 239, 3, 18, 9, 0,
3838
- 237, 239, 5, 19, 0, 0, 238, 235, 1, 0, 0, 0, 238, 236, 1, 0, 0, 0, 238, 237, 1, 0, 0, 0,
3839
- 239, 27, 1, 0, 0, 0, 240, 241, 7, 2, 0, 0, 241, 29, 1, 0, 0, 0, 242, 243, 5, 17, 0, 0, 243,
3840
- 244, 3, 26, 13, 0, 244, 31, 1, 0, 0, 0, 245, 246, 5, 18, 0, 0, 246, 251, 3, 26, 13, 0,
3841
- 247, 248, 5, 2, 0, 0, 248, 250, 3, 26, 13, 0, 249, 247, 1, 0, 0, 0, 250, 253, 1, 0, 0,
3842
- 0, 251, 249, 1, 0, 0, 0, 251, 252, 1, 0, 0, 0, 252, 33, 1, 0, 0, 0, 253, 251, 1, 0, 0, 0,
3843
- 254, 255, 5, 17, 0, 0, 255, 256, 3, 26, 13, 0, 256, 257, 5, 18, 0, 0, 257, 262, 3, 26,
3844
- 13, 0, 258, 259, 5, 2, 0, 0, 259, 261, 3, 26, 13, 0, 260, 258, 1, 0, 0, 0, 261, 264, 1,
3845
- 0, 0, 0, 262, 260, 1, 0, 0, 0, 262, 263, 1, 0, 0, 0, 263, 265, 1, 0, 0, 0, 264, 262, 1,
3846
- 0, 0, 0, 265, 266, 5, 1, 0, 0, 266, 267, 5, 64, 0, 0, 267, 270, 5, 66, 0, 0, 268, 271,
3847
- 5, 64, 0, 0, 269, 271, 3, 36, 18, 0, 270, 268, 1, 0, 0, 0, 270, 269, 1, 0, 0, 0, 271, 272,
3848
- 1, 0, 0, 0, 272, 270, 1, 0, 0, 0, 272, 273, 1, 0, 0, 0, 273, 274, 1, 0, 0, 0, 274, 275,
3849
- 5, 67, 0, 0, 275, 35, 1, 0, 0, 0, 276, 277, 3, 28, 14, 0, 277, 278, 5, 1, 0, 0, 278, 283,
3850
- 3, 38, 19, 0, 279, 280, 5, 2, 0, 0, 280, 282, 3, 38, 19, 0, 281, 279, 1, 0, 0, 0, 282,
3851
- 285, 1, 0, 0, 0, 283, 281, 1, 0, 0, 0, 283, 284, 1, 0, 0, 0, 284, 37, 1, 0, 0, 0, 285, 283,
3852
- 1, 0, 0, 0, 286, 287, 7, 3, 0, 0, 287, 39, 1, 0, 0, 0, 288, 289, 3, 30, 15, 0, 289, 290,
3853
- 5, 1, 0, 0, 290, 291, 5, 64, 0, 0, 291, 294, 5, 66, 0, 0, 292, 295, 5, 64, 0, 0, 293, 295,
3854
- 3, 42, 21, 0, 294, 292, 1, 0, 0, 0, 294, 293, 1, 0, 0, 0, 295, 296, 1, 0, 0, 0, 296, 294,
3855
- 1, 0, 0, 0, 296, 297, 1, 0, 0, 0, 297, 298, 1, 0, 0, 0, 298, 299, 5, 67, 0, 0, 299, 41,
3856
- 1, 0, 0, 0, 300, 303, 3, 2, 1, 0, 301, 303, 3, 44, 22, 0, 302, 300, 1, 0, 0, 0, 302, 301,
3857
- 1, 0, 0, 0, 303, 43, 1, 0, 0, 0, 304, 305, 3, 28, 14, 0, 305, 308, 5, 1, 0, 0, 306, 309,
3858
- 3, 46, 23, 0, 307, 309, 3, 48, 24, 0, 308, 306, 1, 0, 0, 0, 308, 307, 1, 0, 0, 0, 309,
3859
- 45, 1, 0, 0, 0, 310, 313, 3, 2, 1, 0, 311, 313, 5, 54, 0, 0, 312, 310, 1, 0, 0, 0, 312,
3860
- 311, 1, 0, 0, 0, 313, 47, 1, 0, 0, 0, 314, 315, 3, 10, 5, 0, 315, 49, 1, 0, 0, 0, 316, 317,
3861
- 5, 8, 0, 0, 317, 51, 1, 0, 0, 0, 318, 319, 5, 28, 0, 0, 319, 53, 1, 0, 0, 0, 320, 323, 3,
3862
- 80, 40, 0, 321, 323, 3, 84, 42, 0, 322, 320, 1, 0, 0, 0, 322, 321, 1, 0, 0, 0, 323, 324,
3863
- 1, 0, 0, 0, 324, 325, 5, 3, 0, 0, 325, 326, 3, 66, 33, 0, 326, 55, 1, 0, 0, 0, 327, 328,
3864
- 3, 80, 40, 0, 328, 329, 7, 4, 0, 0, 329, 330, 3, 66, 33, 0, 330, 57, 1, 0, 0, 0, 331, 332,
3865
- 5, 56, 0, 0, 332, 333, 5, 3, 0, 0, 333, 334, 3, 66, 33, 0, 334, 59, 1, 0, 0, 0, 335, 340,
3866
- 3, 66, 33, 0, 336, 337, 5, 2, 0, 0, 337, 339, 3, 66, 33, 0, 338, 336, 1, 0, 0, 0, 339,
3867
- 342, 1, 0, 0, 0, 340, 338, 1, 0, 0, 0, 340, 341, 1, 0, 0, 0, 341, 347, 1, 0, 0, 0, 342,
3868
- 340, 1, 0, 0, 0, 343, 344, 5, 2, 0, 0, 344, 346, 3, 58, 29, 0, 345, 343, 1, 0, 0, 0, 346,
3869
- 349, 1, 0, 0, 0, 347, 345, 1, 0, 0, 0, 347, 348, 1, 0, 0, 0, 348, 359, 1, 0, 0, 0, 349,
3870
- 347, 1, 0, 0, 0, 350, 355, 3, 58, 29, 0, 351, 352, 5, 2, 0, 0, 352, 354, 3, 58, 29, 0,
3871
- 353, 351, 1, 0, 0, 0, 354, 357, 1, 0, 0, 0, 355, 353, 1, 0, 0, 0, 355, 356, 1, 0, 0, 0,
3872
- 356, 359, 1, 0, 0, 0, 357, 355, 1, 0, 0, 0, 358, 335, 1, 0, 0, 0, 358, 350, 1, 0, 0, 0,
3873
- 359, 61, 1, 0, 0, 0, 360, 361, 3, 80, 40, 0, 361, 362, 5, 3, 0, 0, 362, 363, 3, 66, 33,
3874
- 0, 363, 63, 1, 0, 0, 0, 364, 365, 5, 4, 0, 0, 365, 366, 5, 56, 0, 0, 366, 367, 5, 3, 0,
3875
- 0, 367, 368, 3, 66, 33, 0, 368, 65, 1, 0, 0, 0, 369, 370, 6, 33, -1, 0, 370, 371, 5, 52,
3876
- 0, 0, 371, 372, 3, 66, 33, 0, 372, 373, 5, 53, 0, 0, 373, 387, 1, 0, 0, 0, 374, 377, 3,
3877
- 72, 36, 0, 375, 377, 3, 80, 40, 0, 376, 374, 1, 0, 0, 0, 376, 375, 1, 0, 0, 0, 377, 387,
3878
- 1, 0, 0, 0, 378, 379, 3, 70, 35, 0, 379, 380, 3, 66, 33, 10, 380, 387, 1, 0, 0, 0, 381,
3879
- 387, 3, 92, 46, 0, 382, 387, 3, 96, 48, 0, 383, 387, 3, 98, 49, 0, 384, 387, 3, 84, 42,
3880
- 0, 385, 387, 3, 114, 57, 0, 386, 369, 1, 0, 0, 0, 386, 376, 1, 0, 0, 0, 386, 378, 1, 0,
3881
- 0, 0, 386, 381, 1, 0, 0, 0, 386, 382, 1, 0, 0, 0, 386, 383, 1, 0, 0, 0, 386, 384, 1, 0,
3882
- 0, 0, 386, 385, 1, 0, 0, 0, 387, 403, 1, 0, 0, 0, 388, 389, 10, 9, 0, 0, 389, 390, 7, 5,
3883
- 0, 0, 390, 402, 3, 66, 33, 10, 391, 392, 10, 8, 0, 0, 392, 393, 7, 6, 0, 0, 393, 402,
3884
- 3, 66, 33, 9, 394, 395, 10, 7, 0, 0, 395, 396, 3, 68, 34, 0, 396, 397, 3, 66, 33, 8, 397,
3885
- 402, 1, 0, 0, 0, 398, 399, 10, 6, 0, 0, 399, 400, 7, 7, 0, 0, 400, 402, 3, 66, 33, 7, 401,
3886
- 388, 1, 0, 0, 0, 401, 391, 1, 0, 0, 0, 401, 394, 1, 0, 0, 0, 401, 398, 1, 0, 0, 0, 402,
3887
- 405, 1, 0, 0, 0, 403, 401, 1, 0, 0, 0, 403, 404, 1, 0, 0, 0, 404, 67, 1, 0, 0, 0, 405, 403,
3888
- 1, 0, 0, 0, 406, 407, 7, 8, 0, 0, 407, 69, 1, 0, 0, 0, 408, 409, 7, 9, 0, 0, 409, 71, 1,
3889
- 0, 0, 0, 410, 412, 5, 43, 0, 0, 411, 410, 1, 0, 0, 0, 411, 412, 1, 0, 0, 0, 412, 413, 1,
3890
- 0, 0, 0, 413, 414, 7, 10, 0, 0, 414, 73, 1, 0, 0, 0, 415, 416, 5, 23, 0, 0, 416, 417, 5,
3891
- 56, 0, 0, 417, 419, 5, 52, 0, 0, 418, 420, 3, 78, 39, 0, 419, 418, 1, 0, 0, 0, 419, 420,
3892
- 1, 0, 0, 0, 420, 421, 1, 0, 0, 0, 421, 422, 5, 53, 0, 0, 422, 423, 5, 1, 0, 0, 423, 424,
3893
- 5, 64, 0, 0, 424, 427, 5, 66, 0, 0, 425, 428, 5, 64, 0, 0, 426, 428, 3, 76, 38, 0, 427,
3894
- 425, 1, 0, 0, 0, 427, 426, 1, 0, 0, 0, 428, 429, 1, 0, 0, 0, 429, 427, 1, 0, 0, 0, 429,
3895
- 430, 1, 0, 0, 0, 430, 431, 1, 0, 0, 0, 431, 432, 5, 67, 0, 0, 432, 75, 1, 0, 0, 0, 433,
3896
- 436, 3, 2, 1, 0, 434, 436, 3, 88, 44, 0, 435, 433, 1, 0, 0, 0, 435, 434, 1, 0, 0, 0, 436,
3897
- 77, 1, 0, 0, 0, 437, 442, 5, 56, 0, 0, 438, 439, 5, 2, 0, 0, 439, 441, 5, 56, 0, 0, 440,
3898
- 438, 1, 0, 0, 0, 441, 444, 1, 0, 0, 0, 442, 440, 1, 0, 0, 0, 442, 443, 1, 0, 0, 0, 443,
3899
- 451, 1, 0, 0, 0, 444, 442, 1, 0, 0, 0, 445, 446, 5, 2, 0, 0, 446, 447, 5, 56, 0, 0, 447,
3900
- 448, 5, 3, 0, 0, 448, 450, 3, 72, 36, 0, 449, 445, 1, 0, 0, 0, 450, 453, 1, 0, 0, 0, 451,
3901
- 449, 1, 0, 0, 0, 451, 452, 1, 0, 0, 0, 452, 467, 1, 0, 0, 0, 453, 451, 1, 0, 0, 0, 454,
3902
- 455, 5, 56, 0, 0, 455, 456, 5, 3, 0, 0, 456, 463, 3, 72, 36, 0, 457, 458, 5, 2, 0, 0, 458,
3903
- 459, 5, 56, 0, 0, 459, 460, 5, 3, 0, 0, 460, 462, 3, 72, 36, 0, 461, 457, 1, 0, 0, 0, 462,
3904
- 465, 1, 0, 0, 0, 463, 461, 1, 0, 0, 0, 463, 464, 1, 0, 0, 0, 464, 467, 1, 0, 0, 0, 465,
3905
- 463, 1, 0, 0, 0, 466, 437, 1, 0, 0, 0, 466, 454, 1, 0, 0, 0, 467, 79, 1, 0, 0, 0, 468, 473,
3906
- 5, 56, 0, 0, 469, 470, 5, 5, 0, 0, 470, 472, 5, 56, 0, 0, 471, 469, 1, 0, 0, 0, 472, 475,
3907
- 1, 0, 0, 0, 473, 471, 1, 0, 0, 0, 473, 474, 1, 0, 0, 0, 474, 81, 1, 0, 0, 0, 475, 473, 1,
3908
- 0, 0, 0, 476, 478, 5, 52, 0, 0, 477, 479, 3, 60, 30, 0, 478, 477, 1, 0, 0, 0, 478, 479,
3909
- 1, 0, 0, 0, 479, 480, 1, 0, 0, 0, 480, 484, 5, 53, 0, 0, 481, 482, 5, 5, 0, 0, 482, 484,
3910
- 5, 56, 0, 0, 483, 476, 1, 0, 0, 0, 483, 481, 1, 0, 0, 0, 484, 83, 1, 0, 0, 0, 485, 487,
3911
- 3, 86, 43, 0, 486, 485, 1, 0, 0, 0, 486, 487, 1, 0, 0, 0, 487, 488, 1, 0, 0, 0, 488, 490,
3912
- 5, 56, 0, 0, 489, 491, 3, 82, 41, 0, 490, 489, 1, 0, 0, 0, 491, 492, 1, 0, 0, 0, 492, 490,
3913
- 1, 0, 0, 0, 492, 493, 1, 0, 0, 0, 493, 85, 1, 0, 0, 0, 494, 496, 5, 42, 0, 0, 495, 494,
3914
- 1, 0, 0, 0, 495, 496, 1, 0, 0, 0, 496, 497, 1, 0, 0, 0, 497, 499, 5, 44, 0, 0, 498, 500,
3915
- 3, 66, 33, 0, 499, 498, 1, 0, 0, 0, 499, 500, 1, 0, 0, 0, 500, 87, 1, 0, 0, 0, 501, 502,
3916
- 5, 22, 0, 0, 502, 503, 3, 66, 33, 0, 503, 89, 1, 0, 0, 0, 504, 505, 3, 106, 53, 0, 505,
3917
- 506, 5, 1, 0, 0, 506, 507, 3, 10, 5, 0, 507, 91, 1, 0, 0, 0, 508, 509, 5, 10, 0, 0, 509,
3918
- 510, 5, 11, 0, 0, 510, 511, 5, 1, 0, 0, 511, 512, 5, 64, 0, 0, 512, 515, 5, 66, 0, 0, 513,
3919
- 516, 5, 64, 0, 0, 514, 516, 3, 104, 52, 0, 515, 513, 1, 0, 0, 0, 515, 514, 1, 0, 0, 0,
3920
- 516, 517, 1, 0, 0, 0, 517, 515, 1, 0, 0, 0, 517, 518, 1, 0, 0, 0, 518, 519, 1, 0, 0, 0,
3921
- 519, 520, 5, 67, 0, 0, 520, 93, 1, 0, 0, 0, 521, 522, 5, 64, 0, 0, 522, 525, 5, 66, 0,
3922
- 0, 523, 526, 5, 64, 0, 0, 524, 526, 3, 102, 51, 0, 525, 523, 1, 0, 0, 0, 525, 524, 1,
3923
- 0, 0, 0, 526, 527, 1, 0, 0, 0, 527, 525, 1, 0, 0, 0, 527, 528, 1, 0, 0, 0, 528, 529, 1,
3924
- 0, 0, 0, 529, 530, 5, 67, 0, 0, 530, 95, 1, 0, 0, 0, 531, 532, 5, 10, 0, 0, 532, 536, 5,
3925
- 12, 0, 0, 533, 534, 5, 52, 0, 0, 534, 535, 5, 56, 0, 0, 535, 537, 5, 53, 0, 0, 536, 533,
3926
- 1, 0, 0, 0, 536, 537, 1, 0, 0, 0, 537, 538, 1, 0, 0, 0, 538, 539, 5, 1, 0, 0, 539, 540,
3927
- 3, 94, 47, 0, 540, 97, 1, 0, 0, 0, 541, 542, 5, 10, 0, 0, 542, 543, 5, 13, 0, 0, 543, 544,
3928
- 5, 1, 0, 0, 544, 545, 5, 64, 0, 0, 545, 549, 5, 66, 0, 0, 546, 550, 5, 64, 0, 0, 547, 550,
3929
- 3, 104, 52, 0, 548, 550, 3, 90, 45, 0, 549, 546, 1, 0, 0, 0, 549, 547, 1, 0, 0, 0, 549,
3930
- 548, 1, 0, 0, 0, 550, 551, 1, 0, 0, 0, 551, 549, 1, 0, 0, 0, 551, 552, 1, 0, 0, 0, 552,
3931
- 553, 1, 0, 0, 0, 553, 554, 5, 67, 0, 0, 554, 99, 1, 0, 0, 0, 555, 556, 5, 64, 0, 0, 556,
3932
- 559, 5, 66, 0, 0, 557, 560, 5, 64, 0, 0, 558, 560, 3, 104, 52, 0, 559, 557, 1, 0, 0, 0,
3933
- 559, 558, 1, 0, 0, 0, 560, 561, 1, 0, 0, 0, 561, 559, 1, 0, 0, 0, 561, 562, 1, 0, 0, 0,
3934
- 562, 563, 1, 0, 0, 0, 563, 564, 5, 67, 0, 0, 564, 101, 1, 0, 0, 0, 565, 567, 7, 11, 0,
3935
- 0, 566, 568, 5, 1, 0, 0, 567, 566, 1, 0, 0, 0, 567, 568, 1, 0, 0, 0, 568, 575, 1, 0, 0,
3936
- 0, 569, 576, 3, 60, 30, 0, 570, 571, 5, 52, 0, 0, 571, 572, 3, 60, 30, 0, 572, 573, 5,
3937
- 53, 0, 0, 573, 576, 1, 0, 0, 0, 574, 576, 3, 100, 50, 0, 575, 569, 1, 0, 0, 0, 575, 570,
3938
- 1, 0, 0, 0, 575, 574, 1, 0, 0, 0, 576, 592, 1, 0, 0, 0, 577, 578, 5, 25, 0, 0, 578, 583,
3939
- 5, 56, 0, 0, 579, 580, 5, 2, 0, 0, 580, 582, 5, 56, 0, 0, 581, 579, 1, 0, 0, 0, 582, 585,
3940
- 1, 0, 0, 0, 583, 581, 1, 0, 0, 0, 583, 584, 1, 0, 0, 0, 584, 586, 1, 0, 0, 0, 585, 583,
3941
- 1, 0, 0, 0, 586, 587, 5, 26, 0, 0, 587, 588, 3, 66, 33, 0, 588, 589, 5, 1, 0, 0, 589, 590,
3942
- 3, 94, 47, 0, 590, 592, 1, 0, 0, 0, 591, 565, 1, 0, 0, 0, 591, 577, 1, 0, 0, 0, 592, 103,
3943
- 1, 0, 0, 0, 593, 594, 3, 106, 53, 0, 594, 595, 5, 1, 0, 0, 595, 596, 3, 108, 54, 0, 596,
3944
- 105, 1, 0, 0, 0, 597, 598, 7, 12, 0, 0, 598, 107, 1, 0, 0, 0, 599, 609, 3, 100, 50, 0,
3945
- 600, 605, 3, 66, 33, 0, 601, 602, 5, 2, 0, 0, 602, 604, 3, 66, 33, 0, 603, 601, 1, 0,
3946
- 0, 0, 604, 607, 1, 0, 0, 0, 605, 603, 1, 0, 0, 0, 605, 606, 1, 0, 0, 0, 606, 609, 1, 0,
3947
- 0, 0, 607, 605, 1, 0, 0, 0, 608, 599, 1, 0, 0, 0, 608, 600, 1, 0, 0, 0, 609, 109, 1, 0,
3948
- 0, 0, 610, 613, 5, 56, 0, 0, 611, 614, 5, 57, 0, 0, 612, 614, 3, 66, 33, 0, 613, 611,
3949
- 1, 0, 0, 0, 613, 612, 1, 0, 0, 0, 614, 617, 1, 0, 0, 0, 615, 617, 5, 56, 0, 0, 616, 610,
3950
- 1, 0, 0, 0, 616, 615, 1, 0, 0, 0, 617, 111, 1, 0, 0, 0, 618, 622, 5, 14, 0, 0, 619, 621,
3951
- 3, 110, 55, 0, 620, 619, 1, 0, 0, 0, 621, 624, 1, 0, 0, 0, 622, 620, 1, 0, 0, 0, 622, 623,
3952
- 1, 0, 0, 0, 623, 113, 1, 0, 0, 0, 624, 622, 1, 0, 0, 0, 625, 636, 5, 6, 0, 0, 626, 631,
3953
- 3, 66, 33, 0, 627, 628, 5, 2, 0, 0, 628, 630, 3, 66, 33, 0, 629, 627, 1, 0, 0, 0, 630,
3954
- 633, 1, 0, 0, 0, 631, 629, 1, 0, 0, 0, 631, 632, 1, 0, 0, 0, 632, 635, 1, 0, 0, 0, 633,
3955
- 631, 1, 0, 0, 0, 634, 626, 1, 0, 0, 0, 635, 638, 1, 0, 0, 0, 636, 634, 1, 0, 0, 0, 636,
3956
- 637, 1, 0, 0, 0, 637, 639, 1, 0, 0, 0, 638, 636, 1, 0, 0, 0, 639, 640, 5, 7, 0, 0, 640,
3957
- 115, 1, 0, 0, 0, 641, 644, 5, 19, 0, 0, 642, 645, 5, 56, 0, 0, 643, 645, 3, 66, 33, 0,
3958
- 644, 642, 1, 0, 0, 0, 644, 643, 1, 0, 0, 0, 645, 117, 1, 0, 0, 0, 646, 647, 5, 24, 0, 0,
3959
- 647, 648, 5, 56, 0, 0, 648, 119, 1, 0, 0, 0, 649, 650, 7, 13, 0, 0, 650, 651, 5, 1, 0,
3960
- 0, 651, 652, 3, 10, 5, 0, 652, 121, 1, 0, 0, 0, 653, 654, 5, 29, 0, 0, 654, 655, 3, 66,
3961
- 33, 0, 655, 656, 5, 1, 0, 0, 656, 660, 3, 10, 5, 0, 657, 659, 3, 124, 62, 0, 658, 657,
3962
- 1, 0, 0, 0, 659, 662, 1, 0, 0, 0, 660, 658, 1, 0, 0, 0, 660, 661, 1, 0, 0, 0, 661, 664,
3963
- 1, 0, 0, 0, 662, 660, 1, 0, 0, 0, 663, 665, 3, 126, 63, 0, 664, 663, 1, 0, 0, 0, 664, 665,
3964
- 1, 0, 0, 0, 665, 123, 1, 0, 0, 0, 666, 667, 5, 30, 0, 0, 667, 668, 5, 29, 0, 0, 668, 669,
3965
- 3, 66, 33, 0, 669, 670, 5, 1, 0, 0, 670, 671, 3, 10, 5, 0, 671, 125, 1, 0, 0, 0, 672, 673,
3966
- 5, 30, 0, 0, 673, 674, 5, 1, 0, 0, 674, 675, 3, 10, 5, 0, 675, 127, 1, 0, 0, 0, 676, 677,
3967
- 5, 27, 0, 0, 677, 678, 3, 66, 33, 0, 678, 679, 5, 1, 0, 0, 679, 680, 3, 10, 5, 0, 680,
3968
- 129, 1, 0, 0, 0, 681, 682, 5, 25, 0, 0, 682, 687, 5, 56, 0, 0, 683, 684, 5, 2, 0, 0, 684,
3969
- 686, 5, 56, 0, 0, 685, 683, 1, 0, 0, 0, 686, 689, 1, 0, 0, 0, 687, 685, 1, 0, 0, 0, 687,
3970
- 688, 1, 0, 0, 0, 688, 690, 1, 0, 0, 0, 689, 687, 1, 0, 0, 0, 690, 691, 5, 26, 0, 0, 691,
3971
- 692, 3, 66, 33, 0, 692, 693, 5, 1, 0, 0, 693, 694, 3, 10, 5, 0, 694, 131, 1, 0, 0, 0, 76,
3972
- 134, 136, 141, 143, 159, 166, 170, 178, 184, 186, 200, 202, 217, 221, 226, 230,
3973
- 238, 251, 262, 270, 272, 283, 294, 296, 302, 308, 312, 322, 340, 347, 355, 358,
3974
- 376, 386, 401, 403, 411, 419, 427, 429, 435, 442, 451, 463, 466, 473, 478, 483,
3975
- 486, 492, 495, 499, 515, 517, 525, 527, 536, 549, 551, 559, 561, 567, 575, 583,
3976
- 591, 605, 608, 613, 616, 622, 631, 636, 644, 660, 664, 687
3680
+ 7, 59, 2, 60, 7, 60, 2, 61, 7, 61, 2, 62, 7, 62, 2, 63, 7, 63, 1, 0, 1, 0, 5, 0, 131, 8, 0,
3681
+ 10, 0, 12, 0, 134, 9, 0, 1, 0, 1, 0, 4, 0, 138, 8, 0, 11, 0, 12, 0, 139, 1, 0, 1, 0, 1, 1,
3682
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 156, 8, 1, 1, 2, 1, 2,
3683
+ 1, 2, 1, 2, 1, 2, 3, 2, 163, 8, 2, 1, 3, 1, 3, 3, 3, 167, 8, 3, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4,
3684
+ 1, 4, 3, 4, 175, 8, 4, 1, 5, 1, 5, 1, 5, 1, 5, 4, 5, 181, 8, 5, 11, 5, 12, 5, 182, 1, 5, 1,
3685
+ 5, 1, 6, 1, 6, 1, 6, 1, 6, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 4, 7, 197, 8, 7, 11, 7, 12, 7,
3686
+ 198, 1, 7, 1, 7, 1, 8, 1, 8, 1, 8, 1, 8, 1, 9, 1, 9, 1, 9, 1, 10, 1, 10, 1, 10, 1, 10, 3, 10,
3687
+ 214, 8, 10, 1, 11, 1, 11, 3, 11, 218, 8, 11, 1, 11, 5, 11, 221, 8, 11, 10, 11, 12, 11,
3688
+ 224, 9, 11, 1, 11, 3, 11, 227, 8, 11, 1, 12, 1, 12, 1, 12, 1, 13, 1, 13, 1, 13, 3, 13, 235,
3689
+ 8, 13, 1, 14, 1, 14, 1, 15, 1, 15, 1, 15, 1, 16, 1, 16, 1, 16, 1, 16, 5, 16, 246, 8, 16,
3690
+ 10, 16, 12, 16, 249, 9, 16, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 5, 17, 257, 8, 17,
3691
+ 10, 17, 12, 17, 260, 9, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 4, 17, 267, 8, 17, 11, 17,
3692
+ 12, 17, 268, 1, 17, 1, 17, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 5, 18, 278, 8, 18, 10, 18,
3693
+ 12, 18, 281, 9, 18, 1, 19, 1, 19, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 4, 20, 291,
3694
+ 8, 20, 11, 20, 12, 20, 292, 1, 20, 1, 20, 1, 21, 1, 21, 3, 21, 299, 8, 21, 1, 22, 1, 22,
3695
+ 1, 22, 1, 22, 3, 22, 305, 8, 22, 1, 23, 1, 23, 3, 23, 309, 8, 23, 1, 24, 1, 24, 1, 25, 1,
3696
+ 25, 3, 25, 315, 8, 25, 1, 25, 1, 25, 1, 25, 1, 26, 1, 26, 1, 26, 1, 26, 1, 27, 1, 27, 1,
3697
+ 27, 1, 27, 1, 28, 1, 28, 1, 28, 5, 28, 331, 8, 28, 10, 28, 12, 28, 334, 9, 28, 1, 28, 1,
3698
+ 28, 5, 28, 338, 8, 28, 10, 28, 12, 28, 341, 9, 28, 1, 28, 1, 28, 1, 28, 5, 28, 346, 8,
3699
+ 28, 10, 28, 12, 28, 349, 9, 28, 3, 28, 351, 8, 28, 1, 29, 1, 29, 1, 29, 1, 29, 1, 30, 1,
3700
+ 30, 1, 30, 1, 30, 1, 30, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 3, 31, 369, 8,
3701
+ 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 3, 31, 379, 8, 31, 1, 31, 1,
3702
+ 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 5, 31, 394,
3703
+ 8, 31, 10, 31, 12, 31, 397, 9, 31, 1, 32, 1, 32, 1, 33, 1, 33, 1, 34, 3, 34, 404, 8, 34,
3704
+ 1, 34, 1, 34, 1, 35, 1, 35, 1, 35, 1, 35, 3, 35, 412, 8, 35, 1, 35, 1, 35, 1, 35, 1, 35,
3705
+ 1, 35, 1, 35, 4, 35, 420, 8, 35, 11, 35, 12, 35, 421, 1, 35, 1, 35, 1, 36, 1, 36, 3, 36,
3706
+ 428, 8, 36, 1, 37, 1, 37, 1, 37, 5, 37, 433, 8, 37, 10, 37, 12, 37, 436, 9, 37, 1, 37,
3707
+ 1, 37, 1, 37, 1, 37, 5, 37, 442, 8, 37, 10, 37, 12, 37, 445, 9, 37, 1, 37, 1, 37, 1, 37,
3708
+ 1, 37, 1, 37, 1, 37, 1, 37, 5, 37, 454, 8, 37, 10, 37, 12, 37, 457, 9, 37, 3, 37, 459,
3709
+ 8, 37, 1, 38, 1, 38, 1, 38, 5, 38, 464, 8, 38, 10, 38, 12, 38, 467, 9, 38, 1, 39, 1, 39,
3710
+ 3, 39, 471, 8, 39, 1, 39, 1, 39, 1, 39, 3, 39, 476, 8, 39, 1, 40, 3, 40, 479, 8, 40, 1,
3711
+ 40, 1, 40, 4, 40, 483, 8, 40, 11, 40, 12, 40, 484, 1, 41, 3, 41, 488, 8, 41, 1, 41, 1,
3712
+ 41, 3, 41, 492, 8, 41, 1, 42, 1, 42, 1, 42, 1, 43, 1, 43, 1, 43, 1, 43, 1, 44, 1, 44, 1,
3713
+ 44, 1, 44, 1, 44, 1, 44, 1, 44, 4, 44, 508, 8, 44, 11, 44, 12, 44, 509, 1, 44, 1, 44, 1,
3714
+ 45, 1, 45, 1, 45, 1, 45, 4, 45, 518, 8, 45, 11, 45, 12, 45, 519, 1, 45, 1, 45, 1, 46, 1,
3715
+ 46, 1, 46, 1, 46, 1, 46, 3, 46, 529, 8, 46, 1, 46, 1, 46, 1, 46, 1, 47, 1, 47, 1, 47, 1,
3716
+ 47, 1, 47, 1, 47, 1, 47, 1, 47, 4, 47, 542, 8, 47, 11, 47, 12, 47, 543, 1, 47, 1, 47, 1,
3717
+ 48, 1, 48, 1, 48, 1, 48, 4, 48, 552, 8, 48, 11, 48, 12, 48, 553, 1, 48, 1, 48, 1, 49, 1,
3718
+ 49, 3, 49, 560, 8, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 3, 49, 568, 8, 49, 1, 49,
3719
+ 1, 49, 1, 49, 1, 49, 5, 49, 574, 8, 49, 10, 49, 12, 49, 577, 9, 49, 1, 49, 1, 49, 1, 49,
3720
+ 1, 49, 1, 49, 3, 49, 584, 8, 49, 1, 50, 1, 50, 1, 50, 1, 50, 1, 51, 1, 51, 1, 52, 1, 52,
3721
+ 1, 52, 1, 52, 5, 52, 596, 8, 52, 10, 52, 12, 52, 599, 9, 52, 3, 52, 601, 8, 52, 1, 53,
3722
+ 1, 53, 1, 53, 3, 53, 606, 8, 53, 1, 53, 3, 53, 609, 8, 53, 1, 54, 1, 54, 5, 54, 613, 8,
3723
+ 54, 10, 54, 12, 54, 616, 9, 54, 1, 55, 1, 55, 1, 55, 1, 55, 5, 55, 622, 8, 55, 10, 55,
3724
+ 12, 55, 625, 9, 55, 5, 55, 627, 8, 55, 10, 55, 12, 55, 630, 9, 55, 1, 55, 1, 55, 1, 56,
3725
+ 1, 56, 1, 56, 3, 56, 637, 8, 56, 1, 57, 1, 57, 1, 57, 1, 58, 1, 58, 1, 58, 1, 58, 1, 59,
3726
+ 1, 59, 1, 59, 1, 59, 1, 59, 5, 59, 651, 8, 59, 10, 59, 12, 59, 654, 9, 59, 1, 59, 3, 59,
3727
+ 657, 8, 59, 1, 60, 1, 60, 1, 60, 1, 60, 1, 60, 1, 60, 1, 61, 1, 61, 1, 61, 1, 61, 1, 62,
3728
+ 1, 62, 1, 62, 1, 62, 1, 62, 1, 63, 1, 63, 1, 63, 1, 63, 5, 63, 678, 8, 63, 10, 63, 12, 63,
3729
+ 681, 9, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 0, 1, 62, 64, 0, 2, 4, 6, 8, 10, 12,
3730
+ 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56,
3731
+ 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100,
3732
+ 102, 104, 106, 108, 110, 112, 114, 116, 118, 120, 122, 124, 126, 0, 14, 2, 0, 9, 9,
3733
+ 19, 21, 1, 0, 56, 57, 2, 0, 57, 57, 60, 60, 2, 0, 54, 54, 57, 57, 1, 0, 47, 51, 1, 0, 44,
3734
+ 46, 1, 0, 42, 43, 1, 0, 40, 41, 1, 0, 34, 39, 2, 0, 31, 31, 43, 43, 2, 0, 55, 55, 57, 61,
3735
+ 2, 0, 15, 15, 56, 56, 2, 0, 56, 57, 60, 60, 1, 0, 32, 33, 727, 0, 132, 1, 0, 0, 0, 2, 155,
3736
+ 1, 0, 0, 0, 4, 162, 1, 0, 0, 0, 6, 166, 1, 0, 0, 0, 8, 174, 1, 0, 0, 0, 10, 176, 1, 0, 0, 0,
3737
+ 12, 186, 1, 0, 0, 0, 14, 190, 1, 0, 0, 0, 16, 202, 1, 0, 0, 0, 18, 206, 1, 0, 0, 0, 20, 209,
3738
+ 1, 0, 0, 0, 22, 217, 1, 0, 0, 0, 24, 228, 1, 0, 0, 0, 26, 234, 1, 0, 0, 0, 28, 236, 1, 0,
3739
+ 0, 0, 30, 238, 1, 0, 0, 0, 32, 241, 1, 0, 0, 0, 34, 250, 1, 0, 0, 0, 36, 272, 1, 0, 0, 0,
3740
+ 38, 282, 1, 0, 0, 0, 40, 284, 1, 0, 0, 0, 42, 298, 1, 0, 0, 0, 44, 300, 1, 0, 0, 0, 46, 308,
3741
+ 1, 0, 0, 0, 48, 310, 1, 0, 0, 0, 50, 314, 1, 0, 0, 0, 52, 319, 1, 0, 0, 0, 54, 323, 1, 0,
3742
+ 0, 0, 56, 350, 1, 0, 0, 0, 58, 352, 1, 0, 0, 0, 60, 356, 1, 0, 0, 0, 62, 378, 1, 0, 0, 0,
3743
+ 64, 398, 1, 0, 0, 0, 66, 400, 1, 0, 0, 0, 68, 403, 1, 0, 0, 0, 70, 407, 1, 0, 0, 0, 72, 427,
3744
+ 1, 0, 0, 0, 74, 458, 1, 0, 0, 0, 76, 460, 1, 0, 0, 0, 78, 475, 1, 0, 0, 0, 80, 478, 1, 0,
3745
+ 0, 0, 82, 487, 1, 0, 0, 0, 84, 493, 1, 0, 0, 0, 86, 496, 1, 0, 0, 0, 88, 500, 1, 0, 0, 0,
3746
+ 90, 513, 1, 0, 0, 0, 92, 523, 1, 0, 0, 0, 94, 533, 1, 0, 0, 0, 96, 547, 1, 0, 0, 0, 98, 583,
3747
+ 1, 0, 0, 0, 100, 585, 1, 0, 0, 0, 102, 589, 1, 0, 0, 0, 104, 600, 1, 0, 0, 0, 106, 608,
3748
+ 1, 0, 0, 0, 108, 610, 1, 0, 0, 0, 110, 617, 1, 0, 0, 0, 112, 633, 1, 0, 0, 0, 114, 638,
3749
+ 1, 0, 0, 0, 116, 641, 1, 0, 0, 0, 118, 645, 1, 0, 0, 0, 120, 658, 1, 0, 0, 0, 122, 664,
3750
+ 1, 0, 0, 0, 124, 668, 1, 0, 0, 0, 126, 673, 1, 0, 0, 0, 128, 131, 3, 114, 57, 0, 129, 131,
3751
+ 5, 64, 0, 0, 130, 128, 1, 0, 0, 0, 130, 129, 1, 0, 0, 0, 131, 134, 1, 0, 0, 0, 132, 130,
3752
+ 1, 0, 0, 0, 132, 133, 1, 0, 0, 0, 133, 137, 1, 0, 0, 0, 134, 132, 1, 0, 0, 0, 135, 138,
3753
+ 3, 2, 1, 0, 136, 138, 5, 64, 0, 0, 137, 135, 1, 0, 0, 0, 137, 136, 1, 0, 0, 0, 138, 139,
3754
+ 1, 0, 0, 0, 139, 137, 1, 0, 0, 0, 139, 140, 1, 0, 0, 0, 140, 141, 1, 0, 0, 0, 141, 142,
3755
+ 5, 0, 0, 1, 142, 1, 1, 0, 0, 0, 143, 156, 3, 6, 3, 0, 144, 156, 3, 50, 25, 0, 145, 156,
3756
+ 3, 52, 26, 0, 146, 156, 3, 58, 29, 0, 147, 156, 3, 14, 7, 0, 148, 156, 3, 60, 30, 0, 149,
3757
+ 156, 3, 70, 35, 0, 150, 156, 3, 80, 40, 0, 151, 156, 3, 114, 57, 0, 152, 156, 3, 76,
3758
+ 38, 0, 153, 156, 3, 116, 58, 0, 154, 156, 3, 4, 2, 0, 155, 143, 1, 0, 0, 0, 155, 144,
3759
+ 1, 0, 0, 0, 155, 145, 1, 0, 0, 0, 155, 146, 1, 0, 0, 0, 155, 147, 1, 0, 0, 0, 155, 148,
3760
+ 1, 0, 0, 0, 155, 149, 1, 0, 0, 0, 155, 150, 1, 0, 0, 0, 155, 151, 1, 0, 0, 0, 155, 152,
3761
+ 1, 0, 0, 0, 155, 153, 1, 0, 0, 0, 155, 154, 1, 0, 0, 0, 156, 3, 1, 0, 0, 0, 157, 163, 3,
3762
+ 118, 59, 0, 158, 163, 3, 124, 62, 0, 159, 163, 3, 126, 63, 0, 160, 163, 5, 8, 0, 0, 161,
3763
+ 163, 5, 28, 0, 0, 162, 157, 1, 0, 0, 0, 162, 158, 1, 0, 0, 0, 162, 159, 1, 0, 0, 0, 162,
3764
+ 160, 1, 0, 0, 0, 162, 161, 1, 0, 0, 0, 163, 5, 1, 0, 0, 0, 164, 167, 3, 8, 4, 0, 165, 167,
3765
+ 3, 12, 6, 0, 166, 164, 1, 0, 0, 0, 166, 165, 1, 0, 0, 0, 167, 7, 1, 0, 0, 0, 168, 175, 3,
3766
+ 24, 12, 0, 169, 175, 3, 32, 16, 0, 170, 175, 3, 30, 15, 0, 171, 175, 3, 40, 20, 0, 172,
3767
+ 175, 3, 108, 54, 0, 173, 175, 3, 112, 56, 0, 174, 168, 1, 0, 0, 0, 174, 169, 1, 0, 0,
3768
+ 0, 174, 170, 1, 0, 0, 0, 174, 171, 1, 0, 0, 0, 174, 172, 1, 0, 0, 0, 174, 173, 1, 0, 0,
3769
+ 0, 175, 9, 1, 0, 0, 0, 176, 177, 5, 64, 0, 0, 177, 180, 5, 66, 0, 0, 178, 181, 5, 64, 0,
3770
+ 0, 179, 181, 3, 2, 1, 0, 180, 178, 1, 0, 0, 0, 180, 179, 1, 0, 0, 0, 181, 182, 1, 0, 0,
3771
+ 0, 182, 180, 1, 0, 0, 0, 182, 183, 1, 0, 0, 0, 183, 184, 1, 0, 0, 0, 184, 185, 5, 67, 0,
3772
+ 0, 185, 11, 1, 0, 0, 0, 186, 187, 7, 0, 0, 0, 187, 188, 5, 1, 0, 0, 188, 189, 3, 10, 5,
3773
+ 0, 189, 13, 1, 0, 0, 0, 190, 191, 3, 76, 38, 0, 191, 192, 5, 1, 0, 0, 192, 193, 5, 64,
3774
+ 0, 0, 193, 196, 5, 66, 0, 0, 194, 197, 5, 64, 0, 0, 195, 197, 3, 16, 8, 0, 196, 194, 1,
3775
+ 0, 0, 0, 196, 195, 1, 0, 0, 0, 197, 198, 1, 0, 0, 0, 198, 196, 1, 0, 0, 0, 198, 199, 1,
3776
+ 0, 0, 0, 199, 200, 1, 0, 0, 0, 200, 201, 5, 67, 0, 0, 201, 15, 1, 0, 0, 0, 202, 203, 7,
3777
+ 1, 0, 0, 203, 204, 5, 1, 0, 0, 204, 205, 3, 68, 34, 0, 205, 17, 1, 0, 0, 0, 206, 207, 5,
3778
+ 15, 0, 0, 207, 208, 3, 62, 31, 0, 208, 19, 1, 0, 0, 0, 209, 210, 5, 56, 0, 0, 210, 213,
3779
+ 5, 1, 0, 0, 211, 214, 3, 68, 34, 0, 212, 214, 5, 56, 0, 0, 213, 211, 1, 0, 0, 0, 213, 212,
3780
+ 1, 0, 0, 0, 214, 21, 1, 0, 0, 0, 215, 218, 3, 62, 31, 0, 216, 218, 3, 50, 25, 0, 217, 215,
3781
+ 1, 0, 0, 0, 217, 216, 1, 0, 0, 0, 218, 222, 1, 0, 0, 0, 219, 221, 3, 20, 10, 0, 220, 219,
3782
+ 1, 0, 0, 0, 221, 224, 1, 0, 0, 0, 222, 220, 1, 0, 0, 0, 222, 223, 1, 0, 0, 0, 223, 226,
3783
+ 1, 0, 0, 0, 224, 222, 1, 0, 0, 0, 225, 227, 3, 18, 9, 0, 226, 225, 1, 0, 0, 0, 226, 227,
3784
+ 1, 0, 0, 0, 227, 23, 1, 0, 0, 0, 228, 229, 5, 16, 0, 0, 229, 230, 3, 22, 11, 0, 230, 25,
3785
+ 1, 0, 0, 0, 231, 235, 3, 22, 11, 0, 232, 235, 3, 18, 9, 0, 233, 235, 5, 19, 0, 0, 234,
3786
+ 231, 1, 0, 0, 0, 234, 232, 1, 0, 0, 0, 234, 233, 1, 0, 0, 0, 235, 27, 1, 0, 0, 0, 236, 237,
3787
+ 7, 2, 0, 0, 237, 29, 1, 0, 0, 0, 238, 239, 5, 17, 0, 0, 239, 240, 3, 26, 13, 0, 240, 31,
3788
+ 1, 0, 0, 0, 241, 242, 5, 18, 0, 0, 242, 247, 3, 26, 13, 0, 243, 244, 5, 2, 0, 0, 244, 246,
3789
+ 3, 26, 13, 0, 245, 243, 1, 0, 0, 0, 246, 249, 1, 0, 0, 0, 247, 245, 1, 0, 0, 0, 247, 248,
3790
+ 1, 0, 0, 0, 248, 33, 1, 0, 0, 0, 249, 247, 1, 0, 0, 0, 250, 251, 5, 17, 0, 0, 251, 252,
3791
+ 3, 26, 13, 0, 252, 253, 5, 18, 0, 0, 253, 258, 3, 26, 13, 0, 254, 255, 5, 2, 0, 0, 255,
3792
+ 257, 3, 26, 13, 0, 256, 254, 1, 0, 0, 0, 257, 260, 1, 0, 0, 0, 258, 256, 1, 0, 0, 0, 258,
3793
+ 259, 1, 0, 0, 0, 259, 261, 1, 0, 0, 0, 260, 258, 1, 0, 0, 0, 261, 262, 5, 1, 0, 0, 262,
3794
+ 263, 5, 64, 0, 0, 263, 266, 5, 66, 0, 0, 264, 267, 5, 64, 0, 0, 265, 267, 3, 36, 18, 0,
3795
+ 266, 264, 1, 0, 0, 0, 266, 265, 1, 0, 0, 0, 267, 268, 1, 0, 0, 0, 268, 266, 1, 0, 0, 0,
3796
+ 268, 269, 1, 0, 0, 0, 269, 270, 1, 0, 0, 0, 270, 271, 5, 67, 0, 0, 271, 35, 1, 0, 0, 0,
3797
+ 272, 273, 3, 28, 14, 0, 273, 274, 5, 1, 0, 0, 274, 279, 3, 38, 19, 0, 275, 276, 5, 2,
3798
+ 0, 0, 276, 278, 3, 38, 19, 0, 277, 275, 1, 0, 0, 0, 278, 281, 1, 0, 0, 0, 279, 277, 1,
3799
+ 0, 0, 0, 279, 280, 1, 0, 0, 0, 280, 37, 1, 0, 0, 0, 281, 279, 1, 0, 0, 0, 282, 283, 7, 3,
3800
+ 0, 0, 283, 39, 1, 0, 0, 0, 284, 285, 3, 30, 15, 0, 285, 286, 5, 1, 0, 0, 286, 287, 5, 64,
3801
+ 0, 0, 287, 290, 5, 66, 0, 0, 288, 291, 5, 64, 0, 0, 289, 291, 3, 42, 21, 0, 290, 288,
3802
+ 1, 0, 0, 0, 290, 289, 1, 0, 0, 0, 291, 292, 1, 0, 0, 0, 292, 290, 1, 0, 0, 0, 292, 293,
3803
+ 1, 0, 0, 0, 293, 294, 1, 0, 0, 0, 294, 295, 5, 67, 0, 0, 295, 41, 1, 0, 0, 0, 296, 299,
3804
+ 3, 2, 1, 0, 297, 299, 3, 44, 22, 0, 298, 296, 1, 0, 0, 0, 298, 297, 1, 0, 0, 0, 299, 43,
3805
+ 1, 0, 0, 0, 300, 301, 3, 28, 14, 0, 301, 304, 5, 1, 0, 0, 302, 305, 3, 46, 23, 0, 303,
3806
+ 305, 3, 48, 24, 0, 304, 302, 1, 0, 0, 0, 304, 303, 1, 0, 0, 0, 305, 45, 1, 0, 0, 0, 306,
3807
+ 309, 3, 2, 1, 0, 307, 309, 5, 54, 0, 0, 308, 306, 1, 0, 0, 0, 308, 307, 1, 0, 0, 0, 309,
3808
+ 47, 1, 0, 0, 0, 310, 311, 3, 10, 5, 0, 311, 49, 1, 0, 0, 0, 312, 315, 3, 76, 38, 0, 313,
3809
+ 315, 3, 80, 40, 0, 314, 312, 1, 0, 0, 0, 314, 313, 1, 0, 0, 0, 315, 316, 1, 0, 0, 0, 316,
3810
+ 317, 5, 3, 0, 0, 317, 318, 3, 62, 31, 0, 318, 51, 1, 0, 0, 0, 319, 320, 3, 76, 38, 0, 320,
3811
+ 321, 7, 4, 0, 0, 321, 322, 3, 62, 31, 0, 322, 53, 1, 0, 0, 0, 323, 324, 5, 56, 0, 0, 324,
3812
+ 325, 5, 3, 0, 0, 325, 326, 3, 62, 31, 0, 326, 55, 1, 0, 0, 0, 327, 332, 3, 62, 31, 0, 328,
3813
+ 329, 5, 2, 0, 0, 329, 331, 3, 62, 31, 0, 330, 328, 1, 0, 0, 0, 331, 334, 1, 0, 0, 0, 332,
3814
+ 330, 1, 0, 0, 0, 332, 333, 1, 0, 0, 0, 333, 339, 1, 0, 0, 0, 334, 332, 1, 0, 0, 0, 335,
3815
+ 336, 5, 2, 0, 0, 336, 338, 3, 54, 27, 0, 337, 335, 1, 0, 0, 0, 338, 341, 1, 0, 0, 0, 339,
3816
+ 337, 1, 0, 0, 0, 339, 340, 1, 0, 0, 0, 340, 351, 1, 0, 0, 0, 341, 339, 1, 0, 0, 0, 342,
3817
+ 347, 3, 54, 27, 0, 343, 344, 5, 2, 0, 0, 344, 346, 3, 54, 27, 0, 345, 343, 1, 0, 0, 0,
3818
+ 346, 349, 1, 0, 0, 0, 347, 345, 1, 0, 0, 0, 347, 348, 1, 0, 0, 0, 348, 351, 1, 0, 0, 0,
3819
+ 349, 347, 1, 0, 0, 0, 350, 327, 1, 0, 0, 0, 350, 342, 1, 0, 0, 0, 351, 57, 1, 0, 0, 0, 352,
3820
+ 353, 3, 76, 38, 0, 353, 354, 5, 3, 0, 0, 354, 355, 3, 62, 31, 0, 355, 59, 1, 0, 0, 0, 356,
3821
+ 357, 5, 4, 0, 0, 357, 358, 5, 56, 0, 0, 358, 359, 5, 3, 0, 0, 359, 360, 3, 62, 31, 0, 360,
3822
+ 61, 1, 0, 0, 0, 361, 362, 6, 31, -1, 0, 362, 363, 5, 52, 0, 0, 363, 364, 3, 62, 31, 0,
3823
+ 364, 365, 5, 53, 0, 0, 365, 379, 1, 0, 0, 0, 366, 369, 3, 68, 34, 0, 367, 369, 3, 76,
3824
+ 38, 0, 368, 366, 1, 0, 0, 0, 368, 367, 1, 0, 0, 0, 369, 379, 1, 0, 0, 0, 370, 371, 3, 66,
3825
+ 33, 0, 371, 372, 3, 62, 31, 10, 372, 379, 1, 0, 0, 0, 373, 379, 3, 88, 44, 0, 374, 379,
3826
+ 3, 92, 46, 0, 375, 379, 3, 94, 47, 0, 376, 379, 3, 80, 40, 0, 377, 379, 3, 110, 55, 0,
3827
+ 378, 361, 1, 0, 0, 0, 378, 368, 1, 0, 0, 0, 378, 370, 1, 0, 0, 0, 378, 373, 1, 0, 0, 0,
3828
+ 378, 374, 1, 0, 0, 0, 378, 375, 1, 0, 0, 0, 378, 376, 1, 0, 0, 0, 378, 377, 1, 0, 0, 0,
3829
+ 379, 395, 1, 0, 0, 0, 380, 381, 10, 9, 0, 0, 381, 382, 7, 5, 0, 0, 382, 394, 3, 62, 31,
3830
+ 10, 383, 384, 10, 8, 0, 0, 384, 385, 7, 6, 0, 0, 385, 394, 3, 62, 31, 9, 386, 387, 10,
3831
+ 7, 0, 0, 387, 388, 3, 64, 32, 0, 388, 389, 3, 62, 31, 8, 389, 394, 1, 0, 0, 0, 390, 391,
3832
+ 10, 6, 0, 0, 391, 392, 7, 7, 0, 0, 392, 394, 3, 62, 31, 7, 393, 380, 1, 0, 0, 0, 393, 383,
3833
+ 1, 0, 0, 0, 393, 386, 1, 0, 0, 0, 393, 390, 1, 0, 0, 0, 394, 397, 1, 0, 0, 0, 395, 393,
3834
+ 1, 0, 0, 0, 395, 396, 1, 0, 0, 0, 396, 63, 1, 0, 0, 0, 397, 395, 1, 0, 0, 0, 398, 399, 7,
3835
+ 8, 0, 0, 399, 65, 1, 0, 0, 0, 400, 401, 7, 9, 0, 0, 401, 67, 1, 0, 0, 0, 402, 404, 5, 43,
3836
+ 0, 0, 403, 402, 1, 0, 0, 0, 403, 404, 1, 0, 0, 0, 404, 405, 1, 0, 0, 0, 405, 406, 7, 10,
3837
+ 0, 0, 406, 69, 1, 0, 0, 0, 407, 408, 5, 23, 0, 0, 408, 409, 5, 56, 0, 0, 409, 411, 5, 52,
3838
+ 0, 0, 410, 412, 3, 74, 37, 0, 411, 410, 1, 0, 0, 0, 411, 412, 1, 0, 0, 0, 412, 413, 1,
3839
+ 0, 0, 0, 413, 414, 5, 53, 0, 0, 414, 415, 5, 1, 0, 0, 415, 416, 5, 64, 0, 0, 416, 419,
3840
+ 5, 66, 0, 0, 417, 420, 5, 64, 0, 0, 418, 420, 3, 72, 36, 0, 419, 417, 1, 0, 0, 0, 419,
3841
+ 418, 1, 0, 0, 0, 420, 421, 1, 0, 0, 0, 421, 419, 1, 0, 0, 0, 421, 422, 1, 0, 0, 0, 422,
3842
+ 423, 1, 0, 0, 0, 423, 424, 5, 67, 0, 0, 424, 71, 1, 0, 0, 0, 425, 428, 3, 2, 1, 0, 426,
3843
+ 428, 3, 84, 42, 0, 427, 425, 1, 0, 0, 0, 427, 426, 1, 0, 0, 0, 428, 73, 1, 0, 0, 0, 429,
3844
+ 434, 5, 56, 0, 0, 430, 431, 5, 2, 0, 0, 431, 433, 5, 56, 0, 0, 432, 430, 1, 0, 0, 0, 433,
3845
+ 436, 1, 0, 0, 0, 434, 432, 1, 0, 0, 0, 434, 435, 1, 0, 0, 0, 435, 443, 1, 0, 0, 0, 436,
3846
+ 434, 1, 0, 0, 0, 437, 438, 5, 2, 0, 0, 438, 439, 5, 56, 0, 0, 439, 440, 5, 3, 0, 0, 440,
3847
+ 442, 3, 68, 34, 0, 441, 437, 1, 0, 0, 0, 442, 445, 1, 0, 0, 0, 443, 441, 1, 0, 0, 0, 443,
3848
+ 444, 1, 0, 0, 0, 444, 459, 1, 0, 0, 0, 445, 443, 1, 0, 0, 0, 446, 447, 5, 56, 0, 0, 447,
3849
+ 448, 5, 3, 0, 0, 448, 455, 3, 68, 34, 0, 449, 450, 5, 2, 0, 0, 450, 451, 5, 56, 0, 0, 451,
3850
+ 452, 5, 3, 0, 0, 452, 454, 3, 68, 34, 0, 453, 449, 1, 0, 0, 0, 454, 457, 1, 0, 0, 0, 455,
3851
+ 453, 1, 0, 0, 0, 455, 456, 1, 0, 0, 0, 456, 459, 1, 0, 0, 0, 457, 455, 1, 0, 0, 0, 458,
3852
+ 429, 1, 0, 0, 0, 458, 446, 1, 0, 0, 0, 459, 75, 1, 0, 0, 0, 460, 465, 5, 56, 0, 0, 461,
3853
+ 462, 5, 5, 0, 0, 462, 464, 5, 56, 0, 0, 463, 461, 1, 0, 0, 0, 464, 467, 1, 0, 0, 0, 465,
3854
+ 463, 1, 0, 0, 0, 465, 466, 1, 0, 0, 0, 466, 77, 1, 0, 0, 0, 467, 465, 1, 0, 0, 0, 468, 470,
3855
+ 5, 52, 0, 0, 469, 471, 3, 56, 28, 0, 470, 469, 1, 0, 0, 0, 470, 471, 1, 0, 0, 0, 471, 472,
3856
+ 1, 0, 0, 0, 472, 476, 5, 53, 0, 0, 473, 474, 5, 5, 0, 0, 474, 476, 5, 56, 0, 0, 475, 468,
3857
+ 1, 0, 0, 0, 475, 473, 1, 0, 0, 0, 476, 79, 1, 0, 0, 0, 477, 479, 3, 82, 41, 0, 478, 477,
3858
+ 1, 0, 0, 0, 478, 479, 1, 0, 0, 0, 479, 480, 1, 0, 0, 0, 480, 482, 5, 56, 0, 0, 481, 483,
3859
+ 3, 78, 39, 0, 482, 481, 1, 0, 0, 0, 483, 484, 1, 0, 0, 0, 484, 482, 1, 0, 0, 0, 484, 485,
3860
+ 1, 0, 0, 0, 485, 81, 1, 0, 0, 0, 486, 488, 5, 42, 0, 0, 487, 486, 1, 0, 0, 0, 487, 488,
3861
+ 1, 0, 0, 0, 488, 489, 1, 0, 0, 0, 489, 491, 5, 44, 0, 0, 490, 492, 3, 62, 31, 0, 491, 490,
3862
+ 1, 0, 0, 0, 491, 492, 1, 0, 0, 0, 492, 83, 1, 0, 0, 0, 493, 494, 5, 22, 0, 0, 494, 495,
3863
+ 3, 62, 31, 0, 495, 85, 1, 0, 0, 0, 496, 497, 3, 102, 51, 0, 497, 498, 5, 1, 0, 0, 498,
3864
+ 499, 3, 10, 5, 0, 499, 87, 1, 0, 0, 0, 500, 501, 5, 10, 0, 0, 501, 502, 5, 11, 0, 0, 502,
3865
+ 503, 5, 1, 0, 0, 503, 504, 5, 64, 0, 0, 504, 507, 5, 66, 0, 0, 505, 508, 5, 64, 0, 0, 506,
3866
+ 508, 3, 100, 50, 0, 507, 505, 1, 0, 0, 0, 507, 506, 1, 0, 0, 0, 508, 509, 1, 0, 0, 0, 509,
3867
+ 507, 1, 0, 0, 0, 509, 510, 1, 0, 0, 0, 510, 511, 1, 0, 0, 0, 511, 512, 5, 67, 0, 0, 512,
3868
+ 89, 1, 0, 0, 0, 513, 514, 5, 64, 0, 0, 514, 517, 5, 66, 0, 0, 515, 518, 5, 64, 0, 0, 516,
3869
+ 518, 3, 98, 49, 0, 517, 515, 1, 0, 0, 0, 517, 516, 1, 0, 0, 0, 518, 519, 1, 0, 0, 0, 519,
3870
+ 517, 1, 0, 0, 0, 519, 520, 1, 0, 0, 0, 520, 521, 1, 0, 0, 0, 521, 522, 5, 67, 0, 0, 522,
3871
+ 91, 1, 0, 0, 0, 523, 524, 5, 10, 0, 0, 524, 528, 5, 12, 0, 0, 525, 526, 5, 52, 0, 0, 526,
3872
+ 527, 5, 56, 0, 0, 527, 529, 5, 53, 0, 0, 528, 525, 1, 0, 0, 0, 528, 529, 1, 0, 0, 0, 529,
3873
+ 530, 1, 0, 0, 0, 530, 531, 5, 1, 0, 0, 531, 532, 3, 90, 45, 0, 532, 93, 1, 0, 0, 0, 533,
3874
+ 534, 5, 10, 0, 0, 534, 535, 5, 13, 0, 0, 535, 536, 5, 1, 0, 0, 536, 537, 5, 64, 0, 0, 537,
3875
+ 541, 5, 66, 0, 0, 538, 542, 5, 64, 0, 0, 539, 542, 3, 100, 50, 0, 540, 542, 3, 86, 43,
3876
+ 0, 541, 538, 1, 0, 0, 0, 541, 539, 1, 0, 0, 0, 541, 540, 1, 0, 0, 0, 542, 543, 1, 0, 0,
3877
+ 0, 543, 541, 1, 0, 0, 0, 543, 544, 1, 0, 0, 0, 544, 545, 1, 0, 0, 0, 545, 546, 5, 67, 0,
3878
+ 0, 546, 95, 1, 0, 0, 0, 547, 548, 5, 64, 0, 0, 548, 551, 5, 66, 0, 0, 549, 552, 5, 64,
3879
+ 0, 0, 550, 552, 3, 100, 50, 0, 551, 549, 1, 0, 0, 0, 551, 550, 1, 0, 0, 0, 552, 553, 1,
3880
+ 0, 0, 0, 553, 551, 1, 0, 0, 0, 553, 554, 1, 0, 0, 0, 554, 555, 1, 0, 0, 0, 555, 556, 5,
3881
+ 67, 0, 0, 556, 97, 1, 0, 0, 0, 557, 559, 7, 11, 0, 0, 558, 560, 5, 1, 0, 0, 559, 558, 1,
3882
+ 0, 0, 0, 559, 560, 1, 0, 0, 0, 560, 567, 1, 0, 0, 0, 561, 568, 3, 56, 28, 0, 562, 563,
3883
+ 5, 52, 0, 0, 563, 564, 3, 56, 28, 0, 564, 565, 5, 53, 0, 0, 565, 568, 1, 0, 0, 0, 566,
3884
+ 568, 3, 96, 48, 0, 567, 561, 1, 0, 0, 0, 567, 562, 1, 0, 0, 0, 567, 566, 1, 0, 0, 0, 568,
3885
+ 584, 1, 0, 0, 0, 569, 570, 5, 25, 0, 0, 570, 575, 5, 56, 0, 0, 571, 572, 5, 2, 0, 0, 572,
3886
+ 574, 5, 56, 0, 0, 573, 571, 1, 0, 0, 0, 574, 577, 1, 0, 0, 0, 575, 573, 1, 0, 0, 0, 575,
3887
+ 576, 1, 0, 0, 0, 576, 578, 1, 0, 0, 0, 577, 575, 1, 0, 0, 0, 578, 579, 5, 26, 0, 0, 579,
3888
+ 580, 3, 62, 31, 0, 580, 581, 5, 1, 0, 0, 581, 582, 3, 90, 45, 0, 582, 584, 1, 0, 0, 0,
3889
+ 583, 557, 1, 0, 0, 0, 583, 569, 1, 0, 0, 0, 584, 99, 1, 0, 0, 0, 585, 586, 3, 102, 51,
3890
+ 0, 586, 587, 5, 1, 0, 0, 587, 588, 3, 104, 52, 0, 588, 101, 1, 0, 0, 0, 589, 590, 7, 12,
3891
+ 0, 0, 590, 103, 1, 0, 0, 0, 591, 601, 3, 96, 48, 0, 592, 597, 3, 62, 31, 0, 593, 594,
3892
+ 5, 2, 0, 0, 594, 596, 3, 62, 31, 0, 595, 593, 1, 0, 0, 0, 596, 599, 1, 0, 0, 0, 597, 595,
3893
+ 1, 0, 0, 0, 597, 598, 1, 0, 0, 0, 598, 601, 1, 0, 0, 0, 599, 597, 1, 0, 0, 0, 600, 591,
3894
+ 1, 0, 0, 0, 600, 592, 1, 0, 0, 0, 601, 105, 1, 0, 0, 0, 602, 605, 5, 56, 0, 0, 603, 606,
3895
+ 5, 57, 0, 0, 604, 606, 3, 62, 31, 0, 605, 603, 1, 0, 0, 0, 605, 604, 1, 0, 0, 0, 606, 609,
3896
+ 1, 0, 0, 0, 607, 609, 5, 56, 0, 0, 608, 602, 1, 0, 0, 0, 608, 607, 1, 0, 0, 0, 609, 107,
3897
+ 1, 0, 0, 0, 610, 614, 5, 14, 0, 0, 611, 613, 3, 106, 53, 0, 612, 611, 1, 0, 0, 0, 613,
3898
+ 616, 1, 0, 0, 0, 614, 612, 1, 0, 0, 0, 614, 615, 1, 0, 0, 0, 615, 109, 1, 0, 0, 0, 616,
3899
+ 614, 1, 0, 0, 0, 617, 628, 5, 6, 0, 0, 618, 623, 3, 62, 31, 0, 619, 620, 5, 2, 0, 0, 620,
3900
+ 622, 3, 62, 31, 0, 621, 619, 1, 0, 0, 0, 622, 625, 1, 0, 0, 0, 623, 621, 1, 0, 0, 0, 623,
3901
+ 624, 1, 0, 0, 0, 624, 627, 1, 0, 0, 0, 625, 623, 1, 0, 0, 0, 626, 618, 1, 0, 0, 0, 627,
3902
+ 630, 1, 0, 0, 0, 628, 626, 1, 0, 0, 0, 628, 629, 1, 0, 0, 0, 629, 631, 1, 0, 0, 0, 630,
3903
+ 628, 1, 0, 0, 0, 631, 632, 5, 7, 0, 0, 632, 111, 1, 0, 0, 0, 633, 636, 5, 19, 0, 0, 634,
3904
+ 637, 5, 56, 0, 0, 635, 637, 3, 62, 31, 0, 636, 634, 1, 0, 0, 0, 636, 635, 1, 0, 0, 0, 637,
3905
+ 113, 1, 0, 0, 0, 638, 639, 5, 24, 0, 0, 639, 640, 5, 56, 0, 0, 640, 115, 1, 0, 0, 0, 641,
3906
+ 642, 7, 13, 0, 0, 642, 643, 5, 1, 0, 0, 643, 644, 3, 10, 5, 0, 644, 117, 1, 0, 0, 0, 645,
3907
+ 646, 5, 29, 0, 0, 646, 647, 3, 62, 31, 0, 647, 648, 5, 1, 0, 0, 648, 652, 3, 10, 5, 0,
3908
+ 649, 651, 3, 120, 60, 0, 650, 649, 1, 0, 0, 0, 651, 654, 1, 0, 0, 0, 652, 650, 1, 0, 0,
3909
+ 0, 652, 653, 1, 0, 0, 0, 653, 656, 1, 0, 0, 0, 654, 652, 1, 0, 0, 0, 655, 657, 3, 122,
3910
+ 61, 0, 656, 655, 1, 0, 0, 0, 656, 657, 1, 0, 0, 0, 657, 119, 1, 0, 0, 0, 658, 659, 5, 30,
3911
+ 0, 0, 659, 660, 5, 29, 0, 0, 660, 661, 3, 62, 31, 0, 661, 662, 5, 1, 0, 0, 662, 663, 3,
3912
+ 10, 5, 0, 663, 121, 1, 0, 0, 0, 664, 665, 5, 30, 0, 0, 665, 666, 5, 1, 0, 0, 666, 667,
3913
+ 3, 10, 5, 0, 667, 123, 1, 0, 0, 0, 668, 669, 5, 27, 0, 0, 669, 670, 3, 62, 31, 0, 670,
3914
+ 671, 5, 1, 0, 0, 671, 672, 3, 10, 5, 0, 672, 125, 1, 0, 0, 0, 673, 674, 5, 25, 0, 0, 674,
3915
+ 679, 5, 56, 0, 0, 675, 676, 5, 2, 0, 0, 676, 678, 5, 56, 0, 0, 677, 675, 1, 0, 0, 0, 678,
3916
+ 681, 1, 0, 0, 0, 679, 677, 1, 0, 0, 0, 679, 680, 1, 0, 0, 0, 680, 682, 1, 0, 0, 0, 681,
3917
+ 679, 1, 0, 0, 0, 682, 683, 5, 26, 0, 0, 683, 684, 3, 62, 31, 0, 684, 685, 5, 1, 0, 0, 685,
3918
+ 686, 3, 10, 5, 0, 686, 127, 1, 0, 0, 0, 76, 130, 132, 137, 139, 155, 162, 166, 174,
3919
+ 180, 182, 196, 198, 213, 217, 222, 226, 234, 247, 258, 266, 268, 279, 290, 292,
3920
+ 298, 304, 308, 314, 332, 339, 347, 350, 368, 378, 393, 395, 403, 411, 419, 421,
3921
+ 427, 434, 443, 455, 458, 465, 470, 475, 478, 484, 487, 491, 507, 509, 517, 519,
3922
+ 528, 541, 543, 551, 553, 559, 567, 575, 583, 597, 600, 605, 608, 614, 623, 628,
3923
+ 636, 652, 656, 679
3977
3924
  ];
3978
3925
  static __ATN;
3979
3926
  static get _ATN() {
@@ -4034,9 +3981,6 @@ export class ExpressionContext extends antlr.ParserRuleContext {
4034
3981
  graph_expressions() {
4035
3982
  return this.getRuleContext(0, Graph_expressionsContext);
4036
3983
  }
4037
- flow_expressions() {
4038
- return this.getRuleContext(0, Flow_expressionsContext);
4039
- }
4040
3984
  assignment_expr() {
4041
3985
  return this.getRuleContext(0, Assignment_exprContext);
4042
3986
  }
@@ -4067,6 +4011,9 @@ export class ExpressionContext extends antlr.ParserRuleContext {
4067
4011
  frame_expr() {
4068
4012
  return this.getRuleContext(0, Frame_exprContext);
4069
4013
  }
4014
+ flow_expressions() {
4015
+ return this.getRuleContext(0, Flow_expressionsContext);
4016
+ }
4070
4017
  get ruleIndex() {
4071
4018
  return CircuitScriptParser.RULE_expression;
4072
4019
  }
@@ -4092,11 +4039,11 @@ export class Flow_expressionsContext extends antlr.ParserRuleContext {
4092
4039
  for_expr() {
4093
4040
  return this.getRuleContext(0, For_exprContext);
4094
4041
  }
4095
- break_keyword() {
4096
- return this.getRuleContext(0, Break_keywordContext);
4042
+ Break() {
4043
+ return this.getToken(CircuitScriptParser.Break, 0);
4097
4044
  }
4098
- continue_keyword() {
4099
- return this.getRuleContext(0, Continue_keywordContext);
4045
+ Continue() {
4046
+ return this.getToken(CircuitScriptParser.Continue, 0);
4100
4047
  }
4101
4048
  get ruleIndex() {
4102
4049
  return CircuitScriptParser.RULE_flow_expressions;
@@ -4715,44 +4662,6 @@ export class At_block_pin_expression_complexContext extends antlr.ParserRuleCont
4715
4662
  }
4716
4663
  }
4717
4664
  }
4718
- export class Break_keywordContext extends antlr.ParserRuleContext {
4719
- constructor(parent, invokingState) {
4720
- super(parent, invokingState);
4721
- }
4722
- Break() {
4723
- return this.getToken(CircuitScriptParser.Break, 0);
4724
- }
4725
- get ruleIndex() {
4726
- return CircuitScriptParser.RULE_break_keyword;
4727
- }
4728
- accept(visitor) {
4729
- if (visitor.visitBreak_keyword) {
4730
- return visitor.visitBreak_keyword(this);
4731
- }
4732
- else {
4733
- return visitor.visitChildren(this);
4734
- }
4735
- }
4736
- }
4737
- export class Continue_keywordContext extends antlr.ParserRuleContext {
4738
- constructor(parent, invokingState) {
4739
- super(parent, invokingState);
4740
- }
4741
- Continue() {
4742
- return this.getToken(CircuitScriptParser.Continue, 0);
4743
- }
4744
- get ruleIndex() {
4745
- return CircuitScriptParser.RULE_continue_keyword;
4746
- }
4747
- accept(visitor) {
4748
- if (visitor.visitContinue_keyword) {
4749
- return visitor.visitContinue_keyword(this);
4750
- }
4751
- else {
4752
- return visitor.visitChildren(this);
4753
- }
4754
- }
4755
- }
4756
4665
  export class Assignment_exprContext extends antlr.ParserRuleContext {
4757
4666
  constructor(parent, invokingState) {
4758
4667
  super(parent, invokingState);