circuitscript 0.0.16 → 0.0.18

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.
@@ -22,30 +22,31 @@ export default class CircuitScriptParser extends Parser {
22
22
  static Return = 20;
23
23
  static Define = 21;
24
24
  static Import = 22;
25
- static If = 23;
26
- static Not = 24;
27
- static Equals = 25;
28
- static NotEquals = 26;
29
- static Addition = 27;
30
- static Minus = 28;
31
- static Divide = 29;
32
- static Multiply = 30;
33
- static OPEN_PAREN = 31;
34
- static CLOSE_PAREN = 32;
35
- static NOT_CONNECTED = 33;
36
- static BOOLEAN_VALUE = 34;
37
- static ID = 35;
38
- static INTEGER_VALUE = 36;
39
- static DECIMAL_VALUE = 37;
40
- static NUMERIC_VALUE = 38;
41
- static STRING_VALUE = 39;
42
- static PERCENTAGE_VALUE = 40;
43
- static ALPHA_NUMERIC = 41;
44
- static WS = 42;
45
- static NEWLINE = 43;
46
- static SKIP_ = 44;
47
- static INDENT = 45;
48
- static DEDENT = 46;
25
+ static Join = 23;
26
+ static If = 24;
27
+ static Not = 25;
28
+ static Equals = 26;
29
+ static NotEquals = 27;
30
+ static Addition = 28;
31
+ static Minus = 29;
32
+ static Divide = 30;
33
+ static Multiply = 31;
34
+ static OPEN_PAREN = 32;
35
+ static CLOSE_PAREN = 33;
36
+ static NOT_CONNECTED = 34;
37
+ static BOOLEAN_VALUE = 35;
38
+ static ID = 36;
39
+ static INTEGER_VALUE = 37;
40
+ static DECIMAL_VALUE = 38;
41
+ static NUMERIC_VALUE = 39;
42
+ static STRING_VALUE = 40;
43
+ static PERCENTAGE_VALUE = 41;
44
+ static ALPHA_NUMERIC = 42;
45
+ static WS = 43;
46
+ static NEWLINE = 44;
47
+ static SKIP_ = 45;
48
+ static INDENT = 46;
49
+ static DEDENT = 47;
49
50
  static EOF = Token.EOF;
50
51
  static RULE_script = 0;
51
52
  static RULE_expression = 1;
@@ -110,11 +111,12 @@ export default class CircuitScriptParser extends Parser {
110
111
  "'to'", "'point'",
111
112
  "'return'",
112
113
  "'def'", "'import'",
113
- "'if'", "'!'",
114
- "'=='", "'!='",
115
- "'+'", "'-'",
116
- "'/'", "'*'",
117
- "'('", "')'"];
114
+ "'join'", "'if'",
115
+ "'!'", "'=='",
116
+ "'!='", "'+'",
117
+ "'-'", "'/'",
118
+ "'*'", "'('",
119
+ "')'"];
118
120
  static symbolicNames = [null, null,
119
121
  null, null,
120
122
  null, null,
@@ -127,9 +129,9 @@ export default class CircuitScriptParser extends Parser {
127
129
  "Add", "At",
128
130
  "To", "Point",
129
131
  "Return", "Define",
130
- "Import", "If",
131
- "Not", "Equals",
132
- "NotEquals",
132
+ "Import", "Join",
133
+ "If", "Not",
134
+ "Equals", "NotEquals",
133
135
  "Addition",
134
136
  "Minus", "Divide",
135
137
  "Multiply",
@@ -199,15 +201,16 @@ export default class CircuitScriptParser extends Parser {
199
201
  case 19:
200
202
  case 21:
201
203
  case 22:
202
- case 27:
203
- case 29:
204
- case 35:
204
+ case 23:
205
+ case 28:
206
+ case 30:
207
+ case 36:
205
208
  {
206
209
  this.state = 98;
207
210
  this.expression();
208
211
  }
209
212
  break;
210
- case 43:
213
+ case 44:
211
214
  {
212
215
  this.state = 99;
213
216
  this.match(CircuitScriptParser.NEWLINE);
@@ -220,7 +223,7 @@ export default class CircuitScriptParser extends Parser {
220
223
  this.state = 102;
221
224
  this._errHandler.sync(this);
222
225
  _la = this._input.LA(1);
223
- } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 678381328) !== 0) || _la === 35 || _la === 43);
226
+ } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 1357858576) !== 0) || _la === 36 || _la === 44);
224
227
  this.state = 104;
225
228
  this.match(CircuitScriptParser.EOF);
226
229
  }
@@ -428,7 +431,14 @@ export default class CircuitScriptParser extends Parser {
428
431
  this.enterOuterAlt(localctx, 1);
429
432
  {
430
433
  this.state = 129;
431
- this.match(CircuitScriptParser.Branch);
434
+ _la = this._input.LA(1);
435
+ if (!(_la === 10 || _la === 23)) {
436
+ this._errHandler.recoverInline(this);
437
+ }
438
+ else {
439
+ this._errHandler.reportMatch(this);
440
+ this.consume();
441
+ }
432
442
  this.state = 130;
433
443
  this.match(CircuitScriptParser.T__0);
434
444
  this.state = 131;
@@ -443,7 +453,7 @@ export default class CircuitScriptParser extends Parser {
443
453
  this.state = 135;
444
454
  this._errHandler.sync(this);
445
455
  switch (this._input.LA(1)) {
446
- case 43:
456
+ case 44:
447
457
  {
448
458
  this.state = 133;
449
459
  this.match(CircuitScriptParser.NEWLINE);
@@ -460,9 +470,10 @@ export default class CircuitScriptParser extends Parser {
460
470
  case 19:
461
471
  case 21:
462
472
  case 22:
463
- case 27:
464
- case 29:
465
- case 35:
473
+ case 23:
474
+ case 28:
475
+ case 30:
476
+ case 36:
466
477
  {
467
478
  this.state = 134;
468
479
  this.expression();
@@ -475,7 +486,7 @@ export default class CircuitScriptParser extends Parser {
475
486
  this.state = 137;
476
487
  this._errHandler.sync(this);
477
488
  _la = this._input.LA(1);
478
- } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 678381328) !== 0) || _la === 35 || _la === 43);
489
+ } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 1357858576) !== 0) || _la === 36 || _la === 44);
479
490
  this.state = 139;
480
491
  this.match(CircuitScriptParser.DEDENT);
481
492
  }
@@ -518,14 +529,14 @@ export default class CircuitScriptParser extends Parser {
518
529
  this.state = 147;
519
530
  this._errHandler.sync(this);
520
531
  switch (this._input.LA(1)) {
521
- case 43:
532
+ case 44:
522
533
  {
523
534
  this.state = 145;
524
535
  this.match(CircuitScriptParser.NEWLINE);
525
536
  }
526
537
  break;
527
- case 35:
528
538
  case 36:
539
+ case 37:
529
540
  {
530
541
  this.state = 146;
531
542
  this.assignment_expr2();
@@ -538,7 +549,7 @@ export default class CircuitScriptParser extends Parser {
538
549
  this.state = 149;
539
550
  this._errHandler.sync(this);
540
551
  _la = this._input.LA(1);
541
- } while (((((_la - 35)) & ~0x1F) === 0 && ((1 << (_la - 35)) & 259) !== 0));
552
+ } while (((((_la - 36)) & ~0x1F) === 0 && ((1 << (_la - 36)) & 259) !== 0));
542
553
  this.state = 151;
543
554
  this.match(CircuitScriptParser.DEDENT);
544
555
  }
@@ -567,7 +578,7 @@ export default class CircuitScriptParser extends Parser {
567
578
  {
568
579
  this.state = 153;
569
580
  _la = this._input.LA(1);
570
- if (!(_la === 35 || _la === 36)) {
581
+ if (!(_la === 36 || _la === 37)) {
571
582
  this._errHandler.recoverInline(this);
572
583
  }
573
584
  else {
@@ -690,18 +701,18 @@ export default class CircuitScriptParser extends Parser {
690
701
  switch (this._input.LA(1)) {
691
702
  case 6:
692
703
  case 11:
693
- case 24:
694
- case 27:
704
+ case 25:
695
705
  case 28:
696
706
  case 29:
697
- case 31:
698
- case 34:
707
+ case 30:
708
+ case 32:
699
709
  case 35:
700
710
  case 36:
701
711
  case 37:
702
712
  case 38:
703
713
  case 39:
704
714
  case 40:
715
+ case 41:
705
716
  this.enterOuterAlt(localctx, 1);
706
717
  {
707
718
  this.state = 169;
@@ -745,7 +756,7 @@ export default class CircuitScriptParser extends Parser {
745
756
  this.match(CircuitScriptParser.Pin);
746
757
  this.state = 174;
747
758
  _la = this._input.LA(1);
748
- if (!(_la === 36 || _la === 39)) {
759
+ if (!(_la === 37 || _la === 40)) {
749
760
  this._errHandler.recoverInline(this);
750
761
  }
751
762
  else {
@@ -778,7 +789,7 @@ export default class CircuitScriptParser extends Parser {
778
789
  {
779
790
  this.state = 176;
780
791
  _la = this._input.LA(1);
781
- if (!(_la === 36 || _la === 39)) {
792
+ if (!(_la === 37 || _la === 40)) {
782
793
  this._errHandler.recoverInline(this);
783
794
  }
784
795
  else {
@@ -938,14 +949,14 @@ export default class CircuitScriptParser extends Parser {
938
949
  this.state = 211;
939
950
  this._errHandler.sync(this);
940
951
  switch (this._input.LA(1)) {
941
- case 43:
952
+ case 44:
942
953
  {
943
954
  this.state = 209;
944
955
  this.match(CircuitScriptParser.NEWLINE);
945
956
  }
946
957
  break;
947
- case 36:
948
- case 39:
958
+ case 37:
959
+ case 40:
949
960
  {
950
961
  this.state = 210;
951
962
  this.at_to_multiple_line_expr();
@@ -958,7 +969,7 @@ export default class CircuitScriptParser extends Parser {
958
969
  this.state = 213;
959
970
  this._errHandler.sync(this);
960
971
  _la = this._input.LA(1);
961
- } while (((((_la - 36)) & ~0x1F) === 0 && ((1 << (_la - 36)) & 137) !== 0));
972
+ } while (((((_la - 37)) & ~0x1F) === 0 && ((1 << (_la - 37)) & 137) !== 0));
962
973
  this.state = 215;
963
974
  this.match(CircuitScriptParser.DEDENT);
964
975
  }
@@ -1033,7 +1044,7 @@ export default class CircuitScriptParser extends Parser {
1033
1044
  {
1034
1045
  this.state = 227;
1035
1046
  _la = this._input.LA(1);
1036
- if (!(_la === 33 || _la === 36)) {
1047
+ if (!(_la === 34 || _la === 37)) {
1037
1048
  this._errHandler.recoverInline(this);
1038
1049
  }
1039
1050
  else {
@@ -1080,7 +1091,7 @@ export default class CircuitScriptParser extends Parser {
1080
1091
  this.state = 235;
1081
1092
  this._errHandler.sync(this);
1082
1093
  switch (this._input.LA(1)) {
1083
- case 43:
1094
+ case 44:
1084
1095
  {
1085
1096
  this.state = 233;
1086
1097
  this.match(CircuitScriptParser.NEWLINE);
@@ -1097,11 +1108,12 @@ export default class CircuitScriptParser extends Parser {
1097
1108
  case 19:
1098
1109
  case 21:
1099
1110
  case 22:
1100
- case 27:
1101
- case 29:
1102
- case 35:
1111
+ case 23:
1112
+ case 28:
1113
+ case 30:
1103
1114
  case 36:
1104
- case 39:
1115
+ case 37:
1116
+ case 40:
1105
1117
  {
1106
1118
  this.state = 234;
1107
1119
  this.at_block_expressions();
@@ -1114,7 +1126,7 @@ export default class CircuitScriptParser extends Parser {
1114
1126
  this.state = 237;
1115
1127
  this._errHandler.sync(this);
1116
1128
  _la = this._input.LA(1);
1117
- } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 678381328) !== 0) || ((((_la - 35)) & ~0x1F) === 0 && ((1 << (_la - 35)) & 275) !== 0));
1129
+ } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 1357858576) !== 0) || ((((_la - 36)) & ~0x1F) === 0 && ((1 << (_la - 36)) & 275) !== 0));
1118
1130
  this.state = 239;
1119
1131
  this.match(CircuitScriptParser.DEDENT);
1120
1132
  }
@@ -1152,17 +1164,18 @@ export default class CircuitScriptParser extends Parser {
1152
1164
  case 19:
1153
1165
  case 21:
1154
1166
  case 22:
1155
- case 27:
1156
- case 29:
1157
- case 35:
1167
+ case 23:
1168
+ case 28:
1169
+ case 30:
1170
+ case 36:
1158
1171
  this.enterOuterAlt(localctx, 1);
1159
1172
  {
1160
1173
  this.state = 241;
1161
1174
  this.expression();
1162
1175
  }
1163
1176
  break;
1164
- case 36:
1165
- case 39:
1177
+ case 37:
1178
+ case 40:
1166
1179
  this.enterOuterAlt(localctx, 2);
1167
1180
  {
1168
1181
  this.state = 242;
@@ -1212,16 +1225,17 @@ export default class CircuitScriptParser extends Parser {
1212
1225
  case 19:
1213
1226
  case 21:
1214
1227
  case 22:
1215
- case 27:
1216
- case 29:
1217
- case 33:
1218
- case 35:
1228
+ case 23:
1229
+ case 28:
1230
+ case 30:
1231
+ case 34:
1232
+ case 36:
1219
1233
  {
1220
1234
  this.state = 247;
1221
1235
  this.at_block_pin_expression_simple();
1222
1236
  }
1223
1237
  break;
1224
- case 43:
1238
+ case 44:
1225
1239
  {
1226
1240
  this.state = 248;
1227
1241
  this.at_block_pin_expression_complex();
@@ -1267,15 +1281,16 @@ export default class CircuitScriptParser extends Parser {
1267
1281
  case 19:
1268
1282
  case 21:
1269
1283
  case 22:
1270
- case 27:
1271
- case 29:
1272
- case 35:
1284
+ case 23:
1285
+ case 28:
1286
+ case 30:
1287
+ case 36:
1273
1288
  {
1274
1289
  this.state = 251;
1275
1290
  this.expression();
1276
1291
  }
1277
1292
  break;
1278
- case 33:
1293
+ case 34:
1279
1294
  {
1280
1295
  this.state = 252;
1281
1296
  this.match(CircuitScriptParser.NOT_CONNECTED);
@@ -1320,7 +1335,7 @@ export default class CircuitScriptParser extends Parser {
1320
1335
  this.state = 259;
1321
1336
  this._errHandler.sync(this);
1322
1337
  switch (this._input.LA(1)) {
1323
- case 43:
1338
+ case 44:
1324
1339
  {
1325
1340
  this.state = 257;
1326
1341
  this.match(CircuitScriptParser.NEWLINE);
@@ -1337,9 +1352,10 @@ export default class CircuitScriptParser extends Parser {
1337
1352
  case 19:
1338
1353
  case 21:
1339
1354
  case 22:
1340
- case 27:
1341
- case 29:
1342
- case 35:
1355
+ case 23:
1356
+ case 28:
1357
+ case 30:
1358
+ case 36:
1343
1359
  {
1344
1360
  this.state = 258;
1345
1361
  this.expression();
@@ -1352,7 +1368,7 @@ export default class CircuitScriptParser extends Parser {
1352
1368
  this.state = 261;
1353
1369
  this._errHandler.sync(this);
1354
1370
  _la = this._input.LA(1);
1355
- } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 678381328) !== 0) || _la === 35 || _la === 43);
1371
+ } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 1357858576) !== 0) || _la === 36 || _la === 44);
1356
1372
  this.state = 263;
1357
1373
  this.match(CircuitScriptParser.DEDENT);
1358
1374
  }
@@ -1647,21 +1663,21 @@ export default class CircuitScriptParser extends Parser {
1647
1663
  this._errHandler.sync(this);
1648
1664
  switch (this._input.LA(1)) {
1649
1665
  case 6:
1650
- case 28:
1651
- case 34:
1652
- case 36:
1666
+ case 29:
1667
+ case 35:
1653
1668
  case 37:
1654
1669
  case 38:
1655
1670
  case 39:
1656
1671
  case 40:
1672
+ case 41:
1657
1673
  {
1658
1674
  this.state = 313;
1659
1675
  this.value_expr();
1660
1676
  }
1661
1677
  break;
1662
- case 27:
1663
- case 29:
1664
- case 35:
1678
+ case 28:
1679
+ case 30:
1680
+ case 36:
1665
1681
  {
1666
1682
  this.state = 314;
1667
1683
  this.atom_expr();
@@ -1729,7 +1745,7 @@ export default class CircuitScriptParser extends Parser {
1729
1745
  }
1730
1746
  this.state = 326;
1731
1747
  _la = this._input.LA(1);
1732
- if (!(_la === 29 || _la === 30)) {
1748
+ if (!(_la === 30 || _la === 31)) {
1733
1749
  this._errHandler.recoverInline(this);
1734
1750
  }
1735
1751
  else {
@@ -1750,7 +1766,7 @@ export default class CircuitScriptParser extends Parser {
1750
1766
  }
1751
1767
  this.state = 329;
1752
1768
  _la = this._input.LA(1);
1753
- if (!(_la === 27 || _la === 28)) {
1769
+ if (!(_la === 28 || _la === 29)) {
1754
1770
  this._errHandler.recoverInline(this);
1755
1771
  }
1756
1772
  else {
@@ -1808,7 +1824,7 @@ export default class CircuitScriptParser extends Parser {
1808
1824
  {
1809
1825
  this.state = 340;
1810
1826
  _la = this._input.LA(1);
1811
- if (!(_la === 25 || _la === 26)) {
1827
+ if (!(_la === 26 || _la === 27)) {
1812
1828
  this._errHandler.recoverInline(this);
1813
1829
  }
1814
1830
  else {
@@ -1841,7 +1857,7 @@ export default class CircuitScriptParser extends Parser {
1841
1857
  {
1842
1858
  this.state = 342;
1843
1859
  _la = this._input.LA(1);
1844
- if (!(_la === 24 || _la === 28)) {
1860
+ if (!(_la === 25 || _la === 29)) {
1845
1861
  this._errHandler.recoverInline(this);
1846
1862
  }
1847
1863
  else {
@@ -1873,20 +1889,20 @@ export default class CircuitScriptParser extends Parser {
1873
1889
  this.state = 349;
1874
1890
  this._errHandler.sync(this);
1875
1891
  switch (this._input.LA(1)) {
1876
- case 28:
1877
- case 34:
1878
- case 36:
1892
+ case 29:
1893
+ case 35:
1879
1894
  case 37:
1880
1895
  case 38:
1881
1896
  case 39:
1882
1897
  case 40:
1898
+ case 41:
1883
1899
  this.enterOuterAlt(localctx, 1);
1884
1900
  {
1885
1901
  {
1886
1902
  this.state = 345;
1887
1903
  this._errHandler.sync(this);
1888
1904
  _la = this._input.LA(1);
1889
- if (_la === 28) {
1905
+ if (_la === 29) {
1890
1906
  {
1891
1907
  this.state = 344;
1892
1908
  this.match(CircuitScriptParser.Minus);
@@ -1894,7 +1910,7 @@ export default class CircuitScriptParser extends Parser {
1894
1910
  }
1895
1911
  this.state = 347;
1896
1912
  _la = this._input.LA(1);
1897
- if (!(((((_la - 34)) & ~0x1F) === 0 && ((1 << (_la - 34)) & 125) !== 0))) {
1913
+ if (!(((((_la - 35)) & ~0x1F) === 0 && ((1 << (_la - 35)) & 125) !== 0))) {
1898
1914
  this._errHandler.recoverInline(this);
1899
1915
  }
1900
1916
  else {
@@ -1946,7 +1962,7 @@ export default class CircuitScriptParser extends Parser {
1946
1962
  this.state = 355;
1947
1963
  this._errHandler.sync(this);
1948
1964
  _la = this._input.LA(1);
1949
- if (_la === 35) {
1965
+ if (_la === 36) {
1950
1966
  {
1951
1967
  this.state = 354;
1952
1968
  this.function_args_expr();
@@ -1968,7 +1984,7 @@ export default class CircuitScriptParser extends Parser {
1968
1984
  this.state = 363;
1969
1985
  this._errHandler.sync(this);
1970
1986
  switch (this._input.LA(1)) {
1971
- case 43:
1987
+ case 44:
1972
1988
  {
1973
1989
  this.state = 361;
1974
1990
  this.match(CircuitScriptParser.NEWLINE);
@@ -1986,9 +2002,10 @@ export default class CircuitScriptParser extends Parser {
1986
2002
  case 20:
1987
2003
  case 21:
1988
2004
  case 22:
1989
- case 27:
1990
- case 29:
1991
- case 35:
2005
+ case 23:
2006
+ case 28:
2007
+ case 30:
2008
+ case 36:
1992
2009
  {
1993
2010
  this.state = 362;
1994
2011
  this.function_expr();
@@ -2001,7 +2018,7 @@ export default class CircuitScriptParser extends Parser {
2001
2018
  this.state = 365;
2002
2019
  this._errHandler.sync(this);
2003
2020
  _la = this._input.LA(1);
2004
- } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 679429904) !== 0) || _la === 35 || _la === 43);
2021
+ } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 1358907152) !== 0) || _la === 36 || _la === 44);
2005
2022
  this.state = 367;
2006
2023
  this.match(CircuitScriptParser.DEDENT);
2007
2024
  }
@@ -2039,9 +2056,10 @@ export default class CircuitScriptParser extends Parser {
2039
2056
  case 19:
2040
2057
  case 21:
2041
2058
  case 22:
2042
- case 27:
2043
- case 29:
2044
- case 35:
2059
+ case 23:
2060
+ case 28:
2061
+ case 30:
2062
+ case 36:
2045
2063
  this.enterOuterAlt(localctx, 1);
2046
2064
  {
2047
2065
  this.state = 369;
@@ -2187,7 +2205,7 @@ export default class CircuitScriptParser extends Parser {
2187
2205
  this.state = 405;
2188
2206
  this._errHandler.sync(this);
2189
2207
  _la = this._input.LA(1);
2190
- if (_la === 27 || _la === 29) {
2208
+ if (_la === 28 || _la === 30) {
2191
2209
  {
2192
2210
  this.state = 404;
2193
2211
  this.net_namespace_expr();
@@ -2236,7 +2254,7 @@ export default class CircuitScriptParser extends Parser {
2236
2254
  this.state = 421;
2237
2255
  this._errHandler.sync(this);
2238
2256
  switch (this._input.LA(1)) {
2239
- case 31:
2257
+ case 32:
2240
2258
  this.enterOuterAlt(localctx, 1);
2241
2259
  {
2242
2260
  this.state = 414;
@@ -2244,7 +2262,7 @@ export default class CircuitScriptParser extends Parser {
2244
2262
  this.state = 416;
2245
2263
  this._errHandler.sync(this);
2246
2264
  _la = this._input.LA(1);
2247
- if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 3103787072) !== 0) || ((((_la - 34)) & ~0x1F) === 0 && ((1 << (_la - 34)) & 127) !== 0)) {
2265
+ if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 1912604736) !== 0) || ((((_la - 32)) & ~0x1F) === 0 && ((1 << (_la - 32)) & 1017) !== 0)) {
2248
2266
  {
2249
2267
  this.state = 415;
2250
2268
  this.parameters();
@@ -2292,7 +2310,7 @@ export default class CircuitScriptParser extends Parser {
2292
2310
  this.state = 424;
2293
2311
  this._errHandler.sync(this);
2294
2312
  _la = this._input.LA(1);
2295
- if (_la === 27) {
2313
+ if (_la === 28) {
2296
2314
  {
2297
2315
  this.state = 423;
2298
2316
  this.match(CircuitScriptParser.Addition);
@@ -2379,15 +2397,15 @@ export default class CircuitScriptParser extends Parser {
2379
2397
  this.state = 440;
2380
2398
  this._errHandler.sync(this);
2381
2399
  switch (this._input.LA(1)) {
2382
- case 43:
2400
+ case 44:
2383
2401
  {
2384
2402
  this.state = 438;
2385
2403
  this.match(CircuitScriptParser.NEWLINE);
2386
2404
  }
2387
2405
  break;
2388
- case 35:
2389
2406
  case 36:
2390
- case 39:
2407
+ case 37:
2408
+ case 40:
2391
2409
  {
2392
2410
  this.state = 439;
2393
2411
  this.property_expr();
@@ -2400,7 +2418,7 @@ export default class CircuitScriptParser extends Parser {
2400
2418
  this.state = 442;
2401
2419
  this._errHandler.sync(this);
2402
2420
  _la = this._input.LA(1);
2403
- } while (((((_la - 35)) & ~0x1F) === 0 && ((1 << (_la - 35)) & 275) !== 0));
2421
+ } while (((((_la - 36)) & ~0x1F) === 0 && ((1 << (_la - 36)) & 275) !== 0));
2404
2422
  this.state = 444;
2405
2423
  this.match(CircuitScriptParser.DEDENT);
2406
2424
  }
@@ -2445,14 +2463,14 @@ export default class CircuitScriptParser extends Parser {
2445
2463
  this.state = 453;
2446
2464
  this._errHandler.sync(this);
2447
2465
  switch (this._input.LA(1)) {
2448
- case 43:
2466
+ case 44:
2449
2467
  {
2450
2468
  this.state = 451;
2451
2469
  this.match(CircuitScriptParser.NEWLINE);
2452
2470
  }
2453
2471
  break;
2454
2472
  case 15:
2455
- case 35:
2473
+ case 36:
2456
2474
  {
2457
2475
  this.state = 452;
2458
2476
  this.sub_expr();
@@ -2465,7 +2483,7 @@ export default class CircuitScriptParser extends Parser {
2465
2483
  this.state = 455;
2466
2484
  this._errHandler.sync(this);
2467
2485
  _la = this._input.LA(1);
2468
- } while (((((_la - 15)) & ~0x1F) === 0 && ((1 << (_la - 15)) & 269484033) !== 0));
2486
+ } while (((((_la - 15)) & ~0x1F) === 0 && ((1 << (_la - 15)) & 538968065) !== 0));
2469
2487
  this.state = 457;
2470
2488
  this.match(CircuitScriptParser.DEDENT);
2471
2489
  }
@@ -2494,7 +2512,7 @@ export default class CircuitScriptParser extends Parser {
2494
2512
  {
2495
2513
  this.state = 459;
2496
2514
  _la = this._input.LA(1);
2497
- if (!(_la === 15 || _la === 35)) {
2515
+ if (!(_la === 15 || _la === 36)) {
2498
2516
  this._errHandler.recoverInline(this);
2499
2517
  }
2500
2518
  else {
@@ -2578,7 +2596,7 @@ export default class CircuitScriptParser extends Parser {
2578
2596
  {
2579
2597
  this.state = 472;
2580
2598
  _la = this._input.LA(1);
2581
- if (!(((((_la - 35)) & ~0x1F) === 0 && ((1 << (_la - 35)) & 19) !== 0))) {
2599
+ if (!(((((_la - 36)) & ~0x1F) === 0 && ((1 << (_la - 36)) & 19) !== 0))) {
2582
2600
  this._errHandler.recoverInline(this);
2583
2601
  }
2584
2602
  else {
@@ -2610,7 +2628,7 @@ export default class CircuitScriptParser extends Parser {
2610
2628
  this.state = 491;
2611
2629
  this._errHandler.sync(this);
2612
2630
  switch (this._input.LA(1)) {
2613
- case 43:
2631
+ case 44:
2614
2632
  localctx = new Nested_propertiesContext(this, localctx);
2615
2633
  this.enterOuterAlt(localctx, 1);
2616
2634
  {
@@ -2626,15 +2644,15 @@ export default class CircuitScriptParser extends Parser {
2626
2644
  this.state = 478;
2627
2645
  this._errHandler.sync(this);
2628
2646
  switch (this._input.LA(1)) {
2629
- case 43:
2647
+ case 44:
2630
2648
  {
2631
2649
  this.state = 476;
2632
2650
  this.match(CircuitScriptParser.NEWLINE);
2633
2651
  }
2634
2652
  break;
2635
- case 35:
2636
2653
  case 36:
2637
- case 39:
2654
+ case 37:
2655
+ case 40:
2638
2656
  {
2639
2657
  this.state = 477;
2640
2658
  this.property_expr();
@@ -2647,25 +2665,25 @@ export default class CircuitScriptParser extends Parser {
2647
2665
  this.state = 480;
2648
2666
  this._errHandler.sync(this);
2649
2667
  _la = this._input.LA(1);
2650
- } while (((((_la - 35)) & ~0x1F) === 0 && ((1 << (_la - 35)) & 275) !== 0));
2668
+ } while (((((_la - 36)) & ~0x1F) === 0 && ((1 << (_la - 36)) & 275) !== 0));
2651
2669
  this.state = 482;
2652
2670
  this.match(CircuitScriptParser.DEDENT);
2653
2671
  }
2654
2672
  break;
2655
2673
  case 6:
2656
2674
  case 11:
2657
- case 24:
2658
- case 27:
2675
+ case 25:
2659
2676
  case 28:
2660
2677
  case 29:
2661
- case 31:
2662
- case 34:
2678
+ case 30:
2679
+ case 32:
2663
2680
  case 35:
2664
2681
  case 36:
2665
2682
  case 37:
2666
2683
  case 38:
2667
2684
  case 39:
2668
2685
  case 40:
2686
+ case 41:
2669
2687
  localctx = new Single_line_propertyContext(this, localctx);
2670
2688
  this.enterOuterAlt(localctx, 2);
2671
2689
  {
@@ -2758,7 +2776,7 @@ export default class CircuitScriptParser extends Parser {
2758
2776
  {
2759
2777
  this.state = 499;
2760
2778
  _la = this._input.LA(1);
2761
- if (!(_la === 35 || _la === 36)) {
2779
+ if (!(_la === 36 || _la === 37)) {
2762
2780
  this._errHandler.recoverInline(this);
2763
2781
  }
2764
2782
  else {
@@ -2866,7 +2884,7 @@ export default class CircuitScriptParser extends Parser {
2866
2884
  this.state = 517;
2867
2885
  this._errHandler.sync(this);
2868
2886
  switch (this._input.LA(1)) {
2869
- case 43:
2887
+ case 44:
2870
2888
  {
2871
2889
  this.state = 515;
2872
2890
  this.match(CircuitScriptParser.NEWLINE);
@@ -2883,9 +2901,10 @@ export default class CircuitScriptParser extends Parser {
2883
2901
  case 19:
2884
2902
  case 21:
2885
2903
  case 22:
2886
- case 27:
2887
- case 29:
2888
- case 35:
2904
+ case 23:
2905
+ case 28:
2906
+ case 30:
2907
+ case 36:
2889
2908
  {
2890
2909
  this.state = 516;
2891
2910
  this.expression();
@@ -2898,7 +2917,7 @@ export default class CircuitScriptParser extends Parser {
2898
2917
  this.state = 519;
2899
2918
  this._errHandler.sync(this);
2900
2919
  _la = this._input.LA(1);
2901
- } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 678381328) !== 0) || _la === 35 || _la === 43);
2920
+ } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 1357858576) !== 0) || _la === 36 || _la === 44);
2902
2921
  this.state = 521;
2903
2922
  this.match(CircuitScriptParser.DEDENT);
2904
2923
  }
@@ -2936,7 +2955,7 @@ export default class CircuitScriptParser extends Parser {
2936
2955
  }
2937
2956
  return true;
2938
2957
  }
2939
- static _serializedATN = [4, 1, 46, 524, 2, 0, 7, 0, 2,
2958
+ static _serializedATN = [4, 1, 47, 524, 2, 0, 7, 0, 2,
2940
2959
  1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2,
2941
2960
  10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17,
2942
2961
  7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7,
@@ -2978,138 +2997,138 @@ export default class CircuitScriptParser extends Parser {
2978
2997
  45, 10, 45, 12, 45, 504, 9, 45, 1, 46, 1, 46, 1, 46, 1, 47, 1, 47, 1, 47, 1, 48, 1, 48, 1, 48, 1,
2979
2998
  48, 1, 48, 1, 48, 4, 48, 518, 8, 48, 11, 48, 12, 48, 519, 1, 48, 1, 48, 1, 48, 0, 1, 54, 49, 0, 2,
2980
2999
  4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52,
2981
- 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 0, 10,
2982
- 1, 0, 35, 36, 2, 0, 36, 36, 39, 39, 2, 0, 33, 33, 36, 36, 1, 0, 29, 30, 1, 0, 27, 28, 1, 0, 25, 26,
2983
- 2, 0, 24, 24, 28, 28, 2, 0, 34, 34, 36, 40, 2, 0, 15, 15, 35, 35, 2, 0, 35, 36, 39, 39, 554, 0, 100,
2984
- 1, 0, 0, 0, 2, 122, 1, 0, 0, 0, 4, 125, 1, 0, 0, 0, 6, 129, 1, 0, 0, 0, 8, 141, 1, 0, 0, 0, 10, 153,
2985
- 1, 0, 0, 0, 12, 159, 1, 0, 0, 0, 14, 164, 1, 0, 0, 0, 16, 171, 1, 0, 0, 0, 18, 173, 1, 0, 0, 0, 20,
2986
- 176, 1, 0, 0, 0, 22, 178, 1, 0, 0, 0, 24, 183, 1, 0, 0, 0, 26, 195, 1, 0, 0, 0, 28, 217, 1, 0, 0, 0,
2987
- 30, 227, 1, 0, 0, 0, 32, 229, 1, 0, 0, 0, 34, 243, 1, 0, 0, 0, 36, 245, 1, 0, 0, 0, 38, 253, 1, 0,
2988
- 0, 0, 40, 255, 1, 0, 0, 0, 42, 265, 1, 0, 0, 0, 44, 267, 1, 0, 0, 0, 46, 271, 1, 0, 0, 0, 48, 298,
2989
- 1, 0, 0, 0, 50, 300, 1, 0, 0, 0, 52, 304, 1, 0, 0, 0, 54, 323, 1, 0, 0, 0, 56, 340, 1, 0, 0, 0, 58,
2990
- 342, 1, 0, 0, 0, 60, 349, 1, 0, 0, 0, 62, 351, 1, 0, 0, 0, 64, 371, 1, 0, 0, 0, 66, 402, 1, 0, 0, 0,
2991
- 68, 405, 1, 0, 0, 0, 70, 421, 1, 0, 0, 0, 72, 424, 1, 0, 0, 0, 74, 430, 1, 0, 0, 0, 76, 433, 1, 0,
2992
- 0, 0, 78, 446, 1, 0, 0, 0, 80, 459, 1, 0, 0, 0, 82, 468, 1, 0, 0, 0, 84, 472, 1, 0, 0, 0, 86, 491,
2993
- 1, 0, 0, 0, 88, 493, 1, 0, 0, 0, 90, 497, 1, 0, 0, 0, 92, 505, 1, 0, 0, 0, 94, 508, 1, 0, 0, 0, 96,
2994
- 511, 1, 0, 0, 0, 98, 101, 3, 2, 1, 0, 99, 101, 5, 43, 0, 0, 100, 98, 1, 0, 0, 0, 100, 99, 1, 0, 0,
2995
- 0, 101, 102, 1, 0, 0, 0, 102, 100, 1, 0, 0, 0, 102, 103, 1, 0, 0, 0, 103, 104, 1, 0, 0, 0, 104, 105,
2996
- 5, 0, 0, 1, 105, 1, 1, 0, 0, 0, 106, 123, 3, 14, 7, 0, 107, 123, 3, 24, 12, 0, 108, 123, 3, 22, 11,
2997
- 0, 109, 123, 3, 44, 22, 0, 110, 123, 3, 50, 25, 0, 111, 123, 3, 8, 4, 0, 112, 123, 3, 52, 26, 0,
2998
- 113, 123, 3, 42, 21, 0, 114, 123, 3, 62, 31, 0, 115, 123, 3, 90, 45, 0, 116, 123, 3, 92, 46, 0,
2999
- 117, 123, 3, 94, 47, 0, 118, 123, 3, 96, 48, 0, 119, 123, 3, 68, 34, 0, 120, 123, 3, 32, 16, 0,
3000
- 121, 123, 3, 4, 2, 0, 122, 106, 1, 0, 0, 0, 122, 107, 1, 0, 0, 0, 122, 108, 1, 0, 0, 0, 122, 109,
3001
- 1, 0, 0, 0, 122, 110, 1, 0, 0, 0, 122, 111, 1, 0, 0, 0, 122, 112, 1, 0, 0, 0, 122, 113, 1, 0, 0, 0,
3002
- 122, 114, 1, 0, 0, 0, 122, 115, 1, 0, 0, 0, 122, 116, 1, 0, 0, 0, 122, 117, 1, 0, 0, 0, 122, 118,
3003
- 1, 0, 0, 0, 122, 119, 1, 0, 0, 0, 122, 120, 1, 0, 0, 0, 122, 121, 1, 0, 0, 0, 123, 3, 1, 0, 0, 0, 124,
3004
- 126, 3, 6, 3, 0, 125, 124, 1, 0, 0, 0, 126, 127, 1, 0, 0, 0, 127, 125, 1, 0, 0, 0, 127, 128, 1, 0,
3005
- 0, 0, 128, 5, 1, 0, 0, 0, 129, 130, 5, 10, 0, 0, 130, 131, 5, 1, 0, 0, 131, 132, 5, 43, 0, 0, 132,
3006
- 135, 5, 45, 0, 0, 133, 136, 5, 43, 0, 0, 134, 136, 3, 2, 1, 0, 135, 133, 1, 0, 0, 0, 135, 134, 1,
3007
- 0, 0, 0, 136, 137, 1, 0, 0, 0, 137, 135, 1, 0, 0, 0, 137, 138, 1, 0, 0, 0, 138, 139, 1, 0, 0, 0, 139,
3008
- 140, 5, 46, 0, 0, 140, 7, 1, 0, 0, 0, 141, 142, 3, 68, 34, 0, 142, 143, 5, 1, 0, 0, 143, 144, 5,
3009
- 43, 0, 0, 144, 147, 5, 45, 0, 0, 145, 148, 5, 43, 0, 0, 146, 148, 3, 10, 5, 0, 147, 145, 1, 0, 0,
3010
- 0, 147, 146, 1, 0, 0, 0, 148, 149, 1, 0, 0, 0, 149, 147, 1, 0, 0, 0, 149, 150, 1, 0, 0, 0, 150, 151,
3011
- 1, 0, 0, 0, 151, 152, 5, 46, 0, 0, 152, 9, 1, 0, 0, 0, 153, 154, 7, 0, 0, 0, 154, 155, 5, 1, 0, 0,
3012
- 155, 156, 3, 60, 30, 0, 156, 11, 1, 0, 0, 0, 157, 160, 3, 54, 27, 0, 158, 160, 3, 44, 22, 0, 159,
3013
- 157, 1, 0, 0, 0, 159, 158, 1, 0, 0, 0, 160, 162, 1, 0, 0, 0, 161, 163, 3, 18, 9, 0, 162, 161, 1,
3014
- 0, 0, 0, 162, 163, 1, 0, 0, 0, 163, 13, 1, 0, 0, 0, 164, 165, 5, 16, 0, 0, 165, 167, 3, 12, 6, 0,
3015
- 166, 168, 5, 35, 0, 0, 167, 166, 1, 0, 0, 0, 167, 168, 1, 0, 0, 0, 168, 15, 1, 0, 0, 0, 169, 172,
3016
- 3, 12, 6, 0, 170, 172, 3, 18, 9, 0, 171, 169, 1, 0, 0, 0, 171, 170, 1, 0, 0, 0, 172, 17, 1, 0, 0,
3017
- 0, 173, 174, 5, 15, 0, 0, 174, 175, 7, 1, 0, 0, 175, 19, 1, 0, 0, 0, 176, 177, 7, 1, 0, 0, 177, 21,
3018
- 1, 0, 0, 0, 178, 179, 5, 17, 0, 0, 179, 181, 3, 16, 8, 0, 180, 182, 5, 35, 0, 0, 181, 180, 1, 0,
3019
- 0, 0, 181, 182, 1, 0, 0, 0, 182, 23, 1, 0, 0, 0, 183, 184, 5, 18, 0, 0, 184, 189, 3, 16, 8, 0, 185,
3020
- 186, 5, 2, 0, 0, 186, 188, 3, 16, 8, 0, 187, 185, 1, 0, 0, 0, 188, 191, 1, 0, 0, 0, 189, 187, 1,
3021
- 0, 0, 0, 189, 190, 1, 0, 0, 0, 190, 193, 1, 0, 0, 0, 191, 189, 1, 0, 0, 0, 192, 194, 5, 35, 0, 0,
3022
- 193, 192, 1, 0, 0, 0, 193, 194, 1, 0, 0, 0, 194, 25, 1, 0, 0, 0, 195, 196, 5, 17, 0, 0, 196, 197,
3023
- 3, 16, 8, 0, 197, 198, 5, 18, 0, 0, 198, 203, 3, 16, 8, 0, 199, 200, 5, 2, 0, 0, 200, 202, 3, 16,
3024
- 8, 0, 201, 199, 1, 0, 0, 0, 202, 205, 1, 0, 0, 0, 203, 201, 1, 0, 0, 0, 203, 204, 1, 0, 0, 0, 204,
3025
- 206, 1, 0, 0, 0, 205, 203, 1, 0, 0, 0, 206, 207, 5, 1, 0, 0, 207, 208, 5, 43, 0, 0, 208, 211, 5,
3026
- 45, 0, 0, 209, 212, 5, 43, 0, 0, 210, 212, 3, 28, 14, 0, 211, 209, 1, 0, 0, 0, 211, 210, 1, 0, 0,
3027
- 0, 212, 213, 1, 0, 0, 0, 213, 211, 1, 0, 0, 0, 213, 214, 1, 0, 0, 0, 214, 215, 1, 0, 0, 0, 215, 216,
3028
- 5, 46, 0, 0, 216, 27, 1, 0, 0, 0, 217, 218, 3, 20, 10, 0, 218, 219, 5, 1, 0, 0, 219, 224, 3, 30,
3029
- 15, 0, 220, 221, 5, 2, 0, 0, 221, 223, 3, 30, 15, 0, 222, 220, 1, 0, 0, 0, 223, 226, 1, 0, 0, 0,
3030
- 224, 222, 1, 0, 0, 0, 224, 225, 1, 0, 0, 0, 225, 29, 1, 0, 0, 0, 226, 224, 1, 0, 0, 0, 227, 228,
3031
- 7, 2, 0, 0, 228, 31, 1, 0, 0, 0, 229, 230, 3, 22, 11, 0, 230, 231, 5, 1, 0, 0, 231, 232, 5, 43, 0,
3032
- 0, 232, 235, 5, 45, 0, 0, 233, 236, 5, 43, 0, 0, 234, 236, 3, 34, 17, 0, 235, 233, 1, 0, 0, 0, 235,
3033
- 234, 1, 0, 0, 0, 236, 237, 1, 0, 0, 0, 237, 235, 1, 0, 0, 0, 237, 238, 1, 0, 0, 0, 238, 239, 1, 0,
3034
- 0, 0, 239, 240, 5, 46, 0, 0, 240, 33, 1, 0, 0, 0, 241, 244, 3, 2, 1, 0, 242, 244, 3, 36, 18, 0, 243,
3035
- 241, 1, 0, 0, 0, 243, 242, 1, 0, 0, 0, 244, 35, 1, 0, 0, 0, 245, 246, 3, 20, 10, 0, 246, 249, 5,
3036
- 1, 0, 0, 247, 250, 3, 38, 19, 0, 248, 250, 3, 40, 20, 0, 249, 247, 1, 0, 0, 0, 249, 248, 1, 0, 0,
3037
- 0, 250, 37, 1, 0, 0, 0, 251, 254, 3, 2, 1, 0, 252, 254, 5, 33, 0, 0, 253, 251, 1, 0, 0, 0, 253, 252,
3038
- 1, 0, 0, 0, 254, 39, 1, 0, 0, 0, 255, 256, 5, 43, 0, 0, 256, 259, 5, 45, 0, 0, 257, 260, 5, 43, 0,
3039
- 0, 258, 260, 3, 2, 1, 0, 259, 257, 1, 0, 0, 0, 259, 258, 1, 0, 0, 0, 260, 261, 1, 0, 0, 0, 261, 259,
3040
- 1, 0, 0, 0, 261, 262, 1, 0, 0, 0, 262, 263, 1, 0, 0, 0, 263, 264, 5, 46, 0, 0, 264, 41, 1, 0, 0, 0,
3041
- 265, 266, 5, 9, 0, 0, 266, 43, 1, 0, 0, 0, 267, 268, 3, 68, 34, 0, 268, 269, 5, 3, 0, 0, 269, 270,
3042
- 3, 54, 27, 0, 270, 45, 1, 0, 0, 0, 271, 272, 5, 35, 0, 0, 272, 273, 5, 3, 0, 0, 273, 274, 3, 54,
3043
- 27, 0, 274, 47, 1, 0, 0, 0, 275, 280, 3, 54, 27, 0, 276, 277, 5, 2, 0, 0, 277, 279, 3, 54, 27, 0,
3044
- 278, 276, 1, 0, 0, 0, 279, 282, 1, 0, 0, 0, 280, 278, 1, 0, 0, 0, 280, 281, 1, 0, 0, 0, 281, 287,
3045
- 1, 0, 0, 0, 282, 280, 1, 0, 0, 0, 283, 284, 5, 2, 0, 0, 284, 286, 3, 46, 23, 0, 285, 283, 1, 0, 0,
3046
- 0, 286, 289, 1, 0, 0, 0, 287, 285, 1, 0, 0, 0, 287, 288, 1, 0, 0, 0, 288, 299, 1, 0, 0, 0, 289, 287,
3047
- 1, 0, 0, 0, 290, 295, 3, 46, 23, 0, 291, 292, 5, 2, 0, 0, 292, 294, 3, 46, 23, 0, 293, 291, 1, 0,
3048
- 0, 0, 294, 297, 1, 0, 0, 0, 295, 293, 1, 0, 0, 0, 295, 296, 1, 0, 0, 0, 296, 299, 1, 0, 0, 0, 297,
3049
- 295, 1, 0, 0, 0, 298, 275, 1, 0, 0, 0, 298, 290, 1, 0, 0, 0, 299, 49, 1, 0, 0, 0, 300, 301, 3, 68,
3050
- 34, 0, 301, 302, 5, 3, 0, 0, 302, 303, 3, 54, 27, 0, 303, 51, 1, 0, 0, 0, 304, 305, 5, 4, 0, 0, 305,
3051
- 306, 5, 35, 0, 0, 306, 307, 5, 3, 0, 0, 307, 308, 3, 54, 27, 0, 308, 53, 1, 0, 0, 0, 309, 311, 6,
3052
- 27, -1, 0, 310, 312, 3, 58, 29, 0, 311, 310, 1, 0, 0, 0, 311, 312, 1, 0, 0, 0, 312, 315, 1, 0, 0,
3053
- 0, 313, 316, 3, 60, 30, 0, 314, 316, 3, 68, 34, 0, 315, 313, 1, 0, 0, 0, 315, 314, 1, 0, 0, 0, 316,
3054
- 324, 1, 0, 0, 0, 317, 318, 5, 31, 0, 0, 318, 319, 3, 54, 27, 0, 319, 320, 5, 32, 0, 0, 320, 324,
3055
- 1, 0, 0, 0, 321, 324, 3, 76, 38, 0, 322, 324, 3, 78, 39, 0, 323, 309, 1, 0, 0, 0, 323, 317, 1, 0,
3056
- 0, 0, 323, 321, 1, 0, 0, 0, 323, 322, 1, 0, 0, 0, 324, 337, 1, 0, 0, 0, 325, 326, 10, 5, 0, 0, 326,
3057
- 327, 7, 3, 0, 0, 327, 336, 3, 54, 27, 6, 328, 329, 10, 4, 0, 0, 329, 330, 7, 4, 0, 0, 330, 336,
3058
- 3, 54, 27, 5, 331, 332, 10, 3, 0, 0, 332, 333, 3, 56, 28, 0, 333, 334, 3, 54, 27, 4, 334, 336,
3059
- 1, 0, 0, 0, 335, 325, 1, 0, 0, 0, 335, 328, 1, 0, 0, 0, 335, 331, 1, 0, 0, 0, 336, 339, 1, 0, 0, 0,
3060
- 337, 335, 1, 0, 0, 0, 337, 338, 1, 0, 0, 0, 338, 55, 1, 0, 0, 0, 339, 337, 1, 0, 0, 0, 340, 341,
3061
- 7, 5, 0, 0, 341, 57, 1, 0, 0, 0, 342, 343, 7, 6, 0, 0, 343, 59, 1, 0, 0, 0, 344, 346, 5, 28, 0, 0,
3062
- 345, 344, 1, 0, 0, 0, 345, 346, 1, 0, 0, 0, 346, 347, 1, 0, 0, 0, 347, 350, 7, 7, 0, 0, 348, 350,
3063
- 3, 88, 44, 0, 349, 345, 1, 0, 0, 0, 349, 348, 1, 0, 0, 0, 350, 61, 1, 0, 0, 0, 351, 352, 5, 21, 0,
3064
- 0, 352, 353, 5, 35, 0, 0, 353, 355, 5, 31, 0, 0, 354, 356, 3, 66, 33, 0, 355, 354, 1, 0, 0, 0, 355,
3065
- 356, 1, 0, 0, 0, 356, 357, 1, 0, 0, 0, 357, 358, 5, 32, 0, 0, 358, 359, 5, 1, 0, 0, 359, 360, 5,
3066
- 43, 0, 0, 360, 363, 5, 45, 0, 0, 361, 364, 5, 43, 0, 0, 362, 364, 3, 64, 32, 0, 363, 361, 1, 0,
3067
- 0, 0, 363, 362, 1, 0, 0, 0, 364, 365, 1, 0, 0, 0, 365, 363, 1, 0, 0, 0, 365, 366, 1, 0, 0, 0, 366,
3068
- 367, 1, 0, 0, 0, 367, 368, 5, 46, 0, 0, 368, 63, 1, 0, 0, 0, 369, 372, 3, 2, 1, 0, 370, 372, 3, 74,
3069
- 37, 0, 371, 369, 1, 0, 0, 0, 371, 370, 1, 0, 0, 0, 372, 65, 1, 0, 0, 0, 373, 378, 5, 35, 0, 0, 374,
3070
- 375, 5, 2, 0, 0, 375, 377, 5, 35, 0, 0, 376, 374, 1, 0, 0, 0, 377, 380, 1, 0, 0, 0, 378, 376, 1,
3071
- 0, 0, 0, 378, 379, 1, 0, 0, 0, 379, 387, 1, 0, 0, 0, 380, 378, 1, 0, 0, 0, 381, 382, 5, 2, 0, 0, 382,
3072
- 383, 5, 35, 0, 0, 383, 384, 5, 3, 0, 0, 384, 386, 3, 60, 30, 0, 385, 381, 1, 0, 0, 0, 386, 389,
3073
- 1, 0, 0, 0, 387, 385, 1, 0, 0, 0, 387, 388, 1, 0, 0, 0, 388, 403, 1, 0, 0, 0, 389, 387, 1, 0, 0, 0,
3074
- 390, 391, 5, 35, 0, 0, 391, 392, 5, 3, 0, 0, 392, 399, 3, 60, 30, 0, 393, 394, 5, 2, 0, 0, 394,
3075
- 395, 5, 35, 0, 0, 395, 396, 5, 3, 0, 0, 396, 398, 3, 60, 30, 0, 397, 393, 1, 0, 0, 0, 398, 401,
3076
- 1, 0, 0, 0, 399, 397, 1, 0, 0, 0, 399, 400, 1, 0, 0, 0, 400, 403, 1, 0, 0, 0, 401, 399, 1, 0, 0, 0,
3077
- 402, 373, 1, 0, 0, 0, 402, 390, 1, 0, 0, 0, 403, 67, 1, 0, 0, 0, 404, 406, 3, 72, 36, 0, 405, 404,
3078
- 1, 0, 0, 0, 405, 406, 1, 0, 0, 0, 406, 407, 1, 0, 0, 0, 407, 411, 5, 35, 0, 0, 408, 410, 3, 70, 35,
3079
- 0, 409, 408, 1, 0, 0, 0, 410, 413, 1, 0, 0, 0, 411, 409, 1, 0, 0, 0, 411, 412, 1, 0, 0, 0, 412, 69,
3080
- 1, 0, 0, 0, 413, 411, 1, 0, 0, 0, 414, 416, 5, 31, 0, 0, 415, 417, 3, 48, 24, 0, 416, 415, 1, 0,
3081
- 0, 0, 416, 417, 1, 0, 0, 0, 417, 418, 1, 0, 0, 0, 418, 422, 5, 32, 0, 0, 419, 420, 5, 5, 0, 0, 420,
3082
- 422, 5, 35, 0, 0, 421, 414, 1, 0, 0, 0, 421, 419, 1, 0, 0, 0, 422, 71, 1, 0, 0, 0, 423, 425, 5, 27,
3083
- 0, 0, 424, 423, 1, 0, 0, 0, 424, 425, 1, 0, 0, 0, 425, 426, 1, 0, 0, 0, 426, 428, 5, 29, 0, 0, 427,
3084
- 429, 3, 54, 27, 0, 428, 427, 1, 0, 0, 0, 428, 429, 1, 0, 0, 0, 429, 73, 1, 0, 0, 0, 430, 431, 5,
3085
- 20, 0, 0, 431, 432, 3, 54, 27, 0, 432, 75, 1, 0, 0, 0, 433, 434, 5, 11, 0, 0, 434, 435, 5, 12, 0,
3086
- 0, 435, 436, 5, 1, 0, 0, 436, 437, 5, 43, 0, 0, 437, 440, 5, 45, 0, 0, 438, 441, 5, 43, 0, 0, 439,
3087
- 441, 3, 82, 41, 0, 440, 438, 1, 0, 0, 0, 440, 439, 1, 0, 0, 0, 441, 442, 1, 0, 0, 0, 442, 440, 1,
3088
- 0, 0, 0, 442, 443, 1, 0, 0, 0, 443, 444, 1, 0, 0, 0, 444, 445, 5, 46, 0, 0, 445, 77, 1, 0, 0, 0, 446,
3089
- 447, 5, 11, 0, 0, 447, 448, 5, 13, 0, 0, 448, 449, 5, 1, 0, 0, 449, 450, 5, 43, 0, 0, 450, 453,
3090
- 5, 45, 0, 0, 451, 454, 5, 43, 0, 0, 452, 454, 3, 80, 40, 0, 453, 451, 1, 0, 0, 0, 453, 452, 1, 0,
3091
- 0, 0, 454, 455, 1, 0, 0, 0, 455, 453, 1, 0, 0, 0, 455, 456, 1, 0, 0, 0, 456, 457, 1, 0, 0, 0, 457,
3092
- 458, 5, 46, 0, 0, 458, 79, 1, 0, 0, 0, 459, 460, 7, 8, 0, 0, 460, 466, 5, 1, 0, 0, 461, 467, 3, 48,
3093
- 24, 0, 462, 463, 5, 31, 0, 0, 463, 464, 3, 48, 24, 0, 464, 465, 5, 32, 0, 0, 465, 467, 1, 0, 0,
3094
- 0, 466, 461, 1, 0, 0, 0, 466, 462, 1, 0, 0, 0, 467, 81, 1, 0, 0, 0, 468, 469, 3, 84, 42, 0, 469,
3095
- 470, 5, 1, 0, 0, 470, 471, 3, 86, 43, 0, 471, 83, 1, 0, 0, 0, 472, 473, 7, 9, 0, 0, 473, 85, 1, 0,
3096
- 0, 0, 474, 475, 5, 43, 0, 0, 475, 478, 5, 45, 0, 0, 476, 479, 5, 43, 0, 0, 477, 479, 3, 82, 41,
3097
- 0, 478, 476, 1, 0, 0, 0, 478, 477, 1, 0, 0, 0, 479, 480, 1, 0, 0, 0, 480, 478, 1, 0, 0, 0, 480, 481,
3098
- 1, 0, 0, 0, 481, 482, 1, 0, 0, 0, 482, 492, 5, 46, 0, 0, 483, 488, 3, 54, 27, 0, 484, 485, 5, 2,
3099
- 0, 0, 485, 487, 3, 54, 27, 0, 486, 484, 1, 0, 0, 0, 487, 490, 1, 0, 0, 0, 488, 486, 1, 0, 0, 0, 488,
3100
- 489, 1, 0, 0, 0, 489, 492, 1, 0, 0, 0, 490, 488, 1, 0, 0, 0, 491, 474, 1, 0, 0, 0, 491, 483, 1, 0,
3101
- 0, 0, 492, 87, 1, 0, 0, 0, 493, 494, 5, 6, 0, 0, 494, 495, 5, 36, 0, 0, 495, 496, 5, 7, 0, 0, 496,
3102
- 89, 1, 0, 0, 0, 497, 498, 5, 14, 0, 0, 498, 502, 5, 35, 0, 0, 499, 501, 7, 0, 0, 0, 500, 499, 1,
3103
- 0, 0, 0, 501, 504, 1, 0, 0, 0, 502, 500, 1, 0, 0, 0, 502, 503, 1, 0, 0, 0, 503, 91, 1, 0, 0, 0, 504,
3104
- 502, 1, 0, 0, 0, 505, 506, 5, 19, 0, 0, 506, 507, 5, 35, 0, 0, 507, 93, 1, 0, 0, 0, 508, 509, 5,
3105
- 22, 0, 0, 509, 510, 5, 35, 0, 0, 510, 95, 1, 0, 0, 0, 511, 512, 5, 8, 0, 0, 512, 513, 5, 1, 0, 0,
3106
- 513, 514, 5, 43, 0, 0, 514, 517, 5, 45, 0, 0, 515, 518, 5, 43, 0, 0, 516, 518, 3, 2, 1, 0, 517,
3107
- 515, 1, 0, 0, 0, 517, 516, 1, 0, 0, 0, 518, 519, 1, 0, 0, 0, 519, 517, 1, 0, 0, 0, 519, 520, 1, 0,
3108
- 0, 0, 520, 521, 1, 0, 0, 0, 521, 522, 5, 46, 0, 0, 522, 97, 1, 0, 0, 0, 63, 100, 102, 122, 127,
3109
- 135, 137, 147, 149, 159, 162, 167, 171, 181, 189, 193, 203, 211, 213, 224, 235, 237, 243,
3110
- 249, 253, 259, 261, 280, 287, 295, 298, 311, 315, 323, 335, 337, 345, 349, 355, 363, 365,
3111
- 371, 378, 387, 399, 402, 405, 411, 416, 421, 424, 428, 440, 442, 453, 455, 466, 478, 480,
3112
- 488, 491, 502, 517, 519];
3000
+ 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 0, 11,
3001
+ 2, 0, 10, 10, 23, 23, 1, 0, 36, 37, 2, 0, 37, 37, 40, 40, 2, 0, 34, 34, 37, 37, 1, 0, 30, 31, 1, 0,
3002
+ 28, 29, 1, 0, 26, 27, 2, 0, 25, 25, 29, 29, 2, 0, 35, 35, 37, 41, 2, 0, 15, 15, 36, 36, 2, 0, 36,
3003
+ 37, 40, 40, 554, 0, 100, 1, 0, 0, 0, 2, 122, 1, 0, 0, 0, 4, 125, 1, 0, 0, 0, 6, 129, 1, 0, 0, 0, 8,
3004
+ 141, 1, 0, 0, 0, 10, 153, 1, 0, 0, 0, 12, 159, 1, 0, 0, 0, 14, 164, 1, 0, 0, 0, 16, 171, 1, 0, 0, 0,
3005
+ 18, 173, 1, 0, 0, 0, 20, 176, 1, 0, 0, 0, 22, 178, 1, 0, 0, 0, 24, 183, 1, 0, 0, 0, 26, 195, 1, 0,
3006
+ 0, 0, 28, 217, 1, 0, 0, 0, 30, 227, 1, 0, 0, 0, 32, 229, 1, 0, 0, 0, 34, 243, 1, 0, 0, 0, 36, 245,
3007
+ 1, 0, 0, 0, 38, 253, 1, 0, 0, 0, 40, 255, 1, 0, 0, 0, 42, 265, 1, 0, 0, 0, 44, 267, 1, 0, 0, 0, 46,
3008
+ 271, 1, 0, 0, 0, 48, 298, 1, 0, 0, 0, 50, 300, 1, 0, 0, 0, 52, 304, 1, 0, 0, 0, 54, 323, 1, 0, 0, 0,
3009
+ 56, 340, 1, 0, 0, 0, 58, 342, 1, 0, 0, 0, 60, 349, 1, 0, 0, 0, 62, 351, 1, 0, 0, 0, 64, 371, 1, 0,
3010
+ 0, 0, 66, 402, 1, 0, 0, 0, 68, 405, 1, 0, 0, 0, 70, 421, 1, 0, 0, 0, 72, 424, 1, 0, 0, 0, 74, 430,
3011
+ 1, 0, 0, 0, 76, 433, 1, 0, 0, 0, 78, 446, 1, 0, 0, 0, 80, 459, 1, 0, 0, 0, 82, 468, 1, 0, 0, 0, 84,
3012
+ 472, 1, 0, 0, 0, 86, 491, 1, 0, 0, 0, 88, 493, 1, 0, 0, 0, 90, 497, 1, 0, 0, 0, 92, 505, 1, 0, 0, 0,
3013
+ 94, 508, 1, 0, 0, 0, 96, 511, 1, 0, 0, 0, 98, 101, 3, 2, 1, 0, 99, 101, 5, 44, 0, 0, 100, 98, 1, 0,
3014
+ 0, 0, 100, 99, 1, 0, 0, 0, 101, 102, 1, 0, 0, 0, 102, 100, 1, 0, 0, 0, 102, 103, 1, 0, 0, 0, 103,
3015
+ 104, 1, 0, 0, 0, 104, 105, 5, 0, 0, 1, 105, 1, 1, 0, 0, 0, 106, 123, 3, 14, 7, 0, 107, 123, 3, 24,
3016
+ 12, 0, 108, 123, 3, 22, 11, 0, 109, 123, 3, 44, 22, 0, 110, 123, 3, 50, 25, 0, 111, 123, 3, 8,
3017
+ 4, 0, 112, 123, 3, 52, 26, 0, 113, 123, 3, 42, 21, 0, 114, 123, 3, 62, 31, 0, 115, 123, 3, 90,
3018
+ 45, 0, 116, 123, 3, 92, 46, 0, 117, 123, 3, 94, 47, 0, 118, 123, 3, 96, 48, 0, 119, 123, 3, 68,
3019
+ 34, 0, 120, 123, 3, 32, 16, 0, 121, 123, 3, 4, 2, 0, 122, 106, 1, 0, 0, 0, 122, 107, 1, 0, 0, 0,
3020
+ 122, 108, 1, 0, 0, 0, 122, 109, 1, 0, 0, 0, 122, 110, 1, 0, 0, 0, 122, 111, 1, 0, 0, 0, 122, 112,
3021
+ 1, 0, 0, 0, 122, 113, 1, 0, 0, 0, 122, 114, 1, 0, 0, 0, 122, 115, 1, 0, 0, 0, 122, 116, 1, 0, 0, 0,
3022
+ 122, 117, 1, 0, 0, 0, 122, 118, 1, 0, 0, 0, 122, 119, 1, 0, 0, 0, 122, 120, 1, 0, 0, 0, 122, 121,
3023
+ 1, 0, 0, 0, 123, 3, 1, 0, 0, 0, 124, 126, 3, 6, 3, 0, 125, 124, 1, 0, 0, 0, 126, 127, 1, 0, 0, 0, 127,
3024
+ 125, 1, 0, 0, 0, 127, 128, 1, 0, 0, 0, 128, 5, 1, 0, 0, 0, 129, 130, 7, 0, 0, 0, 130, 131, 5, 1, 0,
3025
+ 0, 131, 132, 5, 44, 0, 0, 132, 135, 5, 46, 0, 0, 133, 136, 5, 44, 0, 0, 134, 136, 3, 2, 1, 0, 135,
3026
+ 133, 1, 0, 0, 0, 135, 134, 1, 0, 0, 0, 136, 137, 1, 0, 0, 0, 137, 135, 1, 0, 0, 0, 137, 138, 1, 0,
3027
+ 0, 0, 138, 139, 1, 0, 0, 0, 139, 140, 5, 47, 0, 0, 140, 7, 1, 0, 0, 0, 141, 142, 3, 68, 34, 0, 142,
3028
+ 143, 5, 1, 0, 0, 143, 144, 5, 44, 0, 0, 144, 147, 5, 46, 0, 0, 145, 148, 5, 44, 0, 0, 146, 148,
3029
+ 3, 10, 5, 0, 147, 145, 1, 0, 0, 0, 147, 146, 1, 0, 0, 0, 148, 149, 1, 0, 0, 0, 149, 147, 1, 0, 0,
3030
+ 0, 149, 150, 1, 0, 0, 0, 150, 151, 1, 0, 0, 0, 151, 152, 5, 47, 0, 0, 152, 9, 1, 0, 0, 0, 153, 154,
3031
+ 7, 1, 0, 0, 154, 155, 5, 1, 0, 0, 155, 156, 3, 60, 30, 0, 156, 11, 1, 0, 0, 0, 157, 160, 3, 54, 27,
3032
+ 0, 158, 160, 3, 44, 22, 0, 159, 157, 1, 0, 0, 0, 159, 158, 1, 0, 0, 0, 160, 162, 1, 0, 0, 0, 161,
3033
+ 163, 3, 18, 9, 0, 162, 161, 1, 0, 0, 0, 162, 163, 1, 0, 0, 0, 163, 13, 1, 0, 0, 0, 164, 165, 5, 16,
3034
+ 0, 0, 165, 167, 3, 12, 6, 0, 166, 168, 5, 36, 0, 0, 167, 166, 1, 0, 0, 0, 167, 168, 1, 0, 0, 0, 168,
3035
+ 15, 1, 0, 0, 0, 169, 172, 3, 12, 6, 0, 170, 172, 3, 18, 9, 0, 171, 169, 1, 0, 0, 0, 171, 170, 1,
3036
+ 0, 0, 0, 172, 17, 1, 0, 0, 0, 173, 174, 5, 15, 0, 0, 174, 175, 7, 2, 0, 0, 175, 19, 1, 0, 0, 0, 176,
3037
+ 177, 7, 2, 0, 0, 177, 21, 1, 0, 0, 0, 178, 179, 5, 17, 0, 0, 179, 181, 3, 16, 8, 0, 180, 182, 5,
3038
+ 36, 0, 0, 181, 180, 1, 0, 0, 0, 181, 182, 1, 0, 0, 0, 182, 23, 1, 0, 0, 0, 183, 184, 5, 18, 0, 0,
3039
+ 184, 189, 3, 16, 8, 0, 185, 186, 5, 2, 0, 0, 186, 188, 3, 16, 8, 0, 187, 185, 1, 0, 0, 0, 188, 191,
3040
+ 1, 0, 0, 0, 189, 187, 1, 0, 0, 0, 189, 190, 1, 0, 0, 0, 190, 193, 1, 0, 0, 0, 191, 189, 1, 0, 0, 0,
3041
+ 192, 194, 5, 36, 0, 0, 193, 192, 1, 0, 0, 0, 193, 194, 1, 0, 0, 0, 194, 25, 1, 0, 0, 0, 195, 196,
3042
+ 5, 17, 0, 0, 196, 197, 3, 16, 8, 0, 197, 198, 5, 18, 0, 0, 198, 203, 3, 16, 8, 0, 199, 200, 5, 2,
3043
+ 0, 0, 200, 202, 3, 16, 8, 0, 201, 199, 1, 0, 0, 0, 202, 205, 1, 0, 0, 0, 203, 201, 1, 0, 0, 0, 203,
3044
+ 204, 1, 0, 0, 0, 204, 206, 1, 0, 0, 0, 205, 203, 1, 0, 0, 0, 206, 207, 5, 1, 0, 0, 207, 208, 5, 44,
3045
+ 0, 0, 208, 211, 5, 46, 0, 0, 209, 212, 5, 44, 0, 0, 210, 212, 3, 28, 14, 0, 211, 209, 1, 0, 0, 0,
3046
+ 211, 210, 1, 0, 0, 0, 212, 213, 1, 0, 0, 0, 213, 211, 1, 0, 0, 0, 213, 214, 1, 0, 0, 0, 214, 215,
3047
+ 1, 0, 0, 0, 215, 216, 5, 47, 0, 0, 216, 27, 1, 0, 0, 0, 217, 218, 3, 20, 10, 0, 218, 219, 5, 1, 0,
3048
+ 0, 219, 224, 3, 30, 15, 0, 220, 221, 5, 2, 0, 0, 221, 223, 3, 30, 15, 0, 222, 220, 1, 0, 0, 0, 223,
3049
+ 226, 1, 0, 0, 0, 224, 222, 1, 0, 0, 0, 224, 225, 1, 0, 0, 0, 225, 29, 1, 0, 0, 0, 226, 224, 1, 0,
3050
+ 0, 0, 227, 228, 7, 3, 0, 0, 228, 31, 1, 0, 0, 0, 229, 230, 3, 22, 11, 0, 230, 231, 5, 1, 0, 0, 231,
3051
+ 232, 5, 44, 0, 0, 232, 235, 5, 46, 0, 0, 233, 236, 5, 44, 0, 0, 234, 236, 3, 34, 17, 0, 235, 233,
3052
+ 1, 0, 0, 0, 235, 234, 1, 0, 0, 0, 236, 237, 1, 0, 0, 0, 237, 235, 1, 0, 0, 0, 237, 238, 1, 0, 0, 0,
3053
+ 238, 239, 1, 0, 0, 0, 239, 240, 5, 47, 0, 0, 240, 33, 1, 0, 0, 0, 241, 244, 3, 2, 1, 0, 242, 244,
3054
+ 3, 36, 18, 0, 243, 241, 1, 0, 0, 0, 243, 242, 1, 0, 0, 0, 244, 35, 1, 0, 0, 0, 245, 246, 3, 20, 10,
3055
+ 0, 246, 249, 5, 1, 0, 0, 247, 250, 3, 38, 19, 0, 248, 250, 3, 40, 20, 0, 249, 247, 1, 0, 0, 0, 249,
3056
+ 248, 1, 0, 0, 0, 250, 37, 1, 0, 0, 0, 251, 254, 3, 2, 1, 0, 252, 254, 5, 34, 0, 0, 253, 251, 1, 0,
3057
+ 0, 0, 253, 252, 1, 0, 0, 0, 254, 39, 1, 0, 0, 0, 255, 256, 5, 44, 0, 0, 256, 259, 5, 46, 0, 0, 257,
3058
+ 260, 5, 44, 0, 0, 258, 260, 3, 2, 1, 0, 259, 257, 1, 0, 0, 0, 259, 258, 1, 0, 0, 0, 260, 261, 1,
3059
+ 0, 0, 0, 261, 259, 1, 0, 0, 0, 261, 262, 1, 0, 0, 0, 262, 263, 1, 0, 0, 0, 263, 264, 5, 47, 0, 0,
3060
+ 264, 41, 1, 0, 0, 0, 265, 266, 5, 9, 0, 0, 266, 43, 1, 0, 0, 0, 267, 268, 3, 68, 34, 0, 268, 269,
3061
+ 5, 3, 0, 0, 269, 270, 3, 54, 27, 0, 270, 45, 1, 0, 0, 0, 271, 272, 5, 36, 0, 0, 272, 273, 5, 3, 0,
3062
+ 0, 273, 274, 3, 54, 27, 0, 274, 47, 1, 0, 0, 0, 275, 280, 3, 54, 27, 0, 276, 277, 5, 2, 0, 0, 277,
3063
+ 279, 3, 54, 27, 0, 278, 276, 1, 0, 0, 0, 279, 282, 1, 0, 0, 0, 280, 278, 1, 0, 0, 0, 280, 281, 1,
3064
+ 0, 0, 0, 281, 287, 1, 0, 0, 0, 282, 280, 1, 0, 0, 0, 283, 284, 5, 2, 0, 0, 284, 286, 3, 46, 23, 0,
3065
+ 285, 283, 1, 0, 0, 0, 286, 289, 1, 0, 0, 0, 287, 285, 1, 0, 0, 0, 287, 288, 1, 0, 0, 0, 288, 299,
3066
+ 1, 0, 0, 0, 289, 287, 1, 0, 0, 0, 290, 295, 3, 46, 23, 0, 291, 292, 5, 2, 0, 0, 292, 294, 3, 46,
3067
+ 23, 0, 293, 291, 1, 0, 0, 0, 294, 297, 1, 0, 0, 0, 295, 293, 1, 0, 0, 0, 295, 296, 1, 0, 0, 0, 296,
3068
+ 299, 1, 0, 0, 0, 297, 295, 1, 0, 0, 0, 298, 275, 1, 0, 0, 0, 298, 290, 1, 0, 0, 0, 299, 49, 1, 0,
3069
+ 0, 0, 300, 301, 3, 68, 34, 0, 301, 302, 5, 3, 0, 0, 302, 303, 3, 54, 27, 0, 303, 51, 1, 0, 0, 0,
3070
+ 304, 305, 5, 4, 0, 0, 305, 306, 5, 36, 0, 0, 306, 307, 5, 3, 0, 0, 307, 308, 3, 54, 27, 0, 308,
3071
+ 53, 1, 0, 0, 0, 309, 311, 6, 27, -1, 0, 310, 312, 3, 58, 29, 0, 311, 310, 1, 0, 0, 0, 311, 312,
3072
+ 1, 0, 0, 0, 312, 315, 1, 0, 0, 0, 313, 316, 3, 60, 30, 0, 314, 316, 3, 68, 34, 0, 315, 313, 1, 0,
3073
+ 0, 0, 315, 314, 1, 0, 0, 0, 316, 324, 1, 0, 0, 0, 317, 318, 5, 32, 0, 0, 318, 319, 3, 54, 27, 0,
3074
+ 319, 320, 5, 33, 0, 0, 320, 324, 1, 0, 0, 0, 321, 324, 3, 76, 38, 0, 322, 324, 3, 78, 39, 0, 323,
3075
+ 309, 1, 0, 0, 0, 323, 317, 1, 0, 0, 0, 323, 321, 1, 0, 0, 0, 323, 322, 1, 0, 0, 0, 324, 337, 1, 0,
3076
+ 0, 0, 325, 326, 10, 5, 0, 0, 326, 327, 7, 4, 0, 0, 327, 336, 3, 54, 27, 6, 328, 329, 10, 4, 0, 0,
3077
+ 329, 330, 7, 5, 0, 0, 330, 336, 3, 54, 27, 5, 331, 332, 10, 3, 0, 0, 332, 333, 3, 56, 28, 0, 333,
3078
+ 334, 3, 54, 27, 4, 334, 336, 1, 0, 0, 0, 335, 325, 1, 0, 0, 0, 335, 328, 1, 0, 0, 0, 335, 331, 1,
3079
+ 0, 0, 0, 336, 339, 1, 0, 0, 0, 337, 335, 1, 0, 0, 0, 337, 338, 1, 0, 0, 0, 338, 55, 1, 0, 0, 0, 339,
3080
+ 337, 1, 0, 0, 0, 340, 341, 7, 6, 0, 0, 341, 57, 1, 0, 0, 0, 342, 343, 7, 7, 0, 0, 343, 59, 1, 0, 0,
3081
+ 0, 344, 346, 5, 29, 0, 0, 345, 344, 1, 0, 0, 0, 345, 346, 1, 0, 0, 0, 346, 347, 1, 0, 0, 0, 347,
3082
+ 350, 7, 8, 0, 0, 348, 350, 3, 88, 44, 0, 349, 345, 1, 0, 0, 0, 349, 348, 1, 0, 0, 0, 350, 61, 1,
3083
+ 0, 0, 0, 351, 352, 5, 21, 0, 0, 352, 353, 5, 36, 0, 0, 353, 355, 5, 32, 0, 0, 354, 356, 3, 66, 33,
3084
+ 0, 355, 354, 1, 0, 0, 0, 355, 356, 1, 0, 0, 0, 356, 357, 1, 0, 0, 0, 357, 358, 5, 33, 0, 0, 358,
3085
+ 359, 5, 1, 0, 0, 359, 360, 5, 44, 0, 0, 360, 363, 5, 46, 0, 0, 361, 364, 5, 44, 0, 0, 362, 364,
3086
+ 3, 64, 32, 0, 363, 361, 1, 0, 0, 0, 363, 362, 1, 0, 0, 0, 364, 365, 1, 0, 0, 0, 365, 363, 1, 0, 0,
3087
+ 0, 365, 366, 1, 0, 0, 0, 366, 367, 1, 0, 0, 0, 367, 368, 5, 47, 0, 0, 368, 63, 1, 0, 0, 0, 369, 372,
3088
+ 3, 2, 1, 0, 370, 372, 3, 74, 37, 0, 371, 369, 1, 0, 0, 0, 371, 370, 1, 0, 0, 0, 372, 65, 1, 0, 0,
3089
+ 0, 373, 378, 5, 36, 0, 0, 374, 375, 5, 2, 0, 0, 375, 377, 5, 36, 0, 0, 376, 374, 1, 0, 0, 0, 377,
3090
+ 380, 1, 0, 0, 0, 378, 376, 1, 0, 0, 0, 378, 379, 1, 0, 0, 0, 379, 387, 1, 0, 0, 0, 380, 378, 1, 0,
3091
+ 0, 0, 381, 382, 5, 2, 0, 0, 382, 383, 5, 36, 0, 0, 383, 384, 5, 3, 0, 0, 384, 386, 3, 60, 30, 0,
3092
+ 385, 381, 1, 0, 0, 0, 386, 389, 1, 0, 0, 0, 387, 385, 1, 0, 0, 0, 387, 388, 1, 0, 0, 0, 388, 403,
3093
+ 1, 0, 0, 0, 389, 387, 1, 0, 0, 0, 390, 391, 5, 36, 0, 0, 391, 392, 5, 3, 0, 0, 392, 399, 3, 60, 30,
3094
+ 0, 393, 394, 5, 2, 0, 0, 394, 395, 5, 36, 0, 0, 395, 396, 5, 3, 0, 0, 396, 398, 3, 60, 30, 0, 397,
3095
+ 393, 1, 0, 0, 0, 398, 401, 1, 0, 0, 0, 399, 397, 1, 0, 0, 0, 399, 400, 1, 0, 0, 0, 400, 403, 1, 0,
3096
+ 0, 0, 401, 399, 1, 0, 0, 0, 402, 373, 1, 0, 0, 0, 402, 390, 1, 0, 0, 0, 403, 67, 1, 0, 0, 0, 404,
3097
+ 406, 3, 72, 36, 0, 405, 404, 1, 0, 0, 0, 405, 406, 1, 0, 0, 0, 406, 407, 1, 0, 0, 0, 407, 411, 5,
3098
+ 36, 0, 0, 408, 410, 3, 70, 35, 0, 409, 408, 1, 0, 0, 0, 410, 413, 1, 0, 0, 0, 411, 409, 1, 0, 0,
3099
+ 0, 411, 412, 1, 0, 0, 0, 412, 69, 1, 0, 0, 0, 413, 411, 1, 0, 0, 0, 414, 416, 5, 32, 0, 0, 415, 417,
3100
+ 3, 48, 24, 0, 416, 415, 1, 0, 0, 0, 416, 417, 1, 0, 0, 0, 417, 418, 1, 0, 0, 0, 418, 422, 5, 33,
3101
+ 0, 0, 419, 420, 5, 5, 0, 0, 420, 422, 5, 36, 0, 0, 421, 414, 1, 0, 0, 0, 421, 419, 1, 0, 0, 0, 422,
3102
+ 71, 1, 0, 0, 0, 423, 425, 5, 28, 0, 0, 424, 423, 1, 0, 0, 0, 424, 425, 1, 0, 0, 0, 425, 426, 1, 0,
3103
+ 0, 0, 426, 428, 5, 30, 0, 0, 427, 429, 3, 54, 27, 0, 428, 427, 1, 0, 0, 0, 428, 429, 1, 0, 0, 0,
3104
+ 429, 73, 1, 0, 0, 0, 430, 431, 5, 20, 0, 0, 431, 432, 3, 54, 27, 0, 432, 75, 1, 0, 0, 0, 433, 434,
3105
+ 5, 11, 0, 0, 434, 435, 5, 12, 0, 0, 435, 436, 5, 1, 0, 0, 436, 437, 5, 44, 0, 0, 437, 440, 5, 46,
3106
+ 0, 0, 438, 441, 5, 44, 0, 0, 439, 441, 3, 82, 41, 0, 440, 438, 1, 0, 0, 0, 440, 439, 1, 0, 0, 0,
3107
+ 441, 442, 1, 0, 0, 0, 442, 440, 1, 0, 0, 0, 442, 443, 1, 0, 0, 0, 443, 444, 1, 0, 0, 0, 444, 445,
3108
+ 5, 47, 0, 0, 445, 77, 1, 0, 0, 0, 446, 447, 5, 11, 0, 0, 447, 448, 5, 13, 0, 0, 448, 449, 5, 1, 0,
3109
+ 0, 449, 450, 5, 44, 0, 0, 450, 453, 5, 46, 0, 0, 451, 454, 5, 44, 0, 0, 452, 454, 3, 80, 40, 0,
3110
+ 453, 451, 1, 0, 0, 0, 453, 452, 1, 0, 0, 0, 454, 455, 1, 0, 0, 0, 455, 453, 1, 0, 0, 0, 455, 456,
3111
+ 1, 0, 0, 0, 456, 457, 1, 0, 0, 0, 457, 458, 5, 47, 0, 0, 458, 79, 1, 0, 0, 0, 459, 460, 7, 9, 0, 0,
3112
+ 460, 466, 5, 1, 0, 0, 461, 467, 3, 48, 24, 0, 462, 463, 5, 32, 0, 0, 463, 464, 3, 48, 24, 0, 464,
3113
+ 465, 5, 33, 0, 0, 465, 467, 1, 0, 0, 0, 466, 461, 1, 0, 0, 0, 466, 462, 1, 0, 0, 0, 467, 81, 1, 0,
3114
+ 0, 0, 468, 469, 3, 84, 42, 0, 469, 470, 5, 1, 0, 0, 470, 471, 3, 86, 43, 0, 471, 83, 1, 0, 0, 0,
3115
+ 472, 473, 7, 10, 0, 0, 473, 85, 1, 0, 0, 0, 474, 475, 5, 44, 0, 0, 475, 478, 5, 46, 0, 0, 476, 479,
3116
+ 5, 44, 0, 0, 477, 479, 3, 82, 41, 0, 478, 476, 1, 0, 0, 0, 478, 477, 1, 0, 0, 0, 479, 480, 1, 0,
3117
+ 0, 0, 480, 478, 1, 0, 0, 0, 480, 481, 1, 0, 0, 0, 481, 482, 1, 0, 0, 0, 482, 492, 5, 47, 0, 0, 483,
3118
+ 488, 3, 54, 27, 0, 484, 485, 5, 2, 0, 0, 485, 487, 3, 54, 27, 0, 486, 484, 1, 0, 0, 0, 487, 490,
3119
+ 1, 0, 0, 0, 488, 486, 1, 0, 0, 0, 488, 489, 1, 0, 0, 0, 489, 492, 1, 0, 0, 0, 490, 488, 1, 0, 0, 0,
3120
+ 491, 474, 1, 0, 0, 0, 491, 483, 1, 0, 0, 0, 492, 87, 1, 0, 0, 0, 493, 494, 5, 6, 0, 0, 494, 495,
3121
+ 5, 37, 0, 0, 495, 496, 5, 7, 0, 0, 496, 89, 1, 0, 0, 0, 497, 498, 5, 14, 0, 0, 498, 502, 5, 36, 0,
3122
+ 0, 499, 501, 7, 1, 0, 0, 500, 499, 1, 0, 0, 0, 501, 504, 1, 0, 0, 0, 502, 500, 1, 0, 0, 0, 502, 503,
3123
+ 1, 0, 0, 0, 503, 91, 1, 0, 0, 0, 504, 502, 1, 0, 0, 0, 505, 506, 5, 19, 0, 0, 506, 507, 5, 36, 0,
3124
+ 0, 507, 93, 1, 0, 0, 0, 508, 509, 5, 22, 0, 0, 509, 510, 5, 36, 0, 0, 510, 95, 1, 0, 0, 0, 511, 512,
3125
+ 5, 8, 0, 0, 512, 513, 5, 1, 0, 0, 513, 514, 5, 44, 0, 0, 514, 517, 5, 46, 0, 0, 515, 518, 5, 44,
3126
+ 0, 0, 516, 518, 3, 2, 1, 0, 517, 515, 1, 0, 0, 0, 517, 516, 1, 0, 0, 0, 518, 519, 1, 0, 0, 0, 519,
3127
+ 517, 1, 0, 0, 0, 519, 520, 1, 0, 0, 0, 520, 521, 1, 0, 0, 0, 521, 522, 5, 47, 0, 0, 522, 97, 1, 0,
3128
+ 0, 0, 63, 100, 102, 122, 127, 135, 137, 147, 149, 159, 162, 167, 171, 181, 189, 193, 203,
3129
+ 211, 213, 224, 235, 237, 243, 249, 253, 259, 261, 280, 287, 295, 298, 311, 315, 323, 335,
3130
+ 337, 345, 349, 355, 363, 365, 371, 378, 387, 399, 402, 405, 411, 416, 421, 424, 428, 440,
3131
+ 442, 453, 455, 466, 478, 480, 488, 491, 502, 517, 519];
3113
3132
  static __ATN;
3114
3133
  static get _ATN() {
3115
3134
  if (!CircuitScriptParser.__ATN) {
@@ -3244,9 +3263,6 @@ export class Branch_block_innerContext extends ParserRuleContext {
3244
3263
  super(parent, invokingState);
3245
3264
  this.parser = parser;
3246
3265
  }
3247
- Branch() {
3248
- return this.getToken(CircuitScriptParser.Branch, 0);
3249
- }
3250
3266
  NEWLINE_list() {
3251
3267
  return this.getTokens(CircuitScriptParser.NEWLINE);
3252
3268
  }
@@ -3259,6 +3275,12 @@ export class Branch_block_innerContext extends ParserRuleContext {
3259
3275
  DEDENT() {
3260
3276
  return this.getToken(CircuitScriptParser.DEDENT, 0);
3261
3277
  }
3278
+ Branch() {
3279
+ return this.getToken(CircuitScriptParser.Branch, 0);
3280
+ }
3281
+ Join() {
3282
+ return this.getToken(CircuitScriptParser.Join, 0);
3283
+ }
3262
3284
  expression_list() {
3263
3285
  return this.getTypedRuleContexts(ExpressionContext);
3264
3286
  }