github.com/team-ide/go-dialect@v1.9.20/vitess/sqlparser/sql.go (about)

     1  // Code generated by goyacc -fast-append -o sql.go sql.y. DO NOT EDIT.
     2  
     3  //line sql.y:18
     4  package sqlparser
     5  
     6  import (
     7  	__yyfmt__ "fmt"
     8  	__yyunsafe__ "unsafe"
     9  )
    10  
    11  //line sql.y:18
    12  
    13  func setParseTree(yylex yyLexer, stmt Statement) {
    14  	yylex.(*Tokenizer).ParseTree = stmt
    15  }
    16  
    17  func setAllowComments(yylex yyLexer, allow bool) {
    18  	yylex.(*Tokenizer).AllowComments = allow
    19  }
    20  
    21  func setDDL(yylex yyLexer, node Statement) {
    22  	yylex.(*Tokenizer).partialDDL = node
    23  }
    24  
    25  func incNesting(yylex yyLexer) bool {
    26  	yylex.(*Tokenizer).nesting++
    27  	if yylex.(*Tokenizer).nesting == 200 {
    28  		return true
    29  	}
    30  	return false
    31  }
    32  
    33  func decNesting(yylex yyLexer) {
    34  	yylex.(*Tokenizer).nesting--
    35  }
    36  
    37  // skipToEnd forces the lexer to end prematurely. Not all SQL statements
    38  // are supported by the Parser, thus calling skipToEnd will make the lexer
    39  // return EOF early.
    40  func skipToEnd(yylex yyLexer) {
    41  	yylex.(*Tokenizer).SkipToEnd = true
    42  }
    43  
    44  func bindVariable(yylex yyLexer, bvar string) {
    45  	yylex.(*Tokenizer).BindVars[bvar] = struct{}{}
    46  }
    47  
    48  const LEX_ERROR = 57346
    49  const UNION = 57347
    50  const SELECT = 57348
    51  const STREAM = 57349
    52  const VSTREAM = 57350
    53  const INSERT = 57351
    54  const UPDATE = 57352
    55  const DELETE = 57353
    56  const FROM = 57354
    57  const WHERE = 57355
    58  const GROUP = 57356
    59  const HAVING = 57357
    60  const ORDER = 57358
    61  const BY = 57359
    62  const LIMIT = 57360
    63  const OFFSET = 57361
    64  const FOR = 57362
    65  const ALL = 57363
    66  const DISTINCT = 57364
    67  const AS = 57365
    68  const EXISTS = 57366
    69  const ASC = 57367
    70  const DESC = 57368
    71  const INTO = 57369
    72  const DUPLICATE = 57370
    73  const DEFAULT = 57371
    74  const SET = 57372
    75  const LOCK = 57373
    76  const UNLOCK = 57374
    77  const KEYS = 57375
    78  const DO = 57376
    79  const CALL = 57377
    80  const DISTINCTROW = 57378
    81  const PARSER = 57379
    82  const GENERATED = 57380
    83  const ALWAYS = 57381
    84  const OUTFILE = 57382
    85  const S3 = 57383
    86  const DATA = 57384
    87  const LOAD = 57385
    88  const LINES = 57386
    89  const TERMINATED = 57387
    90  const ESCAPED = 57388
    91  const ENCLOSED = 57389
    92  const DUMPFILE = 57390
    93  const CSV = 57391
    94  const HEADER = 57392
    95  const MANIFEST = 57393
    96  const OVERWRITE = 57394
    97  const STARTING = 57395
    98  const OPTIONALLY = 57396
    99  const VALUES = 57397
   100  const LAST_INSERT_ID = 57398
   101  const NEXT = 57399
   102  const VALUE = 57400
   103  const SHARE = 57401
   104  const MODE = 57402
   105  const SQL_NO_CACHE = 57403
   106  const SQL_CACHE = 57404
   107  const SQL_CALC_FOUND_ROWS = 57405
   108  const JOIN = 57406
   109  const STRAIGHT_JOIN = 57407
   110  const LEFT = 57408
   111  const RIGHT = 57409
   112  const INNER = 57410
   113  const OUTER = 57411
   114  const CROSS = 57412
   115  const NATURAL = 57413
   116  const USE = 57414
   117  const FORCE = 57415
   118  const ON = 57416
   119  const USING = 57417
   120  const INPLACE = 57418
   121  const COPY = 57419
   122  const ALGORITHM = 57420
   123  const NONE = 57421
   124  const SHARED = 57422
   125  const EXCLUSIVE = 57423
   126  const SUBQUERY_AS_EXPR = 57424
   127  const ID = 57425
   128  const AT_ID = 57426
   129  const AT_AT_ID = 57427
   130  const HEX = 57428
   131  const STRING = 57429
   132  const NCHAR_STRING = 57430
   133  const INTEGRAL = 57431
   134  const FLOAT = 57432
   135  const DECIMAL = 57433
   136  const HEXNUM = 57434
   137  const VALUE_ARG = 57435
   138  const LIST_ARG = 57436
   139  const COMMENT = 57437
   140  const COMMENT_KEYWORD = 57438
   141  const BIT_LITERAL = 57439
   142  const COMPRESSION = 57440
   143  const EXTRACT = 57441
   144  const NULL = 57442
   145  const TRUE = 57443
   146  const FALSE = 57444
   147  const OFF = 57445
   148  const DISCARD = 57446
   149  const IMPORT = 57447
   150  const ENABLE = 57448
   151  const DISABLE = 57449
   152  const TABLESPACE = 57450
   153  const VIRTUAL = 57451
   154  const STORED = 57452
   155  const EMPTY_FROM_CLAUSE = 57453
   156  const LOWER_THAN_CHARSET = 57454
   157  const CHARSET = 57455
   158  const UNIQUE = 57456
   159  const KEY = 57457
   160  const EXPRESSION_PREC_SETTER = 57458
   161  const OR = 57459
   162  const XOR = 57460
   163  const AND = 57461
   164  const NOT = 57462
   165  const BETWEEN = 57463
   166  const CASE = 57464
   167  const WHEN = 57465
   168  const THEN = 57466
   169  const ELSE = 57467
   170  const END = 57468
   171  const LE = 57469
   172  const GE = 57470
   173  const NE = 57471
   174  const NULL_SAFE_EQUAL = 57472
   175  const IS = 57473
   176  const LIKE = 57474
   177  const REGEXP = 57475
   178  const IN = 57476
   179  const SHIFT_LEFT = 57477
   180  const SHIFT_RIGHT = 57478
   181  const DIV = 57479
   182  const MOD = 57480
   183  const UNARY = 57481
   184  const COLLATE = 57482
   185  const BINARY = 57483
   186  const UNDERSCORE_ARMSCII8 = 57484
   187  const UNDERSCORE_ASCII = 57485
   188  const UNDERSCORE_BIG5 = 57486
   189  const UNDERSCORE_BINARY = 57487
   190  const UNDERSCORE_CP1250 = 57488
   191  const UNDERSCORE_CP1251 = 57489
   192  const UNDERSCORE_CP1256 = 57490
   193  const UNDERSCORE_CP1257 = 57491
   194  const UNDERSCORE_CP850 = 57492
   195  const UNDERSCORE_CP852 = 57493
   196  const UNDERSCORE_CP866 = 57494
   197  const UNDERSCORE_CP932 = 57495
   198  const UNDERSCORE_DEC8 = 57496
   199  const UNDERSCORE_EUCJPMS = 57497
   200  const UNDERSCORE_EUCKR = 57498
   201  const UNDERSCORE_GB18030 = 57499
   202  const UNDERSCORE_GB2312 = 57500
   203  const UNDERSCORE_GBK = 57501
   204  const UNDERSCORE_GEOSTD8 = 57502
   205  const UNDERSCORE_GREEK = 57503
   206  const UNDERSCORE_HEBREW = 57504
   207  const UNDERSCORE_HP8 = 57505
   208  const UNDERSCORE_KEYBCS2 = 57506
   209  const UNDERSCORE_KOI8R = 57507
   210  const UNDERSCORE_KOI8U = 57508
   211  const UNDERSCORE_LATIN1 = 57509
   212  const UNDERSCORE_LATIN2 = 57510
   213  const UNDERSCORE_LATIN5 = 57511
   214  const UNDERSCORE_LATIN7 = 57512
   215  const UNDERSCORE_MACCE = 57513
   216  const UNDERSCORE_MACROMAN = 57514
   217  const UNDERSCORE_SJIS = 57515
   218  const UNDERSCORE_SWE7 = 57516
   219  const UNDERSCORE_TIS620 = 57517
   220  const UNDERSCORE_UCS2 = 57518
   221  const UNDERSCORE_UJIS = 57519
   222  const UNDERSCORE_UTF16 = 57520
   223  const UNDERSCORE_UTF16LE = 57521
   224  const UNDERSCORE_UTF32 = 57522
   225  const UNDERSCORE_UTF8 = 57523
   226  const UNDERSCORE_UTF8MB4 = 57524
   227  const INTERVAL = 57525
   228  const JSON_EXTRACT_OP = 57526
   229  const JSON_UNQUOTE_EXTRACT_OP = 57527
   230  const CREATE = 57528
   231  const ALTER = 57529
   232  const DROP = 57530
   233  const RENAME = 57531
   234  const ANALYZE = 57532
   235  const ADD = 57533
   236  const FLUSH = 57534
   237  const CHANGE = 57535
   238  const MODIFY = 57536
   239  const REVERT = 57537
   240  const SCHEMA = 57538
   241  const TABLE = 57539
   242  const INDEX = 57540
   243  const VIEW = 57541
   244  const TO = 57542
   245  const IGNORE = 57543
   246  const IF = 57544
   247  const PRIMARY = 57545
   248  const COLUMN = 57546
   249  const SPATIAL = 57547
   250  const FULLTEXT = 57548
   251  const KEY_BLOCK_SIZE = 57549
   252  const CHECK = 57550
   253  const INDEXES = 57551
   254  const ACTION = 57552
   255  const CASCADE = 57553
   256  const CONSTRAINT = 57554
   257  const FOREIGN = 57555
   258  const NO = 57556
   259  const REFERENCES = 57557
   260  const RESTRICT = 57558
   261  const SHOW = 57559
   262  const DESCRIBE = 57560
   263  const EXPLAIN = 57561
   264  const DATE = 57562
   265  const ESCAPE = 57563
   266  const REPAIR = 57564
   267  const OPTIMIZE = 57565
   268  const TRUNCATE = 57566
   269  const COALESCE = 57567
   270  const EXCHANGE = 57568
   271  const REBUILD = 57569
   272  const PARTITIONING = 57570
   273  const REMOVE = 57571
   274  const MAXVALUE = 57572
   275  const PARTITION = 57573
   276  const REORGANIZE = 57574
   277  const LESS = 57575
   278  const THAN = 57576
   279  const PROCEDURE = 57577
   280  const TRIGGER = 57578
   281  const VINDEX = 57579
   282  const VINDEXES = 57580
   283  const DIRECTORY = 57581
   284  const NAME = 57582
   285  const UPGRADE = 57583
   286  const STATUS = 57584
   287  const VARIABLES = 57585
   288  const WARNINGS = 57586
   289  const CASCADED = 57587
   290  const DEFINER = 57588
   291  const OPTION = 57589
   292  const SQL = 57590
   293  const UNDEFINED = 57591
   294  const SEQUENCE = 57592
   295  const MERGE = 57593
   296  const TEMPORARY = 57594
   297  const TEMPTABLE = 57595
   298  const INVOKER = 57596
   299  const SECURITY = 57597
   300  const FIRST = 57598
   301  const AFTER = 57599
   302  const LAST = 57600
   303  const VITESS_MIGRATION = 57601
   304  const CANCEL = 57602
   305  const RETRY = 57603
   306  const COMPLETE = 57604
   307  const CLEANUP = 57605
   308  const BEGIN = 57606
   309  const START = 57607
   310  const TRANSACTION = 57608
   311  const COMMIT = 57609
   312  const ROLLBACK = 57610
   313  const SAVEPOINT = 57611
   314  const RELEASE = 57612
   315  const WORK = 57613
   316  const BIT = 57614
   317  const TINYINT = 57615
   318  const SMALLINT = 57616
   319  const MEDIUMINT = 57617
   320  const INT = 57618
   321  const INTEGER = 57619
   322  const BIGINT = 57620
   323  const INTNUM = 57621
   324  const REAL = 57622
   325  const DOUBLE = 57623
   326  const FLOAT_TYPE = 57624
   327  const DECIMAL_TYPE = 57625
   328  const NUMERIC = 57626
   329  const TIME = 57627
   330  const TIMESTAMP = 57628
   331  const DATETIME = 57629
   332  const YEAR = 57630
   333  const CHAR = 57631
   334  const VARCHAR = 57632
   335  const BOOL = 57633
   336  const CHARACTER = 57634
   337  const VARBINARY = 57635
   338  const NCHAR = 57636
   339  const TEXT = 57637
   340  const TINYTEXT = 57638
   341  const MEDIUMTEXT = 57639
   342  const LONGTEXT = 57640
   343  const BLOB = 57641
   344  const TINYBLOB = 57642
   345  const MEDIUMBLOB = 57643
   346  const LONGBLOB = 57644
   347  const JSON = 57645
   348  const ENUM = 57646
   349  const GEOMETRY = 57647
   350  const POINT = 57648
   351  const LINESTRING = 57649
   352  const POLYGON = 57650
   353  const GEOMETRYCOLLECTION = 57651
   354  const MULTIPOINT = 57652
   355  const MULTILINESTRING = 57653
   356  const MULTIPOLYGON = 57654
   357  const NULLX = 57655
   358  const AUTO_INCREMENT = 57656
   359  const APPROXNUM = 57657
   360  const SIGNED = 57658
   361  const UNSIGNED = 57659
   362  const ZEROFILL = 57660
   363  const CODE = 57661
   364  const COLLATION = 57662
   365  const COLUMNS = 57663
   366  const DATABASES = 57664
   367  const ENGINES = 57665
   368  const EVENT = 57666
   369  const EXTENDED = 57667
   370  const FIELDS = 57668
   371  const FULL = 57669
   372  const FUNCTION = 57670
   373  const GTID_EXECUTED = 57671
   374  const KEYSPACES = 57672
   375  const OPEN = 57673
   376  const PLUGINS = 57674
   377  const PRIVILEGES = 57675
   378  const PROCESSLIST = 57676
   379  const SCHEMAS = 57677
   380  const TABLES = 57678
   381  const TRIGGERS = 57679
   382  const USER = 57680
   383  const VGTID_EXECUTED = 57681
   384  const VITESS_KEYSPACES = 57682
   385  const VITESS_METADATA = 57683
   386  const VITESS_MIGRATIONS = 57684
   387  const VITESS_REPLICATION_STATUS = 57685
   388  const VITESS_SHARDS = 57686
   389  const VITESS_TABLETS = 57687
   390  const VSCHEMA = 57688
   391  const NAMES = 57689
   392  const GLOBAL = 57690
   393  const SESSION = 57691
   394  const ISOLATION = 57692
   395  const LEVEL = 57693
   396  const READ = 57694
   397  const WRITE = 57695
   398  const ONLY = 57696
   399  const REPEATABLE = 57697
   400  const COMMITTED = 57698
   401  const UNCOMMITTED = 57699
   402  const SERIALIZABLE = 57700
   403  const CURRENT_TIMESTAMP = 57701
   404  const DATABASE = 57702
   405  const CURRENT_DATE = 57703
   406  const NOW = 57704
   407  const CURRENT_TIME = 57705
   408  const LOCALTIME = 57706
   409  const LOCALTIMESTAMP = 57707
   410  const CURRENT_USER = 57708
   411  const UTC_DATE = 57709
   412  const UTC_TIME = 57710
   413  const UTC_TIMESTAMP = 57711
   414  const DAY = 57712
   415  const DAY_HOUR = 57713
   416  const DAY_MICROSECOND = 57714
   417  const DAY_MINUTE = 57715
   418  const DAY_SECOND = 57716
   419  const HOUR = 57717
   420  const HOUR_MICROSECOND = 57718
   421  const HOUR_MINUTE = 57719
   422  const HOUR_SECOND = 57720
   423  const MICROSECOND = 57721
   424  const MINUTE = 57722
   425  const MINUTE_MICROSECOND = 57723
   426  const MINUTE_SECOND = 57724
   427  const MONTH = 57725
   428  const QUARTER = 57726
   429  const SECOND = 57727
   430  const SECOND_MICROSECOND = 57728
   431  const YEAR_MONTH = 57729
   432  const WEEK = 57730
   433  const REPLACE = 57731
   434  const CONVERT = 57732
   435  const CAST = 57733
   436  const SUBSTR = 57734
   437  const SUBSTRING = 57735
   438  const GROUP_CONCAT = 57736
   439  const SEPARATOR = 57737
   440  const TIMESTAMPADD = 57738
   441  const TIMESTAMPDIFF = 57739
   442  const MATCH = 57740
   443  const AGAINST = 57741
   444  const BOOLEAN = 57742
   445  const LANGUAGE = 57743
   446  const WITH = 57744
   447  const QUERY = 57745
   448  const EXPANSION = 57746
   449  const WITHOUT = 57747
   450  const VALIDATION = 57748
   451  const UNUSED = 57749
   452  const ARRAY = 57750
   453  const CUME_DIST = 57751
   454  const DESCRIPTION = 57752
   455  const DENSE_RANK = 57753
   456  const EMPTY = 57754
   457  const EXCEPT = 57755
   458  const FIRST_VALUE = 57756
   459  const GROUPING = 57757
   460  const GROUPS = 57758
   461  const JSON_TABLE = 57759
   462  const LAG = 57760
   463  const LAST_VALUE = 57761
   464  const LATERAL = 57762
   465  const LEAD = 57763
   466  const MEMBER = 57764
   467  const NTH_VALUE = 57765
   468  const NTILE = 57766
   469  const OF = 57767
   470  const OVER = 57768
   471  const PERCENT_RANK = 57769
   472  const RANK = 57770
   473  const RECURSIVE = 57771
   474  const ROW_NUMBER = 57772
   475  const SYSTEM = 57773
   476  const WINDOW = 57774
   477  const ACTIVE = 57775
   478  const ADMIN = 57776
   479  const BUCKETS = 57777
   480  const CLONE = 57778
   481  const COMPONENT = 57779
   482  const DEFINITION = 57780
   483  const ENFORCED = 57781
   484  const EXCLUDE = 57782
   485  const FOLLOWING = 57783
   486  const GEOMCOLLECTION = 57784
   487  const GET_MASTER_PUBLIC_KEY = 57785
   488  const HISTOGRAM = 57786
   489  const HISTORY = 57787
   490  const INACTIVE = 57788
   491  const INVISIBLE = 57789
   492  const LOCKED = 57790
   493  const MASTER_COMPRESSION_ALGORITHMS = 57791
   494  const MASTER_PUBLIC_KEY_PATH = 57792
   495  const MASTER_TLS_CIPHERSUITES = 57793
   496  const MASTER_ZSTD_COMPRESSION_LEVEL = 57794
   497  const NESTED = 57795
   498  const NETWORK_NAMESPACE = 57796
   499  const NOWAIT = 57797
   500  const NULLS = 57798
   501  const OJ = 57799
   502  const OLD = 57800
   503  const OPTIONAL = 57801
   504  const ORDINALITY = 57802
   505  const ORGANIZATION = 57803
   506  const OTHERS = 57804
   507  const PATH = 57805
   508  const PERSIST = 57806
   509  const PERSIST_ONLY = 57807
   510  const PRECEDING = 57808
   511  const PRIVILEGE_CHECKS_USER = 57809
   512  const PROCESS = 57810
   513  const RANDOM = 57811
   514  const REFERENCE = 57812
   515  const REQUIRE_ROW_FORMAT = 57813
   516  const RESOURCE = 57814
   517  const RESPECT = 57815
   518  const RESTART = 57816
   519  const RETAIN = 57817
   520  const REUSE = 57818
   521  const ROLE = 57819
   522  const SECONDARY = 57820
   523  const SECONDARY_ENGINE = 57821
   524  const SECONDARY_LOAD = 57822
   525  const SECONDARY_UNLOAD = 57823
   526  const SKIP = 57824
   527  const SRID = 57825
   528  const THREAD_PRIORITY = 57826
   529  const TIES = 57827
   530  const UNBOUNDED = 57828
   531  const VCPU = 57829
   532  const VISIBLE = 57830
   533  const FORMAT = 57831
   534  const TREE = 57832
   535  const VITESS = 57833
   536  const TRADITIONAL = 57834
   537  const LOCAL = 57835
   538  const LOW_PRIORITY = 57836
   539  const NO_WRITE_TO_BINLOG = 57837
   540  const LOGS = 57838
   541  const ERROR = 57839
   542  const GENERAL = 57840
   543  const HOSTS = 57841
   544  const OPTIMIZER_COSTS = 57842
   545  const USER_RESOURCES = 57843
   546  const SLOW = 57844
   547  const CHANNEL = 57845
   548  const RELAY = 57846
   549  const EXPORT = 57847
   550  const AVG_ROW_LENGTH = 57848
   551  const CONNECTION = 57849
   552  const CHECKSUM = 57850
   553  const DELAY_KEY_WRITE = 57851
   554  const ENCRYPTION = 57852
   555  const ENGINE = 57853
   556  const INSERT_METHOD = 57854
   557  const MAX_ROWS = 57855
   558  const MIN_ROWS = 57856
   559  const PACK_KEYS = 57857
   560  const PASSWORD = 57858
   561  const FIXED = 57859
   562  const DYNAMIC = 57860
   563  const COMPRESSED = 57861
   564  const REDUNDANT = 57862
   565  const COMPACT = 57863
   566  const ROW_FORMAT = 57864
   567  const STATS_AUTO_RECALC = 57865
   568  const STATS_PERSISTENT = 57866
   569  const STATS_SAMPLE_PAGES = 57867
   570  const STORAGE = 57868
   571  const MEMORY = 57869
   572  const DISK = 57870
   573  const PARTITIONS = 57871
   574  const LINEAR = 57872
   575  const RANGE = 57873
   576  const LIST = 57874
   577  const SUBPARTITION = 57875
   578  const SUBPARTITIONS = 57876
   579  const HASH = 57877
   580  
   581  var yyToknames = [...]string{
   582  	"$end",
   583  	"error",
   584  	"$unk",
   585  	"LEX_ERROR",
   586  	"UNION",
   587  	"SELECT",
   588  	"STREAM",
   589  	"VSTREAM",
   590  	"INSERT",
   591  	"UPDATE",
   592  	"DELETE",
   593  	"FROM",
   594  	"WHERE",
   595  	"GROUP",
   596  	"HAVING",
   597  	"ORDER",
   598  	"BY",
   599  	"LIMIT",
   600  	"OFFSET",
   601  	"FOR",
   602  	"ALL",
   603  	"DISTINCT",
   604  	"AS",
   605  	"EXISTS",
   606  	"ASC",
   607  	"DESC",
   608  	"INTO",
   609  	"DUPLICATE",
   610  	"DEFAULT",
   611  	"SET",
   612  	"LOCK",
   613  	"UNLOCK",
   614  	"KEYS",
   615  	"DO",
   616  	"CALL",
   617  	"DISTINCTROW",
   618  	"PARSER",
   619  	"GENERATED",
   620  	"ALWAYS",
   621  	"OUTFILE",
   622  	"S3",
   623  	"DATA",
   624  	"LOAD",
   625  	"LINES",
   626  	"TERMINATED",
   627  	"ESCAPED",
   628  	"ENCLOSED",
   629  	"DUMPFILE",
   630  	"CSV",
   631  	"HEADER",
   632  	"MANIFEST",
   633  	"OVERWRITE",
   634  	"STARTING",
   635  	"OPTIONALLY",
   636  	"VALUES",
   637  	"LAST_INSERT_ID",
   638  	"NEXT",
   639  	"VALUE",
   640  	"SHARE",
   641  	"MODE",
   642  	"SQL_NO_CACHE",
   643  	"SQL_CACHE",
   644  	"SQL_CALC_FOUND_ROWS",
   645  	"JOIN",
   646  	"STRAIGHT_JOIN",
   647  	"LEFT",
   648  	"RIGHT",
   649  	"INNER",
   650  	"OUTER",
   651  	"CROSS",
   652  	"NATURAL",
   653  	"USE",
   654  	"FORCE",
   655  	"ON",
   656  	"USING",
   657  	"INPLACE",
   658  	"COPY",
   659  	"ALGORITHM",
   660  	"NONE",
   661  	"SHARED",
   662  	"EXCLUSIVE",
   663  	"SUBQUERY_AS_EXPR",
   664  	"'('",
   665  	"','",
   666  	"')'",
   667  	"ID",
   668  	"AT_ID",
   669  	"AT_AT_ID",
   670  	"HEX",
   671  	"STRING",
   672  	"NCHAR_STRING",
   673  	"INTEGRAL",
   674  	"FLOAT",
   675  	"DECIMAL",
   676  	"HEXNUM",
   677  	"VALUE_ARG",
   678  	"LIST_ARG",
   679  	"COMMENT",
   680  	"COMMENT_KEYWORD",
   681  	"BIT_LITERAL",
   682  	"COMPRESSION",
   683  	"EXTRACT",
   684  	"NULL",
   685  	"TRUE",
   686  	"FALSE",
   687  	"OFF",
   688  	"DISCARD",
   689  	"IMPORT",
   690  	"ENABLE",
   691  	"DISABLE",
   692  	"TABLESPACE",
   693  	"VIRTUAL",
   694  	"STORED",
   695  	"EMPTY_FROM_CLAUSE",
   696  	"LOWER_THAN_CHARSET",
   697  	"CHARSET",
   698  	"UNIQUE",
   699  	"KEY",
   700  	"EXPRESSION_PREC_SETTER",
   701  	"OR",
   702  	"'|'",
   703  	"XOR",
   704  	"AND",
   705  	"NOT",
   706  	"'!'",
   707  	"BETWEEN",
   708  	"CASE",
   709  	"WHEN",
   710  	"THEN",
   711  	"ELSE",
   712  	"END",
   713  	"'='",
   714  	"'<'",
   715  	"'>'",
   716  	"LE",
   717  	"GE",
   718  	"NE",
   719  	"NULL_SAFE_EQUAL",
   720  	"IS",
   721  	"LIKE",
   722  	"REGEXP",
   723  	"IN",
   724  	"'&'",
   725  	"SHIFT_LEFT",
   726  	"SHIFT_RIGHT",
   727  	"'+'",
   728  	"'-'",
   729  	"'*'",
   730  	"'/'",
   731  	"DIV",
   732  	"'%'",
   733  	"MOD",
   734  	"'^'",
   735  	"'~'",
   736  	"UNARY",
   737  	"COLLATE",
   738  	"BINARY",
   739  	"UNDERSCORE_ARMSCII8",
   740  	"UNDERSCORE_ASCII",
   741  	"UNDERSCORE_BIG5",
   742  	"UNDERSCORE_BINARY",
   743  	"UNDERSCORE_CP1250",
   744  	"UNDERSCORE_CP1251",
   745  	"UNDERSCORE_CP1256",
   746  	"UNDERSCORE_CP1257",
   747  	"UNDERSCORE_CP850",
   748  	"UNDERSCORE_CP852",
   749  	"UNDERSCORE_CP866",
   750  	"UNDERSCORE_CP932",
   751  	"UNDERSCORE_DEC8",
   752  	"UNDERSCORE_EUCJPMS",
   753  	"UNDERSCORE_EUCKR",
   754  	"UNDERSCORE_GB18030",
   755  	"UNDERSCORE_GB2312",
   756  	"UNDERSCORE_GBK",
   757  	"UNDERSCORE_GEOSTD8",
   758  	"UNDERSCORE_GREEK",
   759  	"UNDERSCORE_HEBREW",
   760  	"UNDERSCORE_HP8",
   761  	"UNDERSCORE_KEYBCS2",
   762  	"UNDERSCORE_KOI8R",
   763  	"UNDERSCORE_KOI8U",
   764  	"UNDERSCORE_LATIN1",
   765  	"UNDERSCORE_LATIN2",
   766  	"UNDERSCORE_LATIN5",
   767  	"UNDERSCORE_LATIN7",
   768  	"UNDERSCORE_MACCE",
   769  	"UNDERSCORE_MACROMAN",
   770  	"UNDERSCORE_SJIS",
   771  	"UNDERSCORE_SWE7",
   772  	"UNDERSCORE_TIS620",
   773  	"UNDERSCORE_UCS2",
   774  	"UNDERSCORE_UJIS",
   775  	"UNDERSCORE_UTF16",
   776  	"UNDERSCORE_UTF16LE",
   777  	"UNDERSCORE_UTF32",
   778  	"UNDERSCORE_UTF8",
   779  	"UNDERSCORE_UTF8MB4",
   780  	"INTERVAL",
   781  	"'.'",
   782  	"JSON_EXTRACT_OP",
   783  	"JSON_UNQUOTE_EXTRACT_OP",
   784  	"CREATE",
   785  	"ALTER",
   786  	"DROP",
   787  	"RENAME",
   788  	"ANALYZE",
   789  	"ADD",
   790  	"FLUSH",
   791  	"CHANGE",
   792  	"MODIFY",
   793  	"REVERT",
   794  	"SCHEMA",
   795  	"TABLE",
   796  	"INDEX",
   797  	"VIEW",
   798  	"TO",
   799  	"IGNORE",
   800  	"IF",
   801  	"PRIMARY",
   802  	"COLUMN",
   803  	"SPATIAL",
   804  	"FULLTEXT",
   805  	"KEY_BLOCK_SIZE",
   806  	"CHECK",
   807  	"INDEXES",
   808  	"ACTION",
   809  	"CASCADE",
   810  	"CONSTRAINT",
   811  	"FOREIGN",
   812  	"NO",
   813  	"REFERENCES",
   814  	"RESTRICT",
   815  	"SHOW",
   816  	"DESCRIBE",
   817  	"EXPLAIN",
   818  	"DATE",
   819  	"ESCAPE",
   820  	"REPAIR",
   821  	"OPTIMIZE",
   822  	"TRUNCATE",
   823  	"COALESCE",
   824  	"EXCHANGE",
   825  	"REBUILD",
   826  	"PARTITIONING",
   827  	"REMOVE",
   828  	"MAXVALUE",
   829  	"PARTITION",
   830  	"REORGANIZE",
   831  	"LESS",
   832  	"THAN",
   833  	"PROCEDURE",
   834  	"TRIGGER",
   835  	"VINDEX",
   836  	"VINDEXES",
   837  	"DIRECTORY",
   838  	"NAME",
   839  	"UPGRADE",
   840  	"STATUS",
   841  	"VARIABLES",
   842  	"WARNINGS",
   843  	"CASCADED",
   844  	"DEFINER",
   845  	"OPTION",
   846  	"SQL",
   847  	"UNDEFINED",
   848  	"SEQUENCE",
   849  	"MERGE",
   850  	"TEMPORARY",
   851  	"TEMPTABLE",
   852  	"INVOKER",
   853  	"SECURITY",
   854  	"FIRST",
   855  	"AFTER",
   856  	"LAST",
   857  	"VITESS_MIGRATION",
   858  	"CANCEL",
   859  	"RETRY",
   860  	"COMPLETE",
   861  	"CLEANUP",
   862  	"BEGIN",
   863  	"START",
   864  	"TRANSACTION",
   865  	"COMMIT",
   866  	"ROLLBACK",
   867  	"SAVEPOINT",
   868  	"RELEASE",
   869  	"WORK",
   870  	"BIT",
   871  	"TINYINT",
   872  	"SMALLINT",
   873  	"MEDIUMINT",
   874  	"INT",
   875  	"INTEGER",
   876  	"BIGINT",
   877  	"INTNUM",
   878  	"REAL",
   879  	"DOUBLE",
   880  	"FLOAT_TYPE",
   881  	"DECIMAL_TYPE",
   882  	"NUMERIC",
   883  	"TIME",
   884  	"TIMESTAMP",
   885  	"DATETIME",
   886  	"YEAR",
   887  	"CHAR",
   888  	"VARCHAR",
   889  	"BOOL",
   890  	"CHARACTER",
   891  	"VARBINARY",
   892  	"NCHAR",
   893  	"TEXT",
   894  	"TINYTEXT",
   895  	"MEDIUMTEXT",
   896  	"LONGTEXT",
   897  	"BLOB",
   898  	"TINYBLOB",
   899  	"MEDIUMBLOB",
   900  	"LONGBLOB",
   901  	"JSON",
   902  	"ENUM",
   903  	"GEOMETRY",
   904  	"POINT",
   905  	"LINESTRING",
   906  	"POLYGON",
   907  	"GEOMETRYCOLLECTION",
   908  	"MULTIPOINT",
   909  	"MULTILINESTRING",
   910  	"MULTIPOLYGON",
   911  	"NULLX",
   912  	"AUTO_INCREMENT",
   913  	"APPROXNUM",
   914  	"SIGNED",
   915  	"UNSIGNED",
   916  	"ZEROFILL",
   917  	"CODE",
   918  	"COLLATION",
   919  	"COLUMNS",
   920  	"DATABASES",
   921  	"ENGINES",
   922  	"EVENT",
   923  	"EXTENDED",
   924  	"FIELDS",
   925  	"FULL",
   926  	"FUNCTION",
   927  	"GTID_EXECUTED",
   928  	"KEYSPACES",
   929  	"OPEN",
   930  	"PLUGINS",
   931  	"PRIVILEGES",
   932  	"PROCESSLIST",
   933  	"SCHEMAS",
   934  	"TABLES",
   935  	"TRIGGERS",
   936  	"USER",
   937  	"VGTID_EXECUTED",
   938  	"VITESS_KEYSPACES",
   939  	"VITESS_METADATA",
   940  	"VITESS_MIGRATIONS",
   941  	"VITESS_REPLICATION_STATUS",
   942  	"VITESS_SHARDS",
   943  	"VITESS_TABLETS",
   944  	"VSCHEMA",
   945  	"NAMES",
   946  	"GLOBAL",
   947  	"SESSION",
   948  	"ISOLATION",
   949  	"LEVEL",
   950  	"READ",
   951  	"WRITE",
   952  	"ONLY",
   953  	"REPEATABLE",
   954  	"COMMITTED",
   955  	"UNCOMMITTED",
   956  	"SERIALIZABLE",
   957  	"CURRENT_TIMESTAMP",
   958  	"DATABASE",
   959  	"CURRENT_DATE",
   960  	"NOW",
   961  	"CURRENT_TIME",
   962  	"LOCALTIME",
   963  	"LOCALTIMESTAMP",
   964  	"CURRENT_USER",
   965  	"UTC_DATE",
   966  	"UTC_TIME",
   967  	"UTC_TIMESTAMP",
   968  	"DAY",
   969  	"DAY_HOUR",
   970  	"DAY_MICROSECOND",
   971  	"DAY_MINUTE",
   972  	"DAY_SECOND",
   973  	"HOUR",
   974  	"HOUR_MICROSECOND",
   975  	"HOUR_MINUTE",
   976  	"HOUR_SECOND",
   977  	"MICROSECOND",
   978  	"MINUTE",
   979  	"MINUTE_MICROSECOND",
   980  	"MINUTE_SECOND",
   981  	"MONTH",
   982  	"QUARTER",
   983  	"SECOND",
   984  	"SECOND_MICROSECOND",
   985  	"YEAR_MONTH",
   986  	"WEEK",
   987  	"REPLACE",
   988  	"CONVERT",
   989  	"CAST",
   990  	"SUBSTR",
   991  	"SUBSTRING",
   992  	"GROUP_CONCAT",
   993  	"SEPARATOR",
   994  	"TIMESTAMPADD",
   995  	"TIMESTAMPDIFF",
   996  	"MATCH",
   997  	"AGAINST",
   998  	"BOOLEAN",
   999  	"LANGUAGE",
  1000  	"WITH",
  1001  	"QUERY",
  1002  	"EXPANSION",
  1003  	"WITHOUT",
  1004  	"VALIDATION",
  1005  	"UNUSED",
  1006  	"ARRAY",
  1007  	"CUME_DIST",
  1008  	"DESCRIPTION",
  1009  	"DENSE_RANK",
  1010  	"EMPTY",
  1011  	"EXCEPT",
  1012  	"FIRST_VALUE",
  1013  	"GROUPING",
  1014  	"GROUPS",
  1015  	"JSON_TABLE",
  1016  	"LAG",
  1017  	"LAST_VALUE",
  1018  	"LATERAL",
  1019  	"LEAD",
  1020  	"MEMBER",
  1021  	"NTH_VALUE",
  1022  	"NTILE",
  1023  	"OF",
  1024  	"OVER",
  1025  	"PERCENT_RANK",
  1026  	"RANK",
  1027  	"RECURSIVE",
  1028  	"ROW_NUMBER",
  1029  	"SYSTEM",
  1030  	"WINDOW",
  1031  	"ACTIVE",
  1032  	"ADMIN",
  1033  	"BUCKETS",
  1034  	"CLONE",
  1035  	"COMPONENT",
  1036  	"DEFINITION",
  1037  	"ENFORCED",
  1038  	"EXCLUDE",
  1039  	"FOLLOWING",
  1040  	"GEOMCOLLECTION",
  1041  	"GET_MASTER_PUBLIC_KEY",
  1042  	"HISTOGRAM",
  1043  	"HISTORY",
  1044  	"INACTIVE",
  1045  	"INVISIBLE",
  1046  	"LOCKED",
  1047  	"MASTER_COMPRESSION_ALGORITHMS",
  1048  	"MASTER_PUBLIC_KEY_PATH",
  1049  	"MASTER_TLS_CIPHERSUITES",
  1050  	"MASTER_ZSTD_COMPRESSION_LEVEL",
  1051  	"NESTED",
  1052  	"NETWORK_NAMESPACE",
  1053  	"NOWAIT",
  1054  	"NULLS",
  1055  	"OJ",
  1056  	"OLD",
  1057  	"OPTIONAL",
  1058  	"ORDINALITY",
  1059  	"ORGANIZATION",
  1060  	"OTHERS",
  1061  	"PATH",
  1062  	"PERSIST",
  1063  	"PERSIST_ONLY",
  1064  	"PRECEDING",
  1065  	"PRIVILEGE_CHECKS_USER",
  1066  	"PROCESS",
  1067  	"RANDOM",
  1068  	"REFERENCE",
  1069  	"REQUIRE_ROW_FORMAT",
  1070  	"RESOURCE",
  1071  	"RESPECT",
  1072  	"RESTART",
  1073  	"RETAIN",
  1074  	"REUSE",
  1075  	"ROLE",
  1076  	"SECONDARY",
  1077  	"SECONDARY_ENGINE",
  1078  	"SECONDARY_LOAD",
  1079  	"SECONDARY_UNLOAD",
  1080  	"SKIP",
  1081  	"SRID",
  1082  	"THREAD_PRIORITY",
  1083  	"TIES",
  1084  	"UNBOUNDED",
  1085  	"VCPU",
  1086  	"VISIBLE",
  1087  	"FORMAT",
  1088  	"TREE",
  1089  	"VITESS",
  1090  	"TRADITIONAL",
  1091  	"LOCAL",
  1092  	"LOW_PRIORITY",
  1093  	"NO_WRITE_TO_BINLOG",
  1094  	"LOGS",
  1095  	"ERROR",
  1096  	"GENERAL",
  1097  	"HOSTS",
  1098  	"OPTIMIZER_COSTS",
  1099  	"USER_RESOURCES",
  1100  	"SLOW",
  1101  	"CHANNEL",
  1102  	"RELAY",
  1103  	"EXPORT",
  1104  	"AVG_ROW_LENGTH",
  1105  	"CONNECTION",
  1106  	"CHECKSUM",
  1107  	"DELAY_KEY_WRITE",
  1108  	"ENCRYPTION",
  1109  	"ENGINE",
  1110  	"INSERT_METHOD",
  1111  	"MAX_ROWS",
  1112  	"MIN_ROWS",
  1113  	"PACK_KEYS",
  1114  	"PASSWORD",
  1115  	"FIXED",
  1116  	"DYNAMIC",
  1117  	"COMPRESSED",
  1118  	"REDUNDANT",
  1119  	"COMPACT",
  1120  	"ROW_FORMAT",
  1121  	"STATS_AUTO_RECALC",
  1122  	"STATS_PERSISTENT",
  1123  	"STATS_SAMPLE_PAGES",
  1124  	"STORAGE",
  1125  	"MEMORY",
  1126  	"DISK",
  1127  	"PARTITIONS",
  1128  	"LINEAR",
  1129  	"RANGE",
  1130  	"LIST",
  1131  	"SUBPARTITION",
  1132  	"SUBPARTITIONS",
  1133  	"HASH",
  1134  	"';'",
  1135  }
  1136  
  1137  var yyStatenames = [...]string{}
  1138  
  1139  const yyEofCode = 1
  1140  const yyErrCode = 2
  1141  const yyInitialStackSize = 16
  1142  
  1143  //line yacctab:1
  1144  var yyExca = [...]int{
  1145  	-1, 0,
  1146  	10, 44,
  1147  	11, 44,
  1148  	-2, 34,
  1149  	-1, 1,
  1150  	1, -1,
  1151  	-2, 0,
  1152  	-1, 44,
  1153  	1, 137,
  1154  	553, 137,
  1155  	-2, 143,
  1156  	-1, 45,
  1157  	116, 143,
  1158  	156, 143,
  1159  	309, 143,
  1160  	-2, 447,
  1161  	-1, 52,
  1162  	33, 620,
  1163  	215, 620,
  1164  	226, 620,
  1165  	259, 634,
  1166  	260, 634,
  1167  	-2, 622,
  1168  	-1, 57,
  1169  	217, 644,
  1170  	-2, 642,
  1171  	-1, 108,
  1172  	214, 1090,
  1173  	-2, 116,
  1174  	-1, 110,
  1175  	1, 138,
  1176  	553, 138,
  1177  	-2, 143,
  1178  	-1, 120,
  1179  	117, 350,
  1180  	220, 350,
  1181  	-2, 441,
  1182  	-1, 139,
  1183  	116, 143,
  1184  	156, 143,
  1185  	309, 143,
  1186  	-2, 456,
  1187  	-1, 599,
  1188  	200, 1111,
  1189  	-2, 1107,
  1190  	-1, 600,
  1191  	200, 1112,
  1192  	-2, 1108,
  1193  	-1, 671,
  1194  	57, 712,
  1195  	-2, 720,
  1196  	-1, 708,
  1197  	132, 1470,
  1198  	-2, 109,
  1199  	-1, 709,
  1200  	132, 1347,
  1201  	-2, 110,
  1202  	-1, 715,
  1203  	132, 1401,
  1204  	-2, 1084,
  1205  	-1, 858,
  1206  	132, 1280,
  1207  	-2, 1081,
  1208  	-1, 894,
  1209  	225, 38,
  1210  	230, 38,
  1211  	-2, 361,
  1212  	-1, 971,
  1213  	1, 495,
  1214  	553, 495,
  1215  	-2, 143,
  1216  	-1, 1168,
  1217  	57, 713,
  1218  	-2, 725,
  1219  	-1, 1169,
  1220  	57, 714,
  1221  	-2, 726,
  1222  	-1, 1221,
  1223  	116, 143,
  1224  	156, 143,
  1225  	309, 143,
  1226  	-2, 391,
  1227  	-1, 1224,
  1228  	23, 162,
  1229  	-2, 164,
  1230  	-1, 1297,
  1231  	117, 350,
  1232  	220, 350,
  1233  	-2, 441,
  1234  	-1, 1306,
  1235  	225, 39,
  1236  	230, 39,
  1237  	-2, 362,
  1238  	-1, 1561,
  1239  	200, 1116,
  1240  	-2, 1110,
  1241  	-1, 1636,
  1242  	116, 143,
  1243  	156, 143,
  1244  	309, 143,
  1245  	-2, 392,
  1246  	-1, 1874,
  1247  	75, 91,
  1248  	84, 91,
  1249  	-2, 778,
  1250  	-1, 2041,
  1251  	47, 1052,
  1252  	-2, 1046,
  1253  	-1, 2229,
  1254  	5, 50,
  1255  	16, 50,
  1256  	18, 50,
  1257  	85, 50,
  1258  	-2, 753,
  1259  }
  1260  
  1261  const yyPrivate = 57344
  1262  
  1263  const yyLast = 33285
  1264  
  1265  var yyAct = [...]int{
  1266  	599, 2494, 1592, 2443, 2380, 2410, 2382, 2465, 2274, 2235,
  1267  	2429, 2138, 2150, 3, 2416, 1034, 1894, 592, 34, 686,
  1268  	2346, 593, 1901, 2052, 2298, 2055, 2139, 1903, 1819, 1183,
  1269  	1150, 2056, 2053, 1847, 90, 2200, 2194, 664, 2290, 554,
  1270  	2303, 1609, 1575, 2220, 2042, 2050, 547, 550, 176, 1839,
  1271  	1920, 176, 1668, 514, 176, 602, 1596, 1943, 1981, 530,
  1272  	590, 176, 1673, 548, 982, 591, 2097, 1870, 1922, 176,
  1273  	576, 546, 1921, 1859, 148, 861, 1688, 687, 1622, 1613,
  1274  	713, 176, 1831, 33, 35, 1170, 1633, 924, 1555, 668,
  1275  	1997, 672, 1701, 134, 1733, 542, 1675, 1501, 1512, 1914,
  1276  	1213, 1876, 1687, 530, 1304, 666, 530, 176, 530, 689,
  1277  	889, 1614, 89, 1577, 1278, 1192, 1460, 1616, 710, 1153,
  1278  	559, 1411, 1524, 1478, 1408, 85, 1052, 1311, 1320, 868,
  1279  	865, 1394, 1685, 890, 1196, 895, 1601, 1664, 608, 678,
  1280  	1505, 892, 869, 891, 1212, 1273, 1027, 1296, 700, 676,
  1281  	111, 1416, 79, 967, 117, 902, 70, 673, 674, 1011,
  1282  	92, 1210, 1597, 91, 537, 118, 1118, 1122, 2478, 1032,
  1283  	2328, 83, 2495, 2237, 2238, 2239, 2237, 2411, 151, 112,
  1284  	2383, 1961, 1960, 1731, 1568, 675, 71, 8, 7, 6,
  1285  	1989, 1990, 1467, 119, 1466, 694, 1465, 699, 1572, 1573,
  1286  	1464, 178, 179, 180, 696, 1053, 1463, 1462, 1380, 1449,
  1287  	680, 178, 179, 180, 929, 487, 862, 540, 84, 541,
  1288  	1454, 1817, 2457, 113, 926, 2038, 877, 538, 667, 1841,
  1289  	1053, 517, 2251, 2342, 665, 872, 2119, 940, 941, 2341,
  1290  	944, 945, 946, 947, 688, 928, 950, 951, 952, 953,
  1291  	954, 955, 956, 957, 958, 959, 960, 961, 962, 963,
  1292  	964, 883, 582, 905, 707, 714, 927, 72, 2269, 543,
  1293  	681, 2270, 504, 2488, 2439, 72, 884, 906, 74, 2483,
  1294  	2398, 96, 930, 931, 932, 2473, 2275, 2430, 1719, 113,
  1295  	882, 1850, 2438, 2397, 72, 1996, 2182, 72, 690, 1287,
  1296  	1680, 1818, 1968, 937, 2088, 1771, 1967, 1063, 1988, 1885,
  1297  	970, 1214, 1884, 1215, 942, 1886, 1851, 1768, 503, 98,
  1298  	99, 1627, 102, 1030, 1678, 108, 1001, 1558, 173, 501,
  1299  	661, 482, 1063, 881, 1084, 976, 977, 2089, 2090, 660,
  1300  	1574, 1628, 1629, 1554, 81, 989, 2316, 1911, 2330, 2197,
  1301  	990, 663, 81, 113, 671, 2351, 1085, 1086, 1087, 1088,
  1302  	1089, 1090, 1091, 1093, 1092, 1094, 1095, 498, 2174, 1769,
  1303  	1002, 81, 989, 995, 81, 2172, 512, 990, 1648, 1647,
  1304  	528, 2152, 702, 703, 517, 988, 1453, 987, 532, 879,
  1305  	526, 509, 1006, 1007, 1745, 1742, 1744, 1743, 1059, 1157,
  1306  	966, 1051, 1944, 1702, 2146, 1734, 1400, 1455, 1456, 1457,
  1307  	1964, 2482, 2147, 1739, 178, 179, 180, 1395, 1747, 1024,
  1308  	1748, 1029, 1749, 1059, 518, 1546, 1535, 1536, 1537, 1538,
  1309  	1548, 1539, 1540, 1541, 1553, 1549, 1542, 1543, 1550, 1551,
  1310  	1552, 1544, 1545, 1547, 517, 881, 965, 1003, 1370, 1677,
  1311  	996, 1010, 488, 517, 490, 505, 972, 520, 2153, 519,
  1312  	494, 517, 492, 496, 506, 497, 1740, 491, 1976, 502,
  1313  	2458, 1750, 493, 507, 508, 510, 524, 523, 511, 1008,
  1314  	500, 521, 176, 949, 176, 948, 1018, 176, 1020, 1009,
  1315  	1371, 1738, 1372, 943, 1004, 1005, 2154, 880, 1736, 2338,
  1316  	876, 885, 2264, 878, 913, 1022, 1704, 1610, 969, 2479,
  1317  	911, 1890, 922, 886, 921, 530, 530, 530, 920, 919,
  1318  	2471, 918, 917, 916, 1017, 1019, 915, 910, 1290, 923,
  1319  	1769, 1737, 1096, 530, 530, 1907, 594, 2469, 577, 598,
  1320  	579, 595, 596, 866, 575, 578, 597, 1980, 1045, 866,
  1321  	1310, 1096, 34, 985, 898, 991, 992, 993, 994, 999,
  1322  	904, 1058, 1055, 1056, 1057, 1062, 1064, 1061, 2118, 1060,
  1323  	897, 866, 1409, 580, 581, 864, 1054, 518, 1031, 1686,
  1324  	701, 1897, 1998, 1977, 1820, 1822, 1058, 1055, 1056, 1057,
  1325  	1062, 1064, 1061, 1401, 1060, 968, 881, 1725, 873, 1966,
  1326  	2126, 1054, 2477, 2331, 2327, 875, 874, 1405, 1039, 880,
  1327  	1953, 933, 2198, 1015, 1992, 2025, 939, 1016, 1963, 1099,
  1328  	1100, 1101, 1102, 2024, 2023, 522, 1898, 1021, 1148, 1107,
  1329  	1285, 1110, 2352, 1782, 1284, 1283, 904, 518, 1023, 2396,
  1330  	1406, 914, 1281, 515, 1679, 486, 518, 912, 1143, 1014,
  1331  	481, 1900, 879, 1309, 518, 1895, 1975, 903, 516, 1974,
  1332  	2375, 176, 2000, 897, 900, 901, 1399, 866, 1025, 1905,
  1333  	1906, 894, 898, 904, 1983, 75, 1896, 904, 176, 1982,
  1334  	80, 1721, 1103, 1160, 1158, 1036, 1037, 1164, 80, 2234,
  1335  	893, 1983, 2216, 668, 1149, 1881, 1982, 530, 1097, 1098,
  1336  	1846, 176, 666, 1163, 1770, 1161, 530, 80, 1902, 978,
  1337  	80, 904, 530, 1382, 1381, 1383, 1384, 1385, 975, 986,
  1338  	71, 710, 1048, 1046, 1047, 2002, 110, 2006, 1809, 2001,
  1339  	1821, 1999, 904, 903, 1567, 2467, 2004, 1200, 2468, 1129,
  1340  	2466, 998, 1120, 980, 1121, 2003, 1162, 1124, 2087, 1069,
  1341  	89, 1096, 1000, 1149, 1634, 1095, 1012, 1417, 2005, 2007,
  1342  	880, 683, 1135, 1136, 1137, 1138, 1139, 984, 1028, 2422,
  1343  	903, 105, 1904, 2420, 903, 907, 897, 1116, 1154, 907,
  1344  	897, 2409, 2424, 2425, 1907, 908, 2392, 1905, 1906, 908,
  1345  	2210, 925, 1735, 1402, 2421, 1396, 1216, 1397, 92, 1049,
  1346  	1398, 1525, 2013, 909, 1933, 178, 179, 180, 903, 1503,
  1347  	938, 1066, 2312, 1067, 1068, 543, 1068, 1525, 1159, 1797,
  1348  	2015, 178, 179, 180, 1151, 1843, 1483, 1182, 106, 903,
  1349  	2108, 665, 667, 2177, 1177, 897, 900, 901, 2107, 866,
  1350  	1484, 1485, 1482, 894, 898, 1090, 1091, 1093, 1092, 1094,
  1351  	1095, 1206, 1207, 1602, 1603, 1708, 1720, 1786, 1179, 1319,
  1352  	1066, 176, 1067, 1068, 1318, 1274, 1308, 1718, 714, 1066,
  1353  	1716, 1067, 1068, 913, 1282, 1190, 1504, 1473, 1475, 1476,
  1354  	1067, 1068, 1713, 1899, 911, 1713, 1013, 1418, 1793, 2451,
  1355  	1904, 2093, 1844, 530, 983, 1306, 1193, 2492, 1474, 1788,
  1356  	2179, 971, 1907, 1315, 1177, 1201, 2480, 1317, 1787, 1717,
  1357  	530, 530, 1715, 530, 2497, 530, 530, 2401, 530, 530,
  1358  	530, 530, 530, 530, 1088, 1089, 1090, 1091, 1093, 1092,
  1359  	1094, 1095, 1066, 530, 1067, 1068, 2442, 176, 1353, 1066,
  1360  	1189, 1067, 1068, 2368, 1066, 1316, 1067, 1068, 1066, 2402,
  1361  	1067, 1068, 1165, 176, 1066, 1211, 1067, 1068, 2412, 2250,
  1362  	1792, 1084, 2249, 1991, 530, 1177, 176, 2124, 1302, 2452,
  1363  	1348, 1349, 1288, 1289, 2440, 2369, 1066, 1407, 1067, 1068,
  1364  	2481, 176, 1295, 1085, 1086, 1087, 1088, 1089, 1090, 1091,
  1365  	1093, 1092, 1094, 1095, 1177, 1918, 1066, 176, 1067, 1068,
  1366  	1066, 1529, 1067, 1068, 176, 1530, 1917, 1314, 1350, 1066,
  1367  	1683, 1067, 1068, 176, 176, 176, 176, 176, 176, 176,
  1368  	176, 176, 530, 530, 530, 1280, 2149, 2413, 1390, 1313,
  1369  	1356, 1357, 1774, 1775, 1776, 1292, 1362, 1363, 1375, 1322,
  1370  	1305, 1323, 1293, 1325, 1327, 81, 1389, 1331, 1333, 1335,
  1371  	1337, 1339, 176, 1291, 2334, 1084, 1312, 1312, 705, 1481,
  1372  	1421, 1413, 1066, 1374, 1067, 1068, 1366, 1425, 2185, 1427,
  1373  	1428, 1429, 1430, 613, 614, 615, 1434, 1085, 1086, 1087,
  1374  	1088, 1089, 1090, 1091, 1093, 1092, 1094, 1095, 1373, 1066,
  1375  	1448, 1067, 1068, 1364, 1358, 1387, 1351, 1502, 178, 179,
  1376  	180, 1479, 2105, 1410, 1066, 1355, 1067, 1068, 1354, 1388,
  1377  	1515, 530, 1086, 1087, 1088, 1089, 1090, 1091, 1093, 1092,
  1378  	1094, 1095, 883, 1329, 2184, 600, 530, 530, 1486, 1919,
  1379  	1488, 1489, 1490, 1491, 1492, 1493, 1494, 1495, 1496, 1497,
  1380  	1498, 1499, 1500, 1477, 2372, 1559, 1487, 1419, 1420, 1423,
  1381  	113, 882, 2371, 1186, 2370, 1377, 176, 1526, 1386, 1286,
  1382  	1066, 1424, 1067, 1068, 1066, 2311, 1067, 1068, 1431, 1432,
  1383  	1433, 1447, 2309, 177, 2287, 2247, 177, 2104, 1927, 177,
  1384  	1915, 1582, 176, 1583, 531, 530, 177, 1580, 1783, 1415,
  1385  	1729, 1444, 1445, 1446, 177, 176, 1728, 1595, 530, 1581,
  1386  	1480, 1177, 1187, 176, 2336, 176, 177, 176, 176, 530,
  1387  	1561, 1450, 530, 178, 179, 180, 1559, 1888, 1376, 1414,
  1388  	1563, 1564, 1378, 530, 710, 1365, 89, 710, 531, 1361,
  1389  	1360, 531, 177, 531, 1359, 1188, 1508, 1508, 1026, 1510,
  1390  	1837, 2496, 89, 1072, 1073, 1074, 1075, 1076, 1077, 1078,
  1391  	1070, 1560, 178, 179, 180, 88, 1588, 1085, 1086, 1087,
  1392  	1088, 1089, 1090, 1091, 1093, 1092, 1094, 1095, 2267, 2476,
  1393  	1468, 1469, 1470, 1471, 1612, 178, 179, 180, 530, 1696,
  1394  	86, 1561, 1837, 2462, 1689, 1690, 1691, 88, 2335, 1693,
  1395  	1695, 87, 1654, 1655, 1656, 1657, 1637, 2273, 1638, 178,
  1396  	179, 180, 530, 1694, 95, 680, 1837, 2446, 530, 1315,
  1397  	1513, 1514, 1315, 1177, 1315, 94, 95, 93, 1519, 1945,
  1398  	1712, 1590, 1607, 86, 1620, 1670, 88, 94, 1848, 93,
  1399  	1703, 1930, 1605, 1641, 87, 1837, 2436, 1837, 2405, 1837,
  1400  	2386, 2358, 1177, 1642, 1649, 1177, 1650, 1651, 1652, 1653,
  1401  	530, 1877, 1502, 1676, 1625, 2209, 1640, 1502, 1502, 2267,
  1402  	1177, 543, 1660, 1661, 1662, 1663, 1639, 1837, 2265, 2211,
  1403  	1624, 714, 1713, 1177, 714, 2214, 1177, 1700, 2116, 2115,
  1404  	2112, 2113, 2112, 2111, 1177, 1856, 1177, 1877, 1177, 1784,
  1405  	1177, 1769, 1962, 176, 1598, 1599, 1177, 1277, 1947, 1856,
  1406  	176, 1941, 1942, 1714, 1671, 176, 176, 1666, 1667, 176,
  1407  	1848, 176, 1684, 1707, 1878, 1682, 1710, 176, 1711, 1692,
  1408  	1681, 1632, 94, 1880, 176, 1722, 1837, 1836, 1855, 1833,
  1409  	1065, 1177, 1511, 1277, 1276, 1065, 1671, 1706, 1709, 1517,
  1410  	1518, 1705, 905, 1723, 88, 1084, 2391, 1781, 2082, 1724,
  1411  	1878, 1837, 176, 530, 1726, 1727, 906, 1769, 1562, 1769,
  1412  	1713, 1565, 1566, 1222, 1221, 1856, 1312, 1085, 1086, 1087,
  1413  	1088, 1089, 1090, 1091, 1093, 1092, 1094, 1095, 2051, 2114,
  1414  	1672, 2209, 1856, 2252, 1760, 1761, 1626, 1784, 2209, 1763,
  1415  	1784, 1084, 1803, 1802, 1080, 1587, 1081, 1713, 1764, 1697,
  1416  	1600, 1784, 1181, 1570, 1479, 1458, 1404, 1344, 1208, 1732,
  1417  	1082, 1083, 1079, 1085, 1086, 1087, 1088, 1089, 1090, 1091,
  1418  	1093, 1092, 1094, 1095, 670, 888, 887, 2491, 2444, 2486,
  1419  	1778, 1753, 1780, 2253, 2254, 2255, 2408, 1923, 81, 2385,
  1420  	2379, 2348, 1184, 2323, 2244, 1279, 1669, 2148, 1779, 2110,
  1421  	1948, 1665, 1659, 1658, 1392, 1307, 1303, 1345, 1346, 1347,
  1422  	1275, 2381, 1861, 1864, 1865, 1866, 1862, 107, 1863, 1867,
  1423  	2256, 176, 2221, 2222, 1341, 1924, 2151, 970, 2349, 176,
  1424  	1680, 2221, 2222, 1815, 1924, 1767, 2448, 530, 1861, 1864,
  1425  	1865, 1866, 1862, 2417, 1863, 1867, 2224, 2131, 1842, 2130,
  1426  	2129, 81, 2051, 1480, 1934, 1754, 1777, 177, 1451, 177,
  1427  	1176, 2073, 177, 1175, 1171, 2227, 2074, 2257, 2258, 176,
  1428  	176, 1342, 1343, 1852, 1175, 1171, 2071, 34, 1172, 2226,
  1429  	2075, 2072, 1865, 1866, 2070, 1887, 1872, 2069, 2460, 1172,
  1430  	531, 531, 531, 2437, 1594, 1185, 1796, 1586, 1561, 2215,
  1431  	2135, 2031, 1838, 1584, 1585, 1174, 2030, 1173, 531, 531,
  1432  	2043, 2045, 2202, 2367, 1168, 1169, 1174, 2302, 1173, 2046,
  1433  	2201, 2304, 684, 2205, 1834, 2040, 1403, 659, 1909, 1645,
  1434  	685, 530, 1928, 1521, 935, 934, 176, 86, 1154, 1560,
  1435  	1816, 2161, 1824, 176, 88, 86, 1923, 1522, 87, 530,
  1436  	1986, 1940, 1871, 1038, 2207, 530, 87, 1912, 1913, 1315,
  1437  	1315, 1892, 1835, 1830, 530, 1955, 1845, 1954, 114, 88,
  1438  	95, 1602, 1603, 1879, 2127, 1757, 1959, 1882, 2388, 2344,
  1439  	1798, 94, 1908, 93, 1869, 1591, 1875, 176, 176, 176,
  1440  	176, 176, 88, 692, 693, 2029, 1746, 95, 1773, 1893,
  1441  	93, 1676, 2445, 2028, 176, 176, 2310, 2308, 94, 1916,
  1442  	93, 2307, 2300, 2206, 2204, 1926, 2132, 2091, 1698, 95,
  1443  	176, 1925, 691, 94, 2299, 2195, 1848, 2450, 2449, 1931,
  1444  	94, 1957, 1833, 1804, 1202, 1194, 177, 100, 101, 1502,
  1445  	2450, 1295, 1935, 1936, 1937, 2373, 2103, 682, 97, 82,
  1446  	1, 2419, 499, 177, 1571, 1193, 1152, 513, 2415, 1379,
  1447  	530, 1958, 1369, 1949, 1950, 1956, 2276, 2345, 1674, 896,
  1448  	139, 1635, 531, 1636, 530, 2022, 177, 2432, 104, 666,
  1449  	859, 531, 2012, 103, 176, 899, 997, 531, 530, 1699,
  1450  	2268, 1910, 1646, 1228, 1226, 1227, 1994, 530, 1794, 1225,
  1451  	1230, 1229, 1224, 1993, 530, 530, 1452, 176, 176, 176,
  1452  	176, 176, 2022, 527, 1868, 2033, 174, 2048, 1217, 176,
  1453  	1978, 672, 1195, 2057, 176, 176, 936, 176, 2008, 2063,
  1454  	176, 176, 176, 1995, 1806, 1807, 2009, 489, 2117, 1730,
  1455  	2054, 1164, 495, 1108, 2027, 2054, 1883, 2021, 711, 704,
  1456  	2059, 2034, 2199, 2106, 2039, 2041, 1840, 2044, 176, 2037,
  1457  	2366, 2301, 2387, 2032, 1643, 1191, 1795, 2081, 1115, 1984,
  1458  	2035, 1523, 1985, 1617, 1579, 1472, 552, 551, 549, 2125,
  1459  	1826, 1849, 1071, 603, 1203, 176, 2064, 673, 674, 2067,
  1460  	1860, 2076, 530, 1858, 2083, 1857, 1755, 2084, 1621, 530,
  1461  	89, 2137, 2026, 2223, 176, 2219, 1615, 2080, 2100, 2085,
  1462  	1832, 560, 1413, 2099, 176, 553, 2092, 545, 2096, 2065,
  1463  	2066, 601, 2068, 2095, 2098, 1644, 1965, 2145, 176, 1050,
  1464  	1167, 176, 539, 2062, 2134, 871, 177, 1520, 2350, 1772,
  1465  	2120, 2162, 2181, 583, 1166, 2121, 1533, 2010, 2011, 1534,
  1466  	2329, 1889, 2014, 60, 38, 534, 2456, 2016, 2017, 2018,
  1467  	2136, 2122, 2123, 1041, 2143, 698, 2100, 2133, 531, 32,
  1468  	31, 2099, 2141, 30, 1676, 29, 28, 23, 176, 22,
  1469  	2157, 21, 20, 19, 25, 531, 531, 2156, 531, 18,
  1470  	531, 531, 17, 531, 531, 531, 531, 531, 531, 2159,
  1471  	2160, 16, 529, 2049, 109, 2170, 2164, 47, 531, 44,
  1472  	42, 116, 177, 2163, 115, 45, 2193, 41, 973, 39,
  1473  	27, 26, 15, 14, 13, 12, 11, 10, 177, 9,
  1474  	5, 4, 1044, 176, 24, 2, 2203, 2196, 2236, 531,
  1475  	0, 177, 0, 0, 0, 0, 712, 2218, 2208, 863,
  1476  	0, 870, 0, 0, 0, 0, 177, 2228, 0, 0,
  1477  	0, 2225, 0, 2167, 2168, 0, 2169, 2232, 2233, 2171,
  1478  	0, 2173, 177, 2230, 0, 0, 0, 176, 0, 177,
  1479  	176, 176, 176, 530, 0, 2263, 0, 0, 177, 177,
  1480  	177, 177, 177, 177, 177, 177, 177, 531, 531, 531,
  1481  	2231, 2243, 530, 530, 530, 530, 0, 2241, 2242, 0,
  1482  	0, 0, 0, 0, 0, 0, 0, 0, 2246, 2283,
  1483  	2248, 0, 0, 0, 2272, 0, 0, 177, 0, 0,
  1484  	0, 0, 0, 0, 0, 0, 0, 0, 0, 530,
  1485  	530, 530, 176, 0, 0, 0, 0, 0, 0, 0,
  1486  	0, 2286, 0, 0, 0, 0, 0, 0, 0, 0,
  1487  	0, 0, 2281, 0, 0, 530, 0, 530, 0, 0,
  1488  	2183, 0, 0, 0, 0, 2282, 0, 2317, 2294, 2295,
  1489  	2297, 34, 0, 2057, 2296, 2306, 531, 2057, 0, 2305,
  1490  	0, 2319, 2313, 2315, 0, 530, 0, 2333, 0, 2054,
  1491  	0, 531, 531, 666, 0, 0, 2321, 0, 0, 0,
  1492  	0, 0, 0, 543, 2325, 2326, 0, 0, 0, 0,
  1493  	0, 0, 0, 0, 0, 0, 530, 0, 0, 0,
  1494  	0, 177, 0, 0, 1178, 1180, 0, 0, 0, 2337,
  1495  	0, 2347, 0, 2339, 2340, 0, 0, 0, 0, 2240,
  1496  	0, 0, 0, 0, 0, 0, 0, 177, 0, 0,
  1497  	531, 0, 0, 0, 0, 2245, 0, 0, 0, 0,
  1498  	177, 0, 2363, 531, 530, 2362, 2377, 0, 177, 0,
  1499  	177, 2365, 177, 177, 531, 0, 0, 531, 2057, 0,
  1500  	0, 2376, 2374, 0, 0, 0, 0, 2271, 531, 530,
  1501  	176, 2393, 0, 0, 0, 0, 0, 0, 2390, 530,
  1502  	666, 0, 34, 2378, 0, 0, 0, 0, 0, 0,
  1503  	0, 0, 0, 0, 0, 0, 530, 0, 0, 0,
  1504  	0, 0, 2284, 0, 2285, 0, 530, 0, 2414, 2288,
  1505  	2289, 0, 530, 530, 0, 0, 0, 2403, 2406, 0,
  1506  	0, 0, 2426, 531, 2418, 0, 34, 2347, 2433, 530,
  1507  	2423, 2441, 2431, 2054, 0, 2314, 0, 0, 0, 0,
  1508  	0, 0, 0, 0, 0, 0, 2322, 531, 0, 2324,
  1509  	2447, 0, 0, 531, 0, 0, 0, 2453, 0, 0,
  1510  	0, 0, 0, 0, 0, 0, 0, 2461, 0, 2459,
  1511  	0, 0, 0, 0, 0, 2464, 2463, 0, 2470, 0,
  1512  	0, 0, 0, 0, 0, 0, 0, 2474, 2472, 2475,
  1513  	0, 0, 0, 0, 0, 531, 0, 0, 2484, 0,
  1514  	0, 2485, 0, 2487, 0, 0, 0, 0, 0, 2489,
  1515  	0, 0, 530, 0, 2493, 0, 0, 0, 2498, 0,
  1516  	0, 0, 0, 0, 2364, 543, 0, 0, 712, 712,
  1517  	712, 0, 0, 0, 0, 0, 0, 0, 177, 72,
  1518  	36, 37, 74, 0, 0, 177, 1040, 1042, 0, 0,
  1519  	177, 177, 0, 0, 177, 2384, 177, 0, 0, 78,
  1520  	0, 0, 177, 40, 66, 67, 0, 64, 68, 177,
  1521  	0, 0, 0, 0, 0, 0, 65, 0, 0, 0,
  1522  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1523  	0, 584, 0, 0, 0, 0, 0, 177, 531, 0,
  1524  	0, 0, 0, 0, 2407, 53, 0, 0, 0, 0,
  1525  	0, 0, 0, 0, 2427, 0, 81, 0, 0, 0,
  1526  	0, 0, 1146, 0, 0, 0, 0, 0, 0, 0,
  1527  	0, 0, 0, 0, 0, 0, 0, 0, 0, 175,
  1528  	0, 0, 485, 0, 0, 525, 0, 0, 0, 0,
  1529  	0, 0, 485, 0, 0, 0, 0, 0, 0, 0,
  1530  	485, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1531  	0, 0, 679, 0, 0, 0, 0, 0, 0, 0,
  1532  	0, 0, 0, 0, 0, 0, 0, 0, 697, 0,
  1533  	697, 0, 0, 0, 0, 0, 0, 0, 485, 0,
  1534  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1535  	1198, 2490, 0, 0, 0, 0, 177, 0, 0, 712,
  1536  	0, 0, 0, 0, 177, 1218, 0, 0, 0, 0,
  1537  	0, 0, 531, 0, 0, 0, 43, 46, 49, 48,
  1538  	51, 0, 63, 0, 0, 69, 0, 0, 0, 0,
  1539  	1527, 0, 0, 0, 1528, 0, 0, 0, 0, 0,
  1540  	0, 0, 0, 0, 177, 177, 0, 52, 77, 76,
  1541  	0, 0, 61, 62, 50, 0, 0, 0, 0, 0,
  1542  	1178, 1569, 0, 0, 0, 0, 0, 0, 0, 0,
  1543  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1544  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1545  	1589, 0, 0, 0, 54, 55, 0, 56, 57, 58,
  1546  	59, 0, 0, 0, 0, 0, 531, 0, 0, 0,
  1547  	0, 177, 0, 0, 0, 0, 0, 0, 177, 0,
  1548  	0, 0, 0, 0, 531, 0, 0, 0, 0, 0,
  1549  	531, 0, 0, 0, 0, 0, 0, 0, 0, 531,
  1550  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1551  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1552  	0, 0, 177, 177, 177, 177, 177, 0, 0, 0,
  1553  	1155, 0, 0, 0, 0, 0, 0, 0, 0, 177,
  1554  	177, 0, 0, 0, 0, 0, 863, 0, 0, 0,
  1555  	0, 0, 0, 0, 0, 177, 0, 0, 0, 1146,
  1556  	0, 0, 0, 1321, 1321, 0, 1321, 0, 1321, 1321,
  1557  	0, 1330, 1321, 1321, 1321, 1321, 1321, 0, 0, 75,
  1558  	0, 484, 0, 0, 1146, 1146, 863, 0, 0, 0,
  1559  	0, 533, 80, 0, 0, 531, 0, 0, 0, 662,
  1560  	0, 0, 0, 0, 0, 0, 0, 0, 0, 531,
  1561  	0, 0, 0, 0, 0, 0, 0, 1391, 0, 177,
  1562  	0, 0, 0, 531, 0, 0, 0, 0, 0, 0,
  1563  	0, 0, 531, 0, 0, 0, 0, 867, 0, 531,
  1564  	531, 0, 177, 177, 177, 177, 177, 0, 0, 0,
  1565  	0, 0, 0, 0, 177, 0, 0, 0, 0, 177,
  1566  	177, 0, 177, 0, 0, 177, 177, 177, 0, 0,
  1567  	0, 0, 0, 0, 0, 712, 712, 712, 0, 0,
  1568  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1569  	0, 0, 0, 177, 0, 0, 0, 0, 0, 0,
  1570  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1571  	0, 0, 0, 485, 0, 485, 0, 0, 485, 0,
  1572  	177, 0, 0, 0, 0, 0, 0, 531, 0, 0,
  1573  	0, 0, 0, 0, 531, 0, 0, 0, 0, 177,
  1574  	0, 0, 0, 0, 0, 0, 0, 0, 0, 177,
  1575  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1576  	0, 0, 0, 177, 1516, 0, 177, 0, 0, 0,
  1577  	0, 1146, 0, 0, 0, 0, 0, 0, 0, 1531,
  1578  	1532, 0, 1785, 712, 0, 172, 1789, 0, 1790, 1791,
  1579  	0, 0, 0, 0, 0, 0, 0, 1799, 0, 0,
  1580  	1800, 1801, 0, 0, 0, 0, 0, 0, 0, 114,
  1581  	0, 136, 0, 177, 0, 0, 0, 0, 0, 0,
  1582  	0, 0, 156, 0, 0, 0, 1805, 0, 0, 0,
  1583  	0, 0, 0, 1810, 1811, 1812, 1813, 1814, 1593, 1589,
  1584  	1147, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1585  	1825, 1198, 0, 146, 712, 0, 0, 0, 135, 0,
  1586  	0, 0, 712, 0, 0, 712, 0, 0, 177, 0,
  1587  	0, 0, 0, 0, 0, 0, 863, 0, 0, 153,
  1588  	0, 154, 0, 0, 0, 0, 0, 123, 124, 145,
  1589  	144, 171, 485, 0, 0, 0, 0, 0, 0, 0,
  1590  	0, 0, 0, 0, 0, 0, 0, 0, 0, 679,
  1591  	0, 0, 177, 0, 0, 177, 177, 177, 531, 0,
  1592  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1593  	0, 870, 485, 0, 0, 0, 0, 531, 531, 531,
  1594  	531, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1595  	0, 0, 0, 0, 0, 863, 0, 0, 0, 0,
  1596  	0, 870, 0, 0, 0, 0, 0, 0, 0, 0,
  1597  	0, 0, 0, 0, 531, 531, 531, 177, 0, 0,
  1598  	0, 0, 0, 0, 140, 121, 147, 128, 120, 0,
  1599  	141, 142, 0, 0, 0, 157, 0, 0, 0, 0,
  1600  	531, 0, 531, 863, 162, 129, 0, 0, 0, 0,
  1601  	0, 0, 974, 0, 979, 0, 0, 981, 0, 132,
  1602  	130, 125, 126, 127, 131, 0, 0, 0, 0, 122,
  1603  	531, 0, 0, 0, 0, 0, 0, 0, 133, 0,
  1604  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1605  	0, 172, 0, 0, 0, 0, 0, 0, 0, 0,
  1606  	0, 531, 0, 0, 0, 0, 0, 0, 0, 0,
  1607  	0, 0, 0, 0, 0, 114, 0, 2019, 2020, 0,
  1608  	0, 0, 0, 0, 0, 0, 0, 0, 156, 0,
  1609  	0, 0, 485, 0, 0, 0, 0, 0, 610, 73,
  1610  	0, 0, 0, 0, 0, 0, 1766, 0, 0, 531,
  1611  	0, 149, 0, 0, 0, 0, 0, 0, 0, 0,
  1612  	0, 0, 0, 0, 2060, 0, 0, 0, 0, 0,
  1613  	1891, 0, 0, 0, 531, 177, 0, 1147, 0, 0,
  1614  	0, 2078, 2079, 0, 531, 153, 0, 154, 0, 0,
  1615  	0, 0, 0, 0, 0, 0, 0, 171, 0, 0,
  1616  	0, 531, 1147, 1147, 0, 0, 0, 0, 485, 0,
  1617  	669, 531, 73, 0, 0, 0, 0, 531, 531, 0,
  1618  	0, 0, 0, 0, 1367, 0, 0, 143, 0, 0,
  1619  	669, 0, 172, 0, 531, 0, 0, 485, 0, 137,
  1620  	0, 0, 138, 0, 0, 0, 0, 0, 0, 0,
  1621  	0, 0, 1412, 0, 0, 0, 114, 0, 0, 0,
  1622  	0, 712, 0, 0, 0, 0, 0, 0, 485, 156,
  1623  	0, 1205, 0, 0, 0, 485, 0, 0, 0, 0,
  1624  	1827, 0, 0, 0, 1435, 1436, 485, 485, 485, 485,
  1625  	485, 485, 485, 0, 0, 0, 0, 0, 0, 0,
  1626  	0, 157, 0, 0, 0, 0, 0, 0, 2166, 0,
  1627  	162, 0, 0, 0, 0, 0, 0, 531, 0, 2175,
  1628  	2176, 2178, 2180, 485, 0, 0, 153, 0, 154, 2186,
  1629  	0, 0, 2187, 0, 0, 0, 0, 2191, 171, 0,
  1630  	0, 0, 0, 150, 155, 152, 158, 159, 160, 161,
  1631  	163, 164, 165, 166, 0, 0, 0, 0, 0, 167,
  1632  	168, 169, 170, 0, 0, 0, 0, 0, 0, 2212,
  1633  	2213, 0, 0, 2217, 1929, 0, 697, 0, 0, 0,
  1634  	0, 0, 0, 697, 697, 0, 0, 0, 0, 1147,
  1635  	0, 2229, 1593, 0, 0, 0, 0, 0, 1946, 0,
  1636  	697, 1412, 697, 697, 697, 697, 697, 1951, 0, 0,
  1637  	0, 0, 0, 0, 0, 0, 0, 149, 0, 0,
  1638  	0, 0, 0, 0, 0, 0, 0, 1367, 0, 0,
  1639  	0, 1223, 0, 0, 0, 0, 0, 0, 0, 697,
  1640  	0, 0, 157, 0, 0, 0, 0, 0, 0, 2266,
  1641  	0, 162, 0, 679, 0, 0, 0, 0, 0, 0,
  1642  	0, 0, 0, 0, 0, 0, 485, 0, 0, 0,
  1643  	0, 0, 1412, 0, 485, 0, 485, 0, 485, 1623,
  1644  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1645  	0, 0, 0, 0, 0, 0, 0, 0, 0, 2291,
  1646  	0, 0, 0, 712, 0, 0, 0, 1352, 0, 0,
  1647  	0, 0, 0, 0, 0, 0, 0, 1321, 0, 0,
  1648  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1649  	0, 2036, 0, 0, 0, 0, 1393, 0, 0, 0,
  1650  	712, 0, 0, 0, 1146, 0, 0, 2061, 1321, 1146,
  1651  	0, 2332, 0, 0, 0, 0, 0, 0, 149, 0,
  1652  	0, 0, 0, 0, 0, 0, 0, 1422, 0, 0,
  1653  	0, 0, 0, 0, 1426, 0, 0, 0, 0, 0,
  1654  	0, 0, 2343, 0, 0, 1437, 1438, 1439, 1440, 1441,
  1655  	1442, 1443, 0, 0, 0, 2353, 2354, 2355, 0, 2356,
  1656  	2357, 2359, 0, 0, 0, 2360, 2361, 0, 0, 150,
  1657  	155, 152, 158, 159, 160, 161, 163, 164, 165, 166,
  1658  	0, 0, 1461, 0, 0, 167, 168, 169, 170, 0,
  1659  	0, 0, 0, 0, 0, 863, 0, 0, 1146, 0,
  1660  	0, 0, 1593, 0, 0, 0, 0, 0, 0, 0,
  1661  	0, 0, 0, 1033, 1033, 1033, 0, 1245, 0, 0,
  1662  	0, 2395, 0, 0, 485, 0, 0, 0, 0, 0,
  1663  	0, 485, 0, 73, 0, 0, 485, 485, 0, 0,
  1664  	485, 0, 1758, 0, 0, 0, 0, 0, 485, 0,
  1665  	0, 0, 0, 0, 0, 485, 0, 0, 0, 0,
  1666  	669, 1104, 1105, 1106, 0, 1109, 0, 1111, 1112, 1113,
  1667  	1114, 0, 1117, 1119, 1119, 0, 1119, 1123, 1123, 1125,
  1668  	1126, 1127, 1128, 485, 1130, 1131, 1132, 1133, 1134, 0,
  1669  	0, 0, 0, 1123, 1123, 1123, 1123, 1123, 2454, 2455,
  1670  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1671  	150, 155, 152, 158, 159, 160, 161, 163, 164, 165,
  1672  	166, 0, 0, 0, 0, 1604, 167, 168, 169, 170,
  1673  	0, 0, 0, 1608, 0, 1611, 0, 0, 1461, 0,
  1674  	0, 0, 0, 0, 1233, 0, 0, 0, 0, 0,
  1675  	0, 0, 697, 0, 0, 0, 0, 0, 0, 0,
  1676  	0, 1156, 0, 0, 669, 0, 0, 0, 669, 0,
  1677  	0, 0, 0, 0, 669, 0, 0, 0, 0, 0,
  1678  	0, 0, 0, 0, 0, 0, 1593, 0, 697, 697,
  1679  	0, 0, 0, 0, 0, 0, 0, 0, 0, 1412,
  1680  	0, 0, 485, 0, 0, 2277, 2278, 2279, 2280, 0,
  1681  	1367, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1682  	0, 0, 0, 0, 1246, 0, 0, 0, 0, 0,
  1683  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1684  	0, 0, 2292, 2292, 2292, 0, 0, 0, 0, 0,
  1685  	485, 485, 0, 0, 0, 0, 0, 0, 0, 0,
  1686  	0, 0, 0, 1146, 0, 0, 0, 0, 2318, 0,
  1687  	2320, 0, 0, 0, 0, 0, 1259, 1262, 1263, 1264,
  1688  	1265, 1266, 1267, 0, 1268, 1269, 1270, 1271, 1272, 1247,
  1689  	1248, 1249, 1250, 1231, 1232, 1260, 0, 1234, 1593, 1235,
  1690  	1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1251,
  1691  	1252, 1253, 1254, 1255, 1256, 1257, 1258, 485, 0, 0,
  1692  	0, 0, 0, 1461, 1938, 0, 0, 0, 0, 712,
  1693  	1741, 0, 0, 0, 0, 1751, 1752, 0, 0, 1756,
  1694  	0, 0, 0, 0, 0, 0, 0, 1759, 0, 0,
  1695  	0, 0, 0, 0, 1762, 172, 0, 0, 0, 0,
  1696  	0, 0, 0, 0, 0, 0, 1939, 0, 485, 485,
  1697  	485, 485, 485, 0, 0, 0, 0, 1593, 0, 114,
  1698  	0, 136, 1765, 0, 0, 485, 485, 0, 0, 0,
  1699  	0, 0, 156, 0, 0, 0, 0, 0, 0, 0,
  1700  	0, 485, 1593, 0, 1261, 0, 0, 0, 0, 0,
  1701  	0, 0, 2399, 0, 0, 0, 697, 0, 0, 0,
  1702  	0, 0, 0, 146, 0, 0, 0, 1146, 135, 2404,
  1703  	0, 0, 0, 0, 0, 0, 0, 0, 0, 1593,
  1704  	697, 0, 0, 0, 0, 712, 712, 0, 0, 153,
  1705  	0, 154, 0, 0, 0, 0, 0, 1298, 1299, 145,
  1706  	144, 171, 1593, 0, 0, 485, 0, 0, 0, 0,
  1707  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1708  	0, 0, 1147, 0, 0, 0, 0, 1147, 485, 485,
  1709  	485, 485, 485, 0, 0, 0, 0, 0, 0, 0,
  1710  	2077, 0, 0, 0, 0, 485, 1367, 0, 485, 0,
  1711  	0, 485, 2086, 1412, 0, 0, 0, 0, 0, 0,
  1712  	1033, 1033, 1033, 0, 0, 0, 0, 0, 0, 0,
  1713  	0, 0, 0, 0, 0, 0, 0, 0, 0, 485,
  1714  	0, 0, 0, 0, 0, 1593, 172, 0, 0, 0,
  1715  	1874, 0, 0, 0, 140, 1300, 147, 1294, 1297, 0,
  1716  	141, 142, 0, 0, 0, 157, 485, 0, 0, 0,
  1717  	114, 0, 136, 0, 162, 0, 1147, 0, 0, 0,
  1718  	0, 0, 0, 156, 0, 485, 0, 0, 0, 0,
  1719  	0, 0, 0, 0, 0, 485, 0, 0, 0, 0,
  1720  	0, 0, 0, 0, 0, 0, 0, 0, 0, 485,
  1721  	0, 0, 485, 0, 146, 0, 1932, 0, 0, 135,
  1722  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1723  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1724  	153, 0, 154, 0, 0, 0, 0, 0, 1298, 1299,
  1725  	145, 144, 171, 0, 0, 0, 0, 0, 0, 485,
  1726  	0, 0, 0, 0, 0, 0, 0, 1969, 1970, 1971,
  1727  	1972, 1973, 0, 0, 0, 0, 0, 0, 0, 0,
  1728  	0, 149, 0, 0, 1461, 1979, 0, 0, 0, 0,
  1729  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1730  	1987, 0, 0, 0, 0, 1618, 1506, 1507, 0, 0,
  1731  	0, 0, 1509, 0, 485, 0, 0, 0, 0, 0,
  1732  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1733  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1734  	0, 0, 0, 0, 0, 140, 1300, 147, 0, 1297,
  1735  	0, 141, 142, 0, 0, 0, 157, 143, 485, 0,
  1736  	0, 485, 485, 485, 0, 162, 0, 0, 0, 137,
  1737  	0, 0, 138, 0, 618, 619, 620, 621, 622, 623,
  1738  	624, 625, 626, 627, 628, 629, 630, 631, 632, 633,
  1739  	634, 635, 636, 637, 638, 639, 640, 641, 642, 643,
  1740  	644, 645, 646, 647, 648, 649, 650, 651, 652, 653,
  1741  	654, 655, 656, 657, 658, 0, 0, 0, 0, 0,
  1742  	0, 0, 0, 1367, 0, 0, 0, 0, 0, 0,
  1743  	0, 0, 0, 0, 0, 0, 0, 0, 2109, 0,
  1744  	0, 1147, 0, 0, 0, 0, 0, 0, 0, 0,
  1745  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1746  	0, 0, 0, 0, 0, 2128, 0, 0, 0, 0,
  1747  	0, 0, 149, 150, 155, 152, 158, 159, 160, 161,
  1748  	163, 164, 165, 166, 2140, 0, 0, 0, 0, 167,
  1749  	168, 169, 170, 0, 2144, 0, 0, 0, 0, 0,
  1750  	0, 0, 0, 0, 0, 0, 0, 0, 2155, 0,
  1751  	0, 2158, 0, 0, 0, 0, 0, 0, 0, 0,
  1752  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1753  	0, 0, 81, 0, 0, 0, 0, 0, 604, 611,
  1754  	612, 613, 614, 615, 605, 607, 0, 0, 143, 606,
  1755  	0, 0, 609, 616, 617, 0, 0, 0, 2192, 0,
  1756  	137, 0, 0, 138, 0, 0, 0, 0, 0, 0,
  1757  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1758  	0, 485, 0, 0, 0, 0, 0, 0, 0, 0,
  1759  	0, 0, 0, 0, 0, 2101, 2102, 0, 0, 0,
  1760  	0, 0, 0, 0, 0, 1147, 0, 618, 619, 620,
  1761  	621, 622, 623, 624, 625, 626, 627, 628, 629, 630,
  1762  	631, 632, 633, 634, 635, 636, 637, 638, 639, 640,
  1763  	641, 642, 643, 644, 645, 646, 647, 648, 649, 650,
  1764  	651, 652, 653, 654, 655, 656, 657, 658, 0, 0,
  1765  	0, 0, 0, 0, 0, 0, 0, 2259, 1808, 0,
  1766  	2260, 2261, 2262, 0, 150, 155, 152, 158, 159, 160,
  1767  	161, 163, 164, 165, 166, 1823, 0, 0, 0, 0,
  1768  	167, 168, 169, 170, 0, 81, 0, 0, 0, 0,
  1769  	669, 604, 611, 612, 613, 614, 615, 605, 607, 0,
  1770  	0, 0, 606, 0, 0, 609, 616, 617, 1853, 1854,
  1771  	0, 0, 0, 0, 0, 0, 0, 1873, 0, 0,
  1772  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1773  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1774  	0, 0, 0, 0, 0, 0, 0, 0, 2101, 2102,
  1775  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1776  	618, 619, 620, 621, 622, 623, 624, 625, 626, 627,
  1777  	628, 629, 630, 631, 632, 633, 634, 635, 636, 637,
  1778  	638, 639, 640, 641, 642, 643, 644, 645, 646, 647,
  1779  	648, 649, 650, 651, 652, 653, 654, 655, 656, 657,
  1780  	658, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1781  	0, 0, 0, 1952, 0, 0, 0, 0, 0, 0,
  1782  	0, 0, 0, 0, 0, 594, 0, 0, 598, 0,
  1783  	595, 596, 0, 0, 0, 597, 0, 0, 0, 0,
  1784  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1785  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1786  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1787  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1788  	2394, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1789  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1790  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1791  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1792  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1793  	0, 0, 1618, 0, 0, 0, 0, 0, 0, 0,
  1794  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1795  	2058, 0, 73, 0, 0, 1618, 1618, 1618, 1618, 1618,
  1796  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1797  	0, 0, 1873, 0, 0, 1618, 0, 0, 1618, 0,
  1798  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1799  	0, 0, 0, 0, 0, 0, 2094, 0, 0, 0,
  1800  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1801  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1802  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1803  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1804  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1805  	0, 0, 0, 0, 2142, 0, 0, 0, 0, 0,
  1806  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1807  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1808  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1809  	0, 0, 0, 0, 0, 2165, 0, 0, 0, 0,
  1810  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1811  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1812  	0, 0, 2188, 2189, 2190, 0, 0, 0, 0, 0,
  1813  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1814  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1815  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1816  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1817  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1818  	0, 1618, 0, 0, 0, 0, 0, 0, 0, 0,
  1819  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1820  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1821  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1822  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1823  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1824  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1825  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1826  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1827  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1828  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1829  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1830  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1831  	2058, 0, 73, 0, 2058, 0, 0, 0, 0, 0,
  1832  	0, 0, 0, 841, 827, 409, 0, 774, 844, 744,
  1833  	762, 854, 765, 768, 809, 723, 787, 332, 759, 0,
  1834  	748, 719, 754, 720, 746, 776, 236, 743, 829, 791,
  1835  	843, 288, 233, 725, 749, 346, 764, 187, 811, 385,
  1836  	221, 298, 295, 416, 247, 239, 235, 220, 272, 304,
  1837  	344, 403, 338, 850, 292, 797, 0, 394, 317, 0,
  1838  	0, 0, 778, 833, 785, 823, 773, 810, 733, 796,
  1839  	845, 760, 806, 846, 278, 219, 186, 329, 395, 251,
  1840  	0, 0, 0, 0, 178, 179, 180, 0, 2434, 0,
  1841  	2435, 0, 0, 0, 0, 2058, 0, 210, 0, 217,
  1842  	756, 803, 840, 757, 805, 231, 276, 238, 230, 413,
  1843  	851, 832, 0, 0, 202, 842, 780, 2389, 808, 0,
  1844  	857, 718, 799, 73, 721, 724, 853, 836, 752, 241,
  1845  	0, 0, 0, 0, 0, 0, 0, 777, 786, 820,
  1846  	771, 0, 0, 0, 0, 0, 0, 0, 750, 0,
  1847  	795, 0, 0, 0, 729, 722, 0, 0, 0, 0,
  1848  	0, 0, 0, 0, 0, 0, 0, 73, 0, 0,
  1849  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1850  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1851  	0, 0, 0, 0, 0, 0, 0, 775, 0, 0,
  1852  	0, 732, 0, 751, 821, 0, 716, 259, 726, 318,
  1853  	0, 825, 835, 772, 445, 839, 770, 769, 815, 730,
  1854  	831, 763, 287, 728, 284, 182, 198, 0, 761, 328,
  1855  	368, 374, 830, 747, 755, 222, 753, 372, 342, 430,
  1856  	206, 249, 365, 347, 370, 794, 813, 371, 293, 418,
  1857  	360, 428, 446, 447, 229, 322, 436, 407, 442, 458,
  1858  	199, 226, 336, 400, 433, 391, 315, 414, 415, 283,
  1859  	390, 257, 185, 291, 452, 197, 380, 214, 204, 190,
  1860  	402, 426, 211, 383, 0, 0, 460, 192, 424, 399,
  1861  	311, 280, 281, 191, 0, 364, 234, 255, 224, 331,
  1862  	421, 422, 223, 461, 201, 441, 194, 1035, 440, 324,
  1863  	417, 425, 312, 303, 193, 423, 310, 302, 286, 245,
  1864  	266, 358, 296, 359, 267, 320, 319, 321, 0, 188,
  1865  	0, 396, 434, 462, 207, 208, 209, 742, 244, 248,
  1866  	254, 256, 262, 263, 270, 289, 335, 357, 355, 361,
  1867  	826, 412, 429, 437, 444, 450, 451, 453, 454, 455,
  1868  	456, 457, 323, 269, 392, 285, 294, 818, 856, 341,
  1869  	373, 212, 432, 393, 737, 741, 735, 800, 736, 789,
  1870  	790, 738, 847, 848, 849, 463, 464, 465, 466, 467,
  1871  	468, 469, 470, 471, 472, 473, 474, 475, 476, 477,
  1872  	478, 479, 480, 0, 822, 731, 0, 739, 740, 0,
  1873  	828, 837, 838, 793, 181, 195, 290, 852, 362, 252,
  1874  	459, 439, 435, 717, 734, 228, 745, 0, 0, 758,
  1875  	766, 767, 779, 781, 782, 783, 784, 314, 801, 802,
  1876  	804, 812, 814, 817, 819, 824, 834, 855, 183, 184,
  1877  	196, 205, 215, 227, 242, 250, 260, 265, 268, 273,
  1878  	274, 277, 282, 300, 305, 306, 307, 308, 325, 326,
  1879  	327, 330, 333, 334, 337, 339, 340, 343, 350, 351,
  1880  	352, 353, 354, 356, 363, 367, 375, 376, 377, 378,
  1881  	379, 381, 382, 386, 387, 388, 389, 397, 401, 419,
  1882  	420, 431, 443, 448, 261, 427, 449, 0, 299, 792,
  1883  	798, 301, 246, 264, 275, 807, 438, 398, 200, 369,
  1884  	253, 189, 218, 203, 225, 240, 243, 279, 309, 316,
  1885  	345, 349, 258, 237, 216, 366, 213, 384, 404, 405,
  1886  	406, 408, 313, 232, 348, 788, 816, 297, 410, 411,
  1887  	271, 841, 827, 409, 0, 774, 844, 744, 762, 854,
  1888  	765, 768, 809, 723, 787, 332, 759, 0, 748, 719,
  1889  	754, 720, 746, 776, 236, 743, 829, 791, 843, 288,
  1890  	233, 725, 749, 346, 764, 187, 811, 385, 221, 298,
  1891  	295, 416, 247, 239, 235, 220, 272, 304, 344, 403,
  1892  	338, 850, 292, 797, 0, 394, 317, 0, 0, 0,
  1893  	778, 833, 785, 823, 773, 810, 733, 796, 845, 760,
  1894  	806, 846, 278, 219, 186, 329, 395, 251, 0, 0,
  1895  	0, 0, 178, 179, 180, 0, 0, 0, 0, 0,
  1896  	0, 0, 0, 0, 0, 210, 0, 217, 756, 803,
  1897  	840, 757, 805, 231, 276, 238, 230, 413, 851, 832,
  1898  	0, 0, 202, 842, 780, 0, 808, 0, 857, 718,
  1899  	799, 0, 721, 724, 853, 836, 752, 241, 0, 0,
  1900  	0, 0, 0, 0, 0, 777, 786, 820, 771, 0,
  1901  	0, 0, 0, 0, 2087, 0, 750, 0, 795, 0,
  1902  	0, 0, 729, 722, 0, 0, 0, 0, 0, 0,
  1903  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1904  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1905  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1906  	0, 0, 0, 0, 0, 775, 0, 0, 0, 732,
  1907  	0, 751, 821, 0, 716, 259, 726, 318, 0, 825,
  1908  	835, 772, 445, 839, 770, 769, 815, 730, 831, 763,
  1909  	287, 728, 284, 182, 198, 0, 761, 328, 368, 374,
  1910  	830, 747, 755, 222, 753, 372, 342, 430, 206, 249,
  1911  	365, 347, 370, 794, 813, 371, 293, 418, 360, 428,
  1912  	446, 447, 229, 322, 436, 407, 442, 458, 199, 226,
  1913  	336, 400, 433, 391, 315, 414, 415, 283, 390, 257,
  1914  	185, 291, 452, 197, 380, 214, 204, 190, 402, 426,
  1915  	211, 383, 0, 0, 460, 192, 424, 399, 311, 280,
  1916  	281, 191, 0, 364, 234, 255, 224, 331, 421, 422,
  1917  	223, 461, 201, 441, 194, 1035, 440, 324, 417, 425,
  1918  	312, 303, 193, 423, 310, 302, 286, 245, 266, 358,
  1919  	296, 359, 267, 320, 319, 321, 0, 188, 0, 396,
  1920  	434, 462, 207, 208, 209, 742, 244, 248, 254, 256,
  1921  	262, 263, 270, 289, 335, 357, 355, 361, 826, 412,
  1922  	429, 437, 444, 450, 451, 453, 454, 455, 456, 457,
  1923  	323, 269, 392, 285, 294, 818, 856, 341, 373, 212,
  1924  	432, 393, 737, 741, 735, 800, 736, 789, 790, 738,
  1925  	847, 848, 849, 463, 464, 465, 466, 467, 468, 469,
  1926  	470, 471, 472, 473, 474, 475, 476, 477, 478, 479,
  1927  	480, 0, 822, 731, 0, 739, 740, 0, 828, 837,
  1928  	838, 793, 181, 195, 290, 852, 362, 252, 459, 439,
  1929  	435, 717, 734, 228, 745, 0, 0, 758, 766, 767,
  1930  	779, 781, 782, 783, 784, 314, 801, 802, 804, 812,
  1931  	814, 817, 819, 824, 834, 855, 183, 184, 196, 205,
  1932  	215, 227, 242, 250, 260, 265, 268, 273, 274, 277,
  1933  	282, 300, 305, 306, 307, 308, 325, 326, 327, 330,
  1934  	333, 334, 337, 339, 340, 343, 350, 351, 352, 353,
  1935  	354, 356, 363, 367, 375, 376, 377, 378, 379, 381,
  1936  	382, 386, 387, 388, 389, 397, 401, 419, 420, 431,
  1937  	443, 448, 261, 427, 449, 0, 299, 792, 798, 301,
  1938  	246, 264, 275, 807, 438, 398, 200, 369, 253, 189,
  1939  	218, 203, 225, 240, 243, 279, 309, 316, 345, 349,
  1940  	258, 237, 216, 366, 213, 384, 404, 405, 406, 408,
  1941  	313, 232, 348, 788, 816, 297, 410, 411, 271, 841,
  1942  	827, 409, 0, 774, 844, 744, 762, 854, 765, 768,
  1943  	809, 723, 787, 332, 759, 0, 748, 719, 754, 720,
  1944  	746, 776, 236, 743, 829, 791, 843, 288, 233, 725,
  1945  	749, 346, 764, 187, 811, 385, 221, 298, 295, 416,
  1946  	247, 239, 235, 220, 272, 304, 344, 403, 338, 850,
  1947  	292, 797, 0, 394, 317, 0, 0, 0, 778, 833,
  1948  	785, 823, 773, 810, 733, 796, 845, 760, 806, 846,
  1949  	278, 219, 186, 329, 395, 251, 0, 0, 0, 0,
  1950  	178, 179, 180, 0, 0, 0, 0, 0, 0, 0,
  1951  	0, 0, 0, 210, 0, 217, 756, 803, 840, 757,
  1952  	805, 231, 276, 238, 230, 413, 851, 832, 0, 0,
  1953  	202, 842, 780, 0, 808, 0, 857, 718, 799, 0,
  1954  	721, 724, 853, 836, 752, 241, 0, 0, 0, 0,
  1955  	0, 0, 0, 777, 786, 820, 771, 0, 0, 0,
  1956  	0, 0, 2047, 0, 750, 0, 795, 0, 0, 0,
  1957  	729, 722, 0, 0, 0, 0, 0, 0, 0, 0,
  1958  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1959  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1960  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1961  	0, 0, 0, 775, 0, 0, 0, 732, 0, 751,
  1962  	821, 0, 716, 259, 726, 318, 0, 825, 835, 772,
  1963  	445, 839, 770, 769, 815, 730, 831, 763, 287, 728,
  1964  	284, 182, 198, 0, 761, 328, 368, 374, 830, 747,
  1965  	755, 222, 753, 372, 342, 430, 206, 249, 365, 347,
  1966  	370, 794, 813, 371, 293, 418, 360, 428, 446, 447,
  1967  	229, 322, 436, 407, 442, 458, 199, 226, 336, 400,
  1968  	433, 391, 315, 414, 415, 283, 390, 257, 185, 291,
  1969  	452, 197, 380, 214, 204, 190, 402, 426, 211, 383,
  1970  	0, 0, 460, 192, 424, 399, 311, 280, 281, 191,
  1971  	0, 364, 234, 255, 224, 331, 421, 422, 223, 461,
  1972  	201, 441, 194, 1035, 440, 324, 417, 425, 312, 303,
  1973  	193, 423, 310, 302, 286, 245, 266, 358, 296, 359,
  1974  	267, 320, 319, 321, 0, 188, 0, 396, 434, 462,
  1975  	207, 208, 209, 742, 244, 248, 254, 256, 262, 263,
  1976  	270, 289, 335, 357, 355, 361, 826, 412, 429, 437,
  1977  	444, 450, 451, 453, 454, 455, 456, 457, 323, 269,
  1978  	392, 285, 294, 818, 856, 341, 373, 212, 432, 393,
  1979  	737, 741, 735, 800, 736, 789, 790, 738, 847, 848,
  1980  	849, 463, 464, 465, 466, 467, 468, 469, 470, 471,
  1981  	472, 473, 474, 475, 476, 477, 478, 479, 480, 0,
  1982  	822, 731, 0, 739, 740, 0, 828, 837, 838, 793,
  1983  	181, 195, 290, 852, 362, 252, 459, 439, 435, 717,
  1984  	734, 228, 745, 0, 0, 758, 766, 767, 779, 781,
  1985  	782, 783, 784, 314, 801, 802, 804, 812, 814, 817,
  1986  	819, 824, 834, 855, 183, 184, 196, 205, 215, 227,
  1987  	242, 250, 260, 265, 268, 273, 274, 277, 282, 300,
  1988  	305, 306, 307, 308, 325, 326, 327, 330, 333, 334,
  1989  	337, 339, 340, 343, 350, 351, 352, 353, 354, 356,
  1990  	363, 367, 375, 376, 377, 378, 379, 381, 382, 386,
  1991  	387, 388, 389, 397, 401, 419, 420, 431, 443, 448,
  1992  	261, 427, 449, 0, 299, 792, 798, 301, 246, 264,
  1993  	275, 807, 438, 398, 200, 369, 253, 189, 218, 203,
  1994  	225, 240, 243, 279, 309, 316, 345, 349, 258, 237,
  1995  	216, 366, 213, 384, 404, 405, 406, 408, 313, 232,
  1996  	348, 788, 816, 297, 410, 411, 271, 841, 827, 409,
  1997  	0, 774, 844, 744, 762, 854, 765, 768, 809, 723,
  1998  	787, 332, 759, 0, 748, 719, 754, 720, 746, 776,
  1999  	236, 743, 829, 791, 843, 288, 233, 725, 749, 346,
  2000  	764, 187, 811, 385, 221, 298, 295, 416, 247, 239,
  2001  	235, 220, 272, 304, 344, 403, 338, 850, 292, 797,
  2002  	0, 394, 317, 0, 0, 0, 778, 833, 785, 823,
  2003  	773, 810, 733, 796, 845, 760, 806, 846, 278, 219,
  2004  	186, 329, 395, 251, 0, 0, 0, 0, 178, 179,
  2005  	180, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2006  	0, 210, 0, 217, 756, 803, 840, 757, 805, 231,
  2007  	276, 238, 230, 413, 851, 832, 0, 0, 202, 842,
  2008  	780, 0, 808, 0, 857, 718, 799, 0, 721, 724,
  2009  	853, 836, 752, 241, 0, 0, 0, 0, 0, 0,
  2010  	0, 777, 786, 820, 771, 0, 0, 0, 0, 0,
  2011  	1606, 0, 750, 0, 795, 0, 0, 0, 729, 722,
  2012  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2013  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2014  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2015  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2016  	0, 775, 0, 0, 0, 732, 0, 751, 821, 0,
  2017  	716, 259, 726, 318, 0, 825, 835, 772, 445, 839,
  2018  	770, 769, 815, 730, 831, 763, 287, 728, 284, 182,
  2019  	198, 0, 761, 328, 368, 374, 830, 747, 755, 222,
  2020  	753, 372, 342, 430, 206, 249, 365, 347, 370, 794,
  2021  	813, 371, 293, 418, 360, 428, 446, 447, 229, 322,
  2022  	436, 407, 442, 458, 199, 226, 336, 400, 433, 391,
  2023  	315, 414, 415, 283, 390, 257, 185, 291, 452, 197,
  2024  	380, 214, 204, 190, 402, 426, 211, 383, 0, 0,
  2025  	460, 192, 424, 399, 311, 280, 281, 191, 0, 364,
  2026  	234, 255, 224, 331, 421, 422, 223, 461, 201, 441,
  2027  	194, 1035, 440, 324, 417, 425, 312, 303, 193, 423,
  2028  	310, 302, 286, 245, 266, 358, 296, 359, 267, 320,
  2029  	319, 321, 0, 188, 0, 396, 434, 462, 207, 208,
  2030  	209, 742, 244, 248, 254, 256, 262, 263, 270, 289,
  2031  	335, 357, 355, 361, 826, 412, 429, 437, 444, 450,
  2032  	451, 453, 454, 455, 456, 457, 323, 269, 392, 285,
  2033  	294, 818, 856, 341, 373, 212, 432, 393, 737, 741,
  2034  	735, 800, 736, 789, 790, 738, 847, 848, 849, 463,
  2035  	464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
  2036  	474, 475, 476, 477, 478, 479, 480, 0, 822, 731,
  2037  	0, 739, 740, 0, 828, 837, 838, 793, 181, 195,
  2038  	290, 852, 362, 252, 459, 439, 435, 717, 734, 228,
  2039  	745, 0, 0, 758, 766, 767, 779, 781, 782, 783,
  2040  	784, 314, 801, 802, 804, 812, 814, 817, 819, 824,
  2041  	834, 855, 183, 184, 196, 205, 215, 227, 242, 250,
  2042  	260, 265, 268, 273, 274, 277, 282, 300, 305, 306,
  2043  	307, 308, 325, 326, 327, 330, 333, 334, 337, 339,
  2044  	340, 343, 350, 351, 352, 353, 354, 356, 363, 367,
  2045  	375, 376, 377, 378, 379, 381, 382, 386, 387, 388,
  2046  	389, 397, 401, 419, 420, 431, 443, 448, 261, 427,
  2047  	449, 0, 299, 792, 798, 301, 246, 264, 275, 807,
  2048  	438, 398, 200, 369, 253, 189, 218, 203, 225, 240,
  2049  	243, 279, 309, 316, 345, 349, 258, 237, 216, 366,
  2050  	213, 384, 404, 405, 406, 408, 313, 232, 348, 788,
  2051  	816, 297, 410, 411, 271, 841, 827, 409, 0, 774,
  2052  	844, 744, 762, 854, 765, 768, 809, 723, 787, 332,
  2053  	759, 0, 748, 719, 754, 720, 746, 776, 236, 743,
  2054  	829, 791, 843, 288, 233, 725, 749, 346, 764, 187,
  2055  	811, 385, 221, 298, 295, 416, 247, 239, 235, 220,
  2056  	272, 304, 344, 403, 338, 850, 292, 797, 0, 394,
  2057  	317, 0, 0, 0, 778, 833, 785, 823, 773, 810,
  2058  	733, 796, 845, 760, 806, 846, 278, 219, 186, 329,
  2059  	395, 251, 0, 81, 0, 0, 178, 179, 180, 0,
  2060  	0, 0, 0, 0, 0, 0, 0, 0, 0, 210,
  2061  	0, 217, 756, 803, 840, 757, 805, 231, 276, 238,
  2062  	230, 413, 851, 832, 0, 0, 202, 842, 780, 0,
  2063  	808, 0, 857, 718, 799, 0, 721, 724, 853, 836,
  2064  	752, 241, 0, 0, 0, 0, 0, 0, 0, 777,
  2065  	786, 820, 771, 0, 0, 0, 0, 0, 0, 0,
  2066  	750, 0, 795, 0, 0, 0, 729, 722, 0, 0,
  2067  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2068  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2069  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2070  	0, 0, 0, 0, 0, 0, 0, 0, 0, 775,
  2071  	0, 0, 0, 732, 0, 751, 821, 0, 716, 259,
  2072  	726, 318, 0, 825, 835, 772, 445, 839, 770, 769,
  2073  	815, 730, 831, 763, 287, 728, 284, 182, 198, 0,
  2074  	761, 328, 368, 374, 830, 747, 755, 222, 753, 372,
  2075  	342, 430, 206, 249, 365, 347, 370, 794, 813, 371,
  2076  	293, 418, 360, 428, 446, 447, 229, 322, 436, 407,
  2077  	442, 458, 199, 226, 336, 400, 433, 391, 315, 414,
  2078  	415, 283, 390, 257, 185, 291, 452, 197, 380, 214,
  2079  	204, 190, 402, 426, 211, 383, 0, 0, 460, 192,
  2080  	424, 399, 311, 280, 281, 191, 0, 364, 234, 255,
  2081  	224, 331, 421, 422, 223, 461, 201, 441, 194, 1035,
  2082  	440, 324, 417, 425, 312, 303, 193, 423, 310, 302,
  2083  	286, 245, 266, 358, 296, 359, 267, 320, 319, 321,
  2084  	0, 188, 0, 396, 434, 462, 207, 208, 209, 742,
  2085  	244, 248, 254, 256, 262, 263, 270, 289, 335, 357,
  2086  	355, 361, 826, 412, 429, 437, 444, 450, 451, 453,
  2087  	454, 455, 456, 457, 323, 269, 392, 285, 294, 818,
  2088  	856, 341, 373, 212, 432, 393, 737, 741, 735, 800,
  2089  	736, 789, 790, 738, 847, 848, 849, 463, 464, 465,
  2090  	466, 467, 468, 469, 470, 471, 472, 473, 474, 475,
  2091  	476, 477, 478, 479, 480, 0, 822, 731, 0, 739,
  2092  	740, 0, 828, 837, 838, 793, 181, 195, 290, 852,
  2093  	362, 252, 459, 439, 435, 717, 734, 228, 745, 0,
  2094  	0, 758, 766, 767, 779, 781, 782, 783, 784, 314,
  2095  	801, 802, 804, 812, 814, 817, 819, 824, 834, 855,
  2096  	183, 184, 196, 205, 215, 227, 242, 250, 260, 265,
  2097  	268, 273, 274, 277, 282, 300, 305, 306, 307, 308,
  2098  	325, 326, 327, 330, 333, 334, 337, 339, 340, 343,
  2099  	350, 351, 352, 353, 354, 356, 363, 367, 375, 376,
  2100  	377, 378, 379, 381, 382, 386, 387, 388, 389, 397,
  2101  	401, 419, 420, 431, 443, 448, 261, 427, 449, 0,
  2102  	299, 792, 798, 301, 246, 264, 275, 807, 438, 398,
  2103  	200, 369, 253, 189, 218, 203, 225, 240, 243, 279,
  2104  	309, 316, 345, 349, 258, 237, 216, 366, 213, 384,
  2105  	404, 405, 406, 408, 313, 232, 348, 788, 816, 297,
  2106  	410, 411, 271, 841, 827, 409, 0, 774, 844, 744,
  2107  	762, 854, 765, 768, 809, 723, 787, 332, 759, 0,
  2108  	748, 719, 754, 720, 746, 776, 236, 743, 829, 791,
  2109  	843, 288, 233, 725, 749, 346, 764, 187, 811, 385,
  2110  	221, 298, 295, 416, 247, 239, 235, 220, 272, 304,
  2111  	344, 403, 338, 850, 292, 797, 0, 394, 317, 0,
  2112  	0, 0, 778, 833, 785, 823, 773, 810, 733, 796,
  2113  	845, 760, 806, 846, 278, 219, 186, 329, 395, 251,
  2114  	0, 0, 0, 0, 178, 179, 180, 0, 0, 0,
  2115  	0, 0, 0, 0, 0, 0, 0, 210, 0, 217,
  2116  	756, 803, 840, 757, 805, 231, 276, 238, 230, 413,
  2117  	851, 832, 0, 0, 202, 842, 780, 0, 808, 0,
  2118  	857, 718, 799, 0, 721, 724, 853, 836, 752, 241,
  2119  	0, 0, 0, 0, 0, 0, 0, 777, 786, 820,
  2120  	771, 0, 0, 0, 0, 0, 0, 0, 750, 0,
  2121  	795, 0, 0, 0, 729, 722, 0, 0, 0, 0,
  2122  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2123  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2124  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2125  	0, 0, 0, 0, 0, 0, 0, 775, 0, 0,
  2126  	0, 732, 0, 751, 821, 0, 716, 259, 726, 318,
  2127  	0, 825, 835, 772, 445, 839, 770, 769, 815, 730,
  2128  	831, 763, 287, 728, 284, 182, 198, 0, 761, 328,
  2129  	368, 374, 830, 747, 755, 222, 753, 372, 342, 430,
  2130  	206, 249, 365, 347, 370, 794, 813, 371, 293, 418,
  2131  	360, 428, 446, 447, 229, 322, 436, 407, 442, 458,
  2132  	199, 226, 336, 400, 433, 391, 315, 414, 415, 283,
  2133  	390, 257, 185, 291, 452, 197, 380, 214, 204, 190,
  2134  	402, 426, 211, 383, 0, 0, 460, 192, 424, 399,
  2135  	311, 280, 281, 191, 0, 364, 234, 255, 224, 331,
  2136  	421, 422, 223, 461, 201, 441, 194, 1035, 440, 324,
  2137  	417, 425, 312, 303, 193, 423, 310, 302, 286, 245,
  2138  	266, 358, 296, 359, 267, 320, 319, 321, 0, 188,
  2139  	0, 396, 434, 462, 207, 208, 209, 742, 244, 248,
  2140  	254, 256, 262, 263, 270, 289, 335, 357, 355, 361,
  2141  	826, 412, 429, 437, 444, 450, 451, 453, 454, 455,
  2142  	456, 457, 323, 269, 392, 285, 294, 818, 856, 341,
  2143  	373, 212, 432, 393, 737, 741, 735, 800, 736, 789,
  2144  	790, 738, 847, 848, 849, 463, 464, 465, 466, 467,
  2145  	468, 469, 470, 471, 472, 473, 474, 475, 476, 477,
  2146  	478, 479, 480, 0, 822, 731, 0, 739, 740, 0,
  2147  	828, 837, 838, 793, 181, 195, 290, 852, 362, 252,
  2148  	459, 439, 435, 717, 734, 228, 745, 0, 0, 758,
  2149  	766, 767, 779, 781, 782, 783, 784, 314, 801, 802,
  2150  	804, 812, 814, 817, 819, 824, 834, 855, 183, 184,
  2151  	196, 205, 215, 227, 242, 250, 260, 265, 268, 273,
  2152  	274, 277, 282, 300, 305, 306, 307, 308, 325, 326,
  2153  	327, 330, 333, 334, 337, 339, 340, 343, 350, 351,
  2154  	352, 353, 354, 356, 363, 367, 375, 376, 377, 378,
  2155  	379, 381, 382, 386, 387, 388, 389, 397, 401, 419,
  2156  	420, 431, 443, 448, 261, 427, 449, 0, 299, 792,
  2157  	798, 301, 246, 264, 275, 807, 438, 398, 200, 369,
  2158  	253, 189, 218, 203, 225, 240, 243, 279, 309, 316,
  2159  	345, 349, 258, 237, 216, 366, 213, 384, 404, 405,
  2160  	406, 408, 313, 232, 348, 788, 816, 297, 410, 411,
  2161  	271, 841, 827, 409, 0, 774, 844, 744, 762, 854,
  2162  	765, 768, 809, 723, 787, 332, 759, 0, 748, 719,
  2163  	754, 720, 746, 776, 236, 743, 829, 791, 843, 288,
  2164  	233, 725, 749, 346, 764, 187, 811, 385, 221, 298,
  2165  	295, 416, 247, 239, 235, 220, 272, 304, 344, 403,
  2166  	338, 850, 292, 797, 0, 394, 317, 0, 0, 0,
  2167  	778, 833, 785, 823, 773, 810, 733, 796, 845, 760,
  2168  	806, 846, 278, 219, 186, 329, 395, 251, 0, 0,
  2169  	0, 0, 178, 179, 180, 0, 0, 0, 0, 0,
  2170  	0, 0, 0, 0, 0, 210, 0, 217, 756, 803,
  2171  	840, 757, 805, 231, 276, 238, 230, 413, 851, 832,
  2172  	0, 0, 858, 842, 780, 0, 808, 0, 857, 718,
  2173  	799, 0, 721, 724, 853, 836, 752, 241, 0, 0,
  2174  	0, 0, 0, 0, 0, 777, 786, 820, 771, 0,
  2175  	0, 0, 0, 0, 0, 0, 750, 0, 795, 0,
  2176  	0, 0, 729, 722, 0, 0, 0, 0, 0, 0,
  2177  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2178  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2179  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2180  	0, 0, 0, 0, 0, 775, 0, 0, 0, 732,
  2181  	0, 751, 821, 0, 716, 259, 726, 318, 0, 825,
  2182  	835, 772, 445, 839, 770, 769, 815, 730, 831, 763,
  2183  	287, 728, 284, 182, 198, 0, 761, 328, 368, 374,
  2184  	830, 747, 755, 222, 753, 372, 342, 430, 206, 249,
  2185  	365, 347, 370, 794, 813, 371, 293, 418, 360, 428,
  2186  	446, 447, 229, 322, 436, 407, 442, 458, 199, 226,
  2187  	336, 400, 433, 391, 315, 414, 415, 283, 390, 257,
  2188  	185, 291, 452, 197, 380, 214, 204, 190, 402, 426,
  2189  	211, 383, 0, 0, 460, 192, 424, 399, 311, 280,
  2190  	281, 191, 0, 364, 234, 255, 224, 331, 421, 422,
  2191  	223, 461, 201, 441, 194, 727, 440, 324, 417, 425,
  2192  	312, 303, 193, 423, 310, 302, 286, 245, 266, 358,
  2193  	296, 359, 267, 320, 319, 321, 0, 188, 0, 396,
  2194  	434, 462, 207, 208, 209, 742, 244, 248, 254, 256,
  2195  	262, 263, 270, 289, 335, 357, 355, 361, 826, 412,
  2196  	429, 437, 444, 450, 451, 453, 454, 455, 456, 457,
  2197  	715, 709, 708, 285, 294, 818, 856, 341, 373, 212,
  2198  	432, 393, 737, 741, 735, 800, 736, 789, 790, 738,
  2199  	847, 848, 849, 463, 464, 465, 466, 467, 468, 469,
  2200  	470, 471, 472, 473, 474, 475, 476, 477, 478, 479,
  2201  	480, 0, 822, 731, 0, 739, 740, 0, 828, 837,
  2202  	838, 793, 181, 195, 290, 852, 362, 252, 459, 439,
  2203  	435, 717, 734, 228, 745, 0, 0, 758, 766, 767,
  2204  	779, 781, 782, 783, 784, 314, 801, 802, 804, 812,
  2205  	814, 817, 819, 824, 834, 855, 183, 184, 196, 205,
  2206  	215, 227, 242, 250, 260, 265, 268, 273, 274, 277,
  2207  	282, 300, 305, 306, 307, 308, 325, 326, 327, 330,
  2208  	333, 334, 337, 339, 340, 343, 350, 351, 352, 353,
  2209  	354, 356, 363, 367, 375, 376, 377, 378, 379, 381,
  2210  	382, 386, 387, 388, 389, 397, 401, 419, 420, 431,
  2211  	443, 448, 261, 427, 449, 0, 299, 792, 798, 301,
  2212  	246, 264, 275, 807, 438, 398, 200, 369, 253, 189,
  2213  	218, 203, 225, 240, 243, 279, 309, 316, 345, 349,
  2214  	258, 237, 216, 366, 213, 384, 404, 405, 406, 408,
  2215  	313, 232, 348, 788, 816, 297, 410, 411, 271, 841,
  2216  	827, 409, 0, 774, 844, 744, 762, 854, 765, 768,
  2217  	809, 723, 787, 332, 759, 0, 748, 719, 754, 720,
  2218  	746, 776, 236, 743, 829, 791, 843, 288, 233, 725,
  2219  	749, 346, 764, 187, 811, 385, 221, 298, 295, 416,
  2220  	247, 239, 235, 220, 272, 304, 344, 403, 338, 850,
  2221  	292, 797, 0, 394, 317, 0, 0, 0, 778, 833,
  2222  	785, 823, 773, 810, 733, 796, 845, 760, 806, 846,
  2223  	278, 219, 186, 329, 395, 251, 0, 0, 0, 0,
  2224  	178, 179, 180, 0, 0, 0, 0, 0, 0, 0,
  2225  	0, 0, 0, 210, 0, 217, 756, 803, 840, 757,
  2226  	805, 231, 276, 238, 230, 413, 851, 832, 0, 0,
  2227  	858, 842, 780, 0, 808, 0, 857, 718, 799, 0,
  2228  	721, 724, 853, 836, 752, 241, 0, 0, 0, 0,
  2229  	0, 0, 0, 777, 786, 820, 771, 0, 0, 0,
  2230  	0, 0, 0, 0, 750, 0, 795, 0, 0, 0,
  2231  	729, 722, 0, 0, 0, 0, 0, 0, 0, 0,
  2232  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2233  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2234  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2235  	0, 0, 0, 775, 0, 0, 0, 732, 0, 751,
  2236  	821, 0, 716, 259, 726, 318, 0, 825, 835, 772,
  2237  	445, 839, 770, 769, 815, 730, 831, 763, 287, 728,
  2238  	284, 182, 198, 0, 761, 328, 368, 374, 830, 747,
  2239  	755, 222, 753, 372, 342, 430, 206, 249, 365, 347,
  2240  	370, 794, 813, 371, 293, 418, 360, 428, 446, 447,
  2241  	229, 322, 436, 407, 442, 458, 199, 226, 336, 400,
  2242  	433, 391, 315, 414, 415, 283, 390, 257, 185, 291,
  2243  	452, 197, 380, 214, 204, 190, 402, 1209, 211, 383,
  2244  	0, 0, 460, 192, 424, 399, 311, 280, 281, 191,
  2245  	0, 364, 234, 255, 224, 331, 421, 422, 223, 461,
  2246  	201, 441, 194, 727, 440, 324, 417, 425, 312, 303,
  2247  	193, 423, 310, 302, 286, 245, 266, 358, 296, 359,
  2248  	267, 320, 319, 321, 0, 188, 0, 396, 434, 462,
  2249  	207, 208, 209, 742, 244, 248, 254, 256, 262, 263,
  2250  	270, 289, 335, 357, 355, 361, 826, 412, 429, 437,
  2251  	444, 450, 451, 453, 454, 455, 456, 457, 715, 709,
  2252  	708, 285, 294, 818, 856, 341, 373, 212, 432, 393,
  2253  	737, 741, 735, 800, 736, 789, 790, 738, 847, 848,
  2254  	849, 463, 464, 465, 466, 467, 468, 469, 470, 471,
  2255  	472, 473, 474, 475, 476, 477, 478, 479, 480, 0,
  2256  	822, 731, 0, 739, 740, 0, 828, 837, 838, 793,
  2257  	181, 195, 290, 852, 362, 252, 459, 439, 435, 717,
  2258  	734, 228, 745, 0, 0, 758, 766, 767, 779, 781,
  2259  	782, 783, 784, 314, 801, 802, 804, 812, 814, 817,
  2260  	819, 824, 834, 855, 183, 184, 196, 205, 215, 227,
  2261  	242, 250, 260, 265, 268, 273, 274, 277, 282, 300,
  2262  	305, 306, 307, 308, 325, 326, 327, 330, 333, 334,
  2263  	337, 339, 340, 343, 350, 351, 352, 353, 354, 356,
  2264  	363, 367, 375, 376, 377, 378, 379, 381, 382, 386,
  2265  	387, 388, 389, 397, 401, 419, 420, 431, 443, 448,
  2266  	261, 427, 449, 0, 299, 792, 798, 301, 246, 264,
  2267  	275, 807, 438, 398, 200, 369, 253, 189, 218, 203,
  2268  	225, 240, 243, 279, 309, 316, 345, 349, 258, 237,
  2269  	216, 366, 213, 384, 404, 405, 406, 408, 313, 232,
  2270  	348, 788, 816, 297, 410, 411, 271, 841, 827, 409,
  2271  	0, 774, 844, 744, 762, 854, 765, 768, 809, 723,
  2272  	787, 332, 759, 0, 748, 719, 754, 720, 746, 776,
  2273  	236, 743, 829, 791, 843, 288, 233, 725, 749, 346,
  2274  	764, 187, 811, 385, 221, 298, 295, 416, 247, 239,
  2275  	235, 220, 272, 304, 344, 403, 338, 850, 292, 797,
  2276  	0, 394, 317, 0, 0, 0, 778, 833, 785, 823,
  2277  	773, 810, 733, 796, 845, 760, 806, 846, 278, 219,
  2278  	186, 329, 395, 251, 0, 0, 0, 0, 178, 179,
  2279  	180, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2280  	0, 210, 0, 217, 756, 803, 840, 757, 805, 231,
  2281  	276, 238, 230, 413, 851, 832, 0, 0, 858, 842,
  2282  	780, 0, 808, 0, 857, 718, 799, 0, 721, 724,
  2283  	853, 836, 752, 241, 0, 0, 0, 0, 0, 0,
  2284  	0, 777, 786, 820, 771, 0, 0, 0, 0, 0,
  2285  	0, 0, 750, 0, 795, 0, 0, 0, 729, 722,
  2286  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2287  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2288  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2289  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2290  	0, 775, 0, 0, 0, 732, 0, 751, 821, 0,
  2291  	716, 259, 726, 318, 0, 825, 835, 772, 445, 839,
  2292  	770, 769, 815, 730, 831, 763, 287, 728, 284, 182,
  2293  	198, 0, 761, 328, 368, 374, 830, 747, 755, 222,
  2294  	753, 372, 342, 430, 206, 249, 365, 347, 370, 794,
  2295  	813, 371, 293, 418, 360, 428, 446, 447, 229, 322,
  2296  	436, 407, 442, 458, 199, 226, 336, 400, 433, 391,
  2297  	315, 414, 415, 283, 390, 257, 185, 291, 452, 197,
  2298  	380, 214, 204, 190, 402, 706, 211, 383, 0, 0,
  2299  	460, 192, 424, 399, 311, 280, 281, 191, 0, 364,
  2300  	234, 255, 224, 331, 421, 422, 223, 461, 201, 441,
  2301  	194, 727, 440, 324, 417, 425, 312, 303, 193, 423,
  2302  	310, 302, 286, 245, 266, 358, 296, 359, 267, 320,
  2303  	319, 321, 0, 188, 0, 396, 434, 462, 207, 208,
  2304  	209, 742, 244, 248, 254, 256, 262, 263, 270, 289,
  2305  	335, 357, 355, 361, 826, 412, 429, 437, 444, 450,
  2306  	451, 453, 454, 455, 456, 457, 715, 709, 708, 285,
  2307  	294, 818, 856, 341, 373, 212, 432, 393, 737, 741,
  2308  	735, 800, 736, 789, 790, 738, 847, 848, 849, 463,
  2309  	464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
  2310  	474, 475, 476, 477, 478, 479, 480, 0, 822, 731,
  2311  	0, 739, 740, 0, 828, 837, 838, 793, 181, 195,
  2312  	290, 852, 362, 252, 459, 439, 435, 717, 734, 228,
  2313  	745, 0, 0, 758, 766, 767, 779, 781, 782, 783,
  2314  	784, 314, 801, 802, 804, 812, 814, 817, 819, 824,
  2315  	834, 855, 183, 184, 196, 205, 215, 227, 242, 250,
  2316  	260, 265, 268, 273, 274, 277, 282, 300, 305, 306,
  2317  	307, 308, 325, 326, 327, 330, 333, 334, 337, 339,
  2318  	340, 343, 350, 351, 352, 353, 354, 356, 363, 367,
  2319  	375, 376, 377, 378, 379, 381, 382, 386, 387, 388,
  2320  	389, 397, 401, 419, 420, 431, 443, 448, 261, 427,
  2321  	449, 0, 299, 792, 798, 301, 246, 264, 275, 807,
  2322  	438, 398, 200, 369, 253, 189, 218, 203, 225, 240,
  2323  	243, 279, 309, 316, 345, 349, 258, 237, 216, 366,
  2324  	213, 384, 404, 405, 406, 408, 313, 232, 348, 788,
  2325  	816, 297, 410, 411, 271, 409, 0, 0, 0, 0,
  2326  	0, 0, 0, 0, 0, 0, 0, 332, 0, 0,
  2327  	1556, 0, 561, 0, 0, 0, 236, 566, 0, 0,
  2328  	0, 288, 233, 0, 1557, 346, 0, 187, 0, 385,
  2329  	221, 298, 295, 416, 247, 239, 235, 220, 272, 304,
  2330  	344, 403, 338, 573, 292, 0, 0, 394, 317, 0,
  2331  	0, 0, 0, 0, 568, 569, 0, 0, 0, 0,
  2332  	0, 0, 0, 0, 278, 219, 186, 329, 395, 251,
  2333  	0, 81, 0, 0, 178, 179, 180, 604, 611, 612,
  2334  	613, 614, 615, 605, 607, 0, 0, 210, 606, 217,
  2335  	582, 609, 616, 617, 0, 231, 276, 238, 230, 413,
  2336  	0, 0, 0, 0, 202, 0, 0, 0, 0, 0,
  2337  	0, 0, 544, 558, 0, 572, 0, 0, 0, 241,
  2338  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2339  	0, 0, 0, 0, 555, 556, 695, 0, 0, 0,
  2340  	588, 0, 557, 0, 0, 565, 618, 619, 620, 621,
  2341  	622, 623, 624, 625, 626, 627, 628, 629, 630, 631,
  2342  	632, 633, 634, 635, 636, 637, 638, 639, 640, 641,
  2343  	642, 643, 644, 645, 646, 647, 648, 649, 650, 651,
  2344  	652, 653, 654, 655, 656, 657, 658, 567, 0, 0,
  2345  	0, 0, 0, 0, 0, 0, 0, 259, 0, 318,
  2346  	0, 587, 0, 0, 445, 0, 0, 585, 0, 0,
  2347  	0, 0, 287, 0, 284, 182, 198, 0, 0, 328,
  2348  	368, 374, 0, 0, 0, 222, 0, 372, 342, 430,
  2349  	206, 249, 365, 347, 370, 0, 0, 371, 293, 418,
  2350  	360, 428, 446, 447, 229, 322, 436, 407, 442, 458,
  2351  	199, 226, 336, 400, 433, 391, 315, 414, 415, 283,
  2352  	390, 257, 185, 291, 452, 197, 380, 214, 204, 190,
  2353  	402, 426, 211, 383, 0, 0, 460, 192, 424, 399,
  2354  	311, 280, 281, 191, 0, 364, 234, 255, 224, 331,
  2355  	421, 422, 223, 461, 201, 441, 194, 0, 440, 324,
  2356  	417, 425, 312, 303, 193, 423, 310, 302, 286, 245,
  2357  	266, 358, 296, 359, 267, 320, 319, 321, 0, 188,
  2358  	0, 396, 434, 462, 207, 208, 209, 0, 244, 248,
  2359  	254, 256, 262, 263, 270, 289, 335, 357, 355, 361,
  2360  	0, 412, 429, 437, 444, 450, 451, 453, 454, 455,
  2361  	456, 457, 323, 269, 392, 285, 294, 0, 0, 341,
  2362  	373, 212, 432, 393, 594, 586, 577, 598, 579, 595,
  2363  	596, 574, 575, 578, 597, 463, 464, 465, 466, 467,
  2364  	468, 469, 470, 471, 472, 473, 474, 475, 476, 477,
  2365  	478, 479, 480, 0, 589, 564, 563, 0, 570, 571,
  2366  	0, 580, 581, 562, 181, 195, 290, 0, 362, 252,
  2367  	459, 439, 435, 0, 0, 228, 0, 0, 0, 0,
  2368  	0, 0, 0, 0, 0, 0, 0, 314, 0, 0,
  2369  	0, 0, 0, 0, 0, 0, 0, 0, 183, 184,
  2370  	196, 205, 215, 227, 242, 250, 260, 265, 268, 273,
  2371  	274, 277, 282, 300, 305, 306, 307, 308, 325, 326,
  2372  	327, 330, 333, 334, 337, 339, 340, 343, 350, 351,
  2373  	352, 353, 354, 356, 363, 367, 375, 376, 377, 378,
  2374  	379, 381, 382, 386, 387, 388, 389, 397, 401, 419,
  2375  	420, 431, 443, 448, 261, 427, 449, 0, 299, 0,
  2376  	0, 301, 246, 264, 275, 0, 438, 398, 200, 369,
  2377  	253, 189, 218, 203, 225, 240, 243, 279, 309, 316,
  2378  	345, 349, 258, 237, 216, 366, 213, 384, 404, 405,
  2379  	406, 408, 313, 232, 348, 409, 0, 297, 410, 411,
  2380  	271, 0, 0, 0, 0, 0, 0, 332, 0, 0,
  2381  	0, 0, 561, 0, 0, 0, 236, 566, 0, 0,
  2382  	0, 288, 233, 0, 0, 346, 0, 187, 0, 385,
  2383  	221, 298, 295, 416, 247, 239, 235, 220, 272, 304,
  2384  	344, 403, 338, 573, 292, 0, 0, 394, 317, 0,
  2385  	0, 0, 0, 0, 568, 569, 0, 0, 0, 0,
  2386  	0, 0, 1630, 0, 278, 219, 186, 329, 395, 251,
  2387  	0, 81, 0, 0, 178, 179, 180, 604, 611, 612,
  2388  	613, 614, 615, 605, 607, 0, 0, 210, 606, 217,
  2389  	582, 609, 616, 617, 1631, 231, 276, 238, 230, 413,
  2390  	0, 0, 0, 0, 202, 0, 0, 0, 0, 0,
  2391  	0, 0, 544, 558, 0, 572, 0, 0, 0, 241,
  2392  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2393  	0, 0, 0, 0, 555, 556, 0, 0, 0, 0,
  2394  	588, 0, 557, 0, 0, 565, 618, 619, 620, 621,
  2395  	622, 623, 624, 625, 626, 627, 628, 629, 630, 631,
  2396  	632, 633, 634, 635, 636, 637, 638, 639, 640, 641,
  2397  	642, 643, 644, 645, 646, 647, 648, 649, 650, 651,
  2398  	652, 653, 654, 655, 656, 657, 658, 567, 0, 0,
  2399  	0, 0, 0, 0, 0, 0, 0, 259, 0, 318,
  2400  	0, 587, 0, 0, 445, 0, 0, 585, 0, 0,
  2401  	0, 0, 287, 0, 284, 182, 198, 0, 0, 328,
  2402  	368, 374, 0, 0, 0, 222, 0, 372, 342, 430,
  2403  	206, 249, 365, 347, 370, 0, 0, 371, 293, 418,
  2404  	360, 428, 446, 447, 229, 322, 436, 407, 442, 458,
  2405  	199, 226, 336, 400, 433, 391, 315, 414, 415, 283,
  2406  	390, 257, 185, 291, 452, 197, 380, 214, 204, 190,
  2407  	402, 426, 211, 383, 0, 0, 460, 192, 424, 399,
  2408  	311, 280, 281, 191, 0, 364, 234, 255, 224, 331,
  2409  	421, 422, 223, 461, 201, 441, 194, 0, 440, 324,
  2410  	417, 425, 312, 303, 193, 423, 310, 302, 286, 245,
  2411  	266, 358, 296, 359, 267, 320, 319, 321, 0, 188,
  2412  	0, 396, 434, 462, 207, 208, 209, 0, 244, 248,
  2413  	254, 256, 262, 263, 270, 289, 335, 357, 355, 361,
  2414  	0, 412, 429, 437, 444, 450, 451, 453, 454, 455,
  2415  	456, 457, 323, 269, 392, 285, 294, 0, 0, 341,
  2416  	373, 212, 432, 393, 594, 586, 577, 598, 579, 595,
  2417  	596, 574, 575, 578, 597, 463, 464, 465, 466, 467,
  2418  	468, 469, 470, 471, 472, 473, 474, 475, 476, 477,
  2419  	478, 479, 480, 0, 589, 564, 563, 0, 570, 571,
  2420  	0, 580, 581, 562, 181, 195, 290, 0, 362, 252,
  2421  	459, 439, 435, 0, 0, 228, 0, 0, 0, 0,
  2422  	0, 0, 0, 0, 0, 0, 0, 314, 0, 0,
  2423  	0, 0, 0, 0, 0, 0, 0, 0, 183, 184,
  2424  	196, 205, 215, 227, 242, 250, 260, 265, 268, 273,
  2425  	274, 277, 282, 300, 305, 306, 307, 308, 325, 326,
  2426  	327, 330, 333, 334, 337, 339, 340, 343, 350, 351,
  2427  	352, 353, 354, 356, 363, 367, 375, 376, 377, 378,
  2428  	379, 381, 382, 386, 387, 388, 389, 397, 401, 419,
  2429  	420, 431, 443, 448, 261, 427, 449, 0, 299, 0,
  2430  	0, 301, 246, 264, 275, 0, 438, 398, 200, 369,
  2431  	253, 189, 218, 203, 225, 240, 243, 279, 309, 316,
  2432  	345, 349, 258, 237, 216, 366, 213, 384, 404, 405,
  2433  	406, 408, 313, 232, 348, 72, 409, 297, 410, 411,
  2434  	271, 0, 0, 0, 0, 0, 0, 0, 332, 0,
  2435  	0, 0, 0, 561, 0, 0, 0, 236, 566, 0,
  2436  	0, 0, 288, 233, 0, 0, 346, 0, 187, 0,
  2437  	385, 221, 298, 295, 416, 247, 239, 235, 220, 272,
  2438  	304, 344, 403, 338, 573, 292, 0, 0, 394, 317,
  2439  	0, 0, 0, 0, 0, 568, 569, 0, 0, 0,
  2440  	0, 0, 0, 0, 0, 278, 219, 186, 329, 395,
  2441  	251, 0, 81, 0, 0, 178, 179, 180, 604, 611,
  2442  	612, 613, 614, 615, 605, 607, 0, 0, 210, 606,
  2443  	217, 582, 609, 616, 617, 0, 231, 276, 238, 230,
  2444  	413, 0, 0, 0, 0, 202, 0, 0, 0, 0,
  2445  	0, 0, 0, 544, 558, 0, 572, 0, 0, 0,
  2446  	241, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2447  	0, 0, 0, 0, 0, 555, 556, 0, 0, 0,
  2448  	0, 588, 0, 557, 0, 0, 565, 618, 619, 620,
  2449  	621, 622, 623, 624, 625, 626, 627, 628, 629, 630,
  2450  	631, 632, 633, 634, 635, 636, 637, 638, 639, 640,
  2451  	641, 642, 643, 644, 645, 646, 647, 648, 649, 650,
  2452  	651, 652, 653, 654, 655, 656, 657, 658, 567, 0,
  2453  	0, 0, 0, 0, 0, 0, 0, 0, 259, 0,
  2454  	318, 0, 587, 0, 0, 445, 0, 0, 585, 0,
  2455  	0, 0, 0, 287, 0, 284, 182, 198, 0, 0,
  2456  	328, 368, 374, 0, 0, 0, 222, 0, 372, 342,
  2457  	430, 206, 249, 365, 347, 370, 0, 0, 371, 293,
  2458  	418, 360, 428, 446, 447, 229, 322, 436, 407, 442,
  2459  	458, 199, 226, 336, 400, 433, 391, 315, 414, 415,
  2460  	283, 390, 257, 185, 291, 452, 197, 380, 214, 204,
  2461  	190, 402, 426, 211, 383, 0, 0, 460, 192, 424,
  2462  	399, 311, 280, 281, 191, 0, 364, 234, 255, 224,
  2463  	331, 421, 422, 223, 461, 201, 441, 194, 0, 440,
  2464  	324, 417, 425, 312, 303, 193, 423, 310, 302, 286,
  2465  	245, 266, 358, 296, 359, 267, 320, 319, 321, 0,
  2466  	188, 0, 396, 434, 462, 207, 208, 209, 0, 244,
  2467  	248, 254, 256, 262, 263, 270, 289, 335, 357, 355,
  2468  	361, 0, 412, 429, 437, 444, 450, 451, 453, 454,
  2469  	455, 456, 457, 323, 269, 392, 285, 294, 0, 0,
  2470  	341, 373, 212, 432, 393, 594, 586, 577, 598, 579,
  2471  	595, 596, 574, 575, 578, 597, 463, 464, 465, 466,
  2472  	467, 468, 469, 470, 471, 472, 473, 474, 475, 476,
  2473  	477, 478, 479, 480, 0, 589, 564, 563, 0, 570,
  2474  	571, 0, 580, 581, 562, 181, 195, 290, 80, 362,
  2475  	252, 459, 439, 435, 0, 0, 228, 0, 0, 0,
  2476  	0, 0, 0, 0, 0, 0, 0, 0, 314, 0,
  2477  	0, 0, 0, 0, 0, 0, 0, 0, 0, 183,
  2478  	184, 196, 205, 215, 227, 242, 250, 260, 265, 268,
  2479  	273, 274, 277, 282, 300, 305, 306, 307, 308, 325,
  2480  	326, 327, 330, 333, 334, 337, 339, 340, 343, 350,
  2481  	351, 352, 353, 354, 356, 363, 367, 375, 376, 377,
  2482  	378, 379, 381, 382, 386, 387, 388, 389, 397, 401,
  2483  	419, 420, 431, 443, 448, 261, 427, 449, 0, 299,
  2484  	0, 0, 301, 246, 264, 275, 0, 438, 398, 200,
  2485  	369, 253, 189, 218, 203, 225, 240, 243, 279, 309,
  2486  	316, 345, 349, 258, 237, 216, 366, 213, 384, 404,
  2487  	405, 406, 408, 313, 232, 348, 409, 0, 297, 410,
  2488  	411, 271, 0, 0, 0, 0, 0, 0, 332, 0,
  2489  	0, 0, 0, 561, 0, 0, 0, 236, 566, 0,
  2490  	0, 0, 288, 233, 0, 0, 346, 0, 187, 0,
  2491  	385, 221, 298, 295, 416, 247, 239, 235, 220, 272,
  2492  	304, 344, 403, 338, 573, 292, 0, 0, 394, 317,
  2493  	0, 0, 0, 0, 0, 568, 569, 0, 0, 0,
  2494  	0, 0, 0, 0, 0, 278, 219, 186, 329, 395,
  2495  	251, 0, 81, 0, 0, 178, 179, 180, 604, 611,
  2496  	612, 613, 614, 615, 605, 607, 0, 0, 210, 606,
  2497  	217, 582, 609, 616, 617, 0, 231, 276, 238, 230,
  2498  	413, 0, 0, 0, 0, 202, 0, 0, 0, 0,
  2499  	0, 0, 0, 544, 558, 0, 572, 0, 0, 0,
  2500  	241, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2501  	0, 0, 0, 0, 0, 555, 556, 0, 0, 0,
  2502  	0, 588, 0, 557, 0, 0, 565, 618, 619, 620,
  2503  	621, 622, 623, 624, 625, 626, 627, 628, 629, 630,
  2504  	631, 632, 633, 634, 635, 636, 637, 638, 639, 640,
  2505  	641, 642, 643, 644, 645, 646, 647, 648, 649, 650,
  2506  	651, 652, 653, 654, 655, 656, 657, 658, 567, 0,
  2507  	0, 0, 0, 0, 0, 0, 0, 0, 259, 0,
  2508  	318, 0, 587, 0, 0, 445, 0, 0, 585, 0,
  2509  	0, 0, 0, 287, 0, 284, 182, 198, 0, 0,
  2510  	328, 368, 374, 0, 0, 0, 222, 0, 372, 342,
  2511  	430, 206, 249, 365, 347, 370, 2428, 0, 371, 293,
  2512  	418, 360, 428, 446, 447, 229, 322, 436, 407, 442,
  2513  	458, 199, 226, 336, 400, 433, 391, 315, 414, 415,
  2514  	283, 390, 257, 185, 291, 452, 197, 380, 214, 204,
  2515  	190, 402, 426, 211, 383, 0, 0, 460, 192, 424,
  2516  	399, 311, 280, 281, 191, 0, 364, 234, 255, 224,
  2517  	331, 421, 422, 223, 461, 201, 441, 194, 0, 440,
  2518  	324, 417, 425, 312, 303, 193, 423, 310, 302, 286,
  2519  	245, 266, 358, 296, 359, 267, 320, 319, 321, 0,
  2520  	188, 0, 396, 434, 462, 207, 208, 209, 0, 244,
  2521  	248, 254, 256, 262, 263, 270, 289, 335, 357, 355,
  2522  	361, 0, 412, 429, 437, 444, 450, 451, 453, 454,
  2523  	455, 456, 457, 323, 269, 392, 285, 294, 0, 0,
  2524  	341, 373, 212, 432, 393, 594, 586, 577, 598, 579,
  2525  	595, 596, 574, 575, 578, 597, 463, 464, 465, 466,
  2526  	467, 468, 469, 470, 471, 472, 473, 474, 475, 476,
  2527  	477, 478, 479, 480, 0, 589, 564, 563, 0, 570,
  2528  	571, 0, 580, 581, 562, 181, 195, 290, 0, 362,
  2529  	252, 459, 439, 435, 0, 0, 228, 0, 0, 0,
  2530  	0, 0, 0, 0, 0, 0, 0, 0, 314, 0,
  2531  	0, 0, 0, 0, 0, 0, 0, 0, 0, 183,
  2532  	184, 196, 205, 215, 227, 242, 250, 260, 265, 268,
  2533  	273, 274, 277, 282, 300, 305, 306, 307, 308, 325,
  2534  	326, 327, 330, 333, 334, 337, 339, 340, 343, 350,
  2535  	351, 352, 353, 354, 356, 363, 367, 375, 376, 377,
  2536  	378, 379, 381, 382, 386, 387, 388, 389, 397, 401,
  2537  	419, 420, 431, 443, 448, 261, 427, 449, 0, 299,
  2538  	0, 0, 301, 246, 264, 275, 0, 438, 398, 200,
  2539  	369, 253, 189, 218, 203, 225, 240, 243, 279, 309,
  2540  	316, 345, 349, 258, 237, 216, 366, 213, 384, 404,
  2541  	405, 406, 408, 313, 232, 348, 409, 0, 297, 410,
  2542  	411, 271, 0, 0, 0, 0, 0, 0, 332, 0,
  2543  	0, 0, 0, 561, 0, 0, 0, 236, 566, 0,
  2544  	0, 0, 288, 233, 0, 0, 346, 0, 187, 0,
  2545  	385, 221, 298, 295, 416, 247, 239, 235, 220, 272,
  2546  	304, 344, 403, 338, 573, 292, 0, 0, 394, 317,
  2547  	0, 0, 0, 0, 0, 568, 569, 0, 0, 0,
  2548  	0, 0, 0, 0, 0, 278, 219, 186, 329, 395,
  2549  	251, 0, 81, 0, 1177, 178, 179, 180, 604, 611,
  2550  	612, 613, 614, 615, 605, 607, 0, 0, 210, 606,
  2551  	217, 582, 609, 616, 617, 0, 231, 276, 238, 230,
  2552  	413, 0, 0, 0, 0, 202, 0, 0, 0, 0,
  2553  	0, 0, 0, 544, 558, 0, 572, 0, 0, 0,
  2554  	241, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2555  	0, 0, 0, 0, 0, 555, 556, 0, 0, 0,
  2556  	0, 588, 0, 557, 0, 0, 565, 618, 619, 620,
  2557  	621, 622, 623, 624, 625, 626, 627, 628, 629, 630,
  2558  	631, 632, 633, 634, 635, 636, 637, 638, 639, 640,
  2559  	641, 642, 643, 644, 645, 646, 647, 648, 649, 650,
  2560  	651, 652, 653, 654, 655, 656, 657, 658, 567, 0,
  2561  	0, 0, 0, 0, 0, 0, 0, 0, 259, 0,
  2562  	318, 0, 587, 0, 0, 445, 0, 0, 585, 0,
  2563  	0, 0, 0, 287, 0, 284, 182, 198, 0, 0,
  2564  	328, 368, 374, 0, 0, 0, 222, 0, 372, 342,
  2565  	430, 206, 249, 365, 347, 370, 0, 0, 371, 293,
  2566  	418, 360, 428, 446, 447, 229, 322, 436, 407, 442,
  2567  	458, 199, 226, 336, 400, 433, 391, 315, 414, 415,
  2568  	283, 390, 257, 185, 291, 452, 197, 380, 214, 204,
  2569  	190, 402, 426, 211, 383, 0, 0, 460, 192, 424,
  2570  	399, 311, 280, 281, 191, 0, 364, 234, 255, 224,
  2571  	331, 421, 422, 223, 461, 201, 441, 194, 0, 440,
  2572  	324, 417, 425, 312, 303, 193, 423, 310, 302, 286,
  2573  	245, 266, 358, 296, 359, 267, 320, 319, 321, 0,
  2574  	188, 0, 396, 434, 462, 207, 208, 209, 0, 244,
  2575  	248, 254, 256, 262, 263, 270, 289, 335, 357, 355,
  2576  	361, 0, 412, 429, 437, 444, 450, 451, 453, 454,
  2577  	455, 456, 457, 323, 269, 392, 285, 294, 0, 0,
  2578  	341, 373, 212, 432, 393, 594, 586, 577, 598, 579,
  2579  	595, 596, 574, 575, 578, 597, 463, 464, 465, 466,
  2580  	467, 468, 469, 470, 471, 472, 473, 474, 475, 476,
  2581  	477, 478, 479, 480, 0, 589, 564, 563, 0, 570,
  2582  	571, 0, 580, 581, 562, 181, 195, 290, 0, 362,
  2583  	252, 459, 439, 435, 0, 0, 228, 0, 0, 0,
  2584  	0, 0, 0, 0, 0, 0, 0, 0, 314, 0,
  2585  	0, 0, 0, 0, 0, 0, 0, 0, 0, 183,
  2586  	184, 196, 205, 215, 227, 242, 250, 260, 265, 268,
  2587  	273, 274, 277, 282, 300, 305, 306, 307, 308, 325,
  2588  	326, 327, 330, 333, 334, 337, 339, 340, 343, 350,
  2589  	351, 352, 353, 354, 356, 363, 367, 375, 376, 377,
  2590  	378, 379, 381, 382, 386, 387, 388, 389, 397, 401,
  2591  	419, 420, 431, 443, 448, 261, 427, 449, 0, 299,
  2592  	0, 0, 301, 246, 264, 275, 0, 438, 398, 200,
  2593  	369, 253, 189, 218, 203, 225, 240, 243, 279, 309,
  2594  	316, 345, 349, 258, 237, 216, 366, 213, 384, 404,
  2595  	405, 406, 408, 313, 232, 348, 409, 0, 297, 410,
  2596  	411, 271, 0, 0, 0, 0, 0, 0, 332, 0,
  2597  	0, 0, 0, 561, 0, 0, 0, 236, 566, 0,
  2598  	0, 0, 288, 233, 0, 0, 346, 0, 187, 0,
  2599  	385, 221, 298, 295, 416, 247, 239, 235, 220, 272,
  2600  	304, 344, 403, 338, 573, 292, 0, 0, 394, 317,
  2601  	0, 0, 0, 0, 0, 568, 569, 0, 0, 0,
  2602  	0, 0, 0, 0, 0, 278, 219, 186, 329, 395,
  2603  	251, 0, 81, 0, 0, 178, 179, 180, 604, 611,
  2604  	612, 613, 614, 615, 605, 607, 0, 0, 210, 606,
  2605  	217, 582, 609, 616, 617, 0, 231, 276, 238, 230,
  2606  	413, 0, 0, 0, 0, 202, 0, 0, 0, 0,
  2607  	0, 0, 0, 544, 558, 0, 572, 0, 0, 0,
  2608  	241, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2609  	0, 0, 0, 0, 0, 555, 556, 695, 0, 0,
  2610  	0, 588, 0, 557, 0, 0, 565, 618, 619, 620,
  2611  	621, 622, 623, 624, 625, 626, 627, 628, 629, 630,
  2612  	631, 632, 633, 634, 635, 636, 637, 638, 639, 640,
  2613  	641, 642, 643, 644, 645, 646, 647, 648, 649, 650,
  2614  	651, 652, 653, 654, 655, 656, 657, 658, 567, 0,
  2615  	0, 0, 0, 0, 0, 0, 0, 0, 259, 0,
  2616  	318, 0, 587, 0, 0, 445, 0, 0, 585, 0,
  2617  	0, 0, 0, 287, 0, 284, 182, 198, 0, 0,
  2618  	328, 368, 374, 0, 0, 0, 222, 0, 372, 342,
  2619  	430, 206, 249, 365, 347, 370, 0, 0, 371, 293,
  2620  	418, 360, 428, 446, 447, 229, 322, 436, 407, 442,
  2621  	458, 199, 226, 336, 400, 433, 391, 315, 414, 415,
  2622  	283, 390, 257, 185, 291, 452, 197, 380, 214, 204,
  2623  	190, 402, 426, 211, 383, 0, 0, 460, 192, 424,
  2624  	399, 311, 280, 281, 191, 0, 364, 234, 255, 224,
  2625  	331, 421, 422, 223, 461, 201, 441, 194, 0, 440,
  2626  	324, 417, 425, 312, 303, 193, 423, 310, 302, 286,
  2627  	245, 266, 358, 296, 359, 267, 320, 319, 321, 0,
  2628  	188, 0, 396, 434, 462, 207, 208, 209, 0, 244,
  2629  	248, 254, 256, 262, 263, 270, 289, 335, 357, 355,
  2630  	361, 0, 412, 429, 437, 444, 450, 451, 453, 454,
  2631  	455, 456, 457, 323, 269, 392, 285, 294, 0, 0,
  2632  	341, 373, 212, 432, 393, 594, 586, 577, 598, 579,
  2633  	595, 596, 574, 575, 578, 597, 463, 464, 465, 466,
  2634  	467, 468, 469, 470, 471, 472, 473, 474, 475, 476,
  2635  	477, 478, 479, 480, 0, 589, 564, 563, 0, 570,
  2636  	571, 0, 580, 581, 562, 181, 195, 290, 0, 362,
  2637  	252, 459, 439, 435, 0, 0, 228, 0, 0, 0,
  2638  	0, 0, 0, 0, 0, 0, 0, 0, 314, 0,
  2639  	0, 0, 0, 0, 0, 0, 0, 0, 0, 183,
  2640  	184, 196, 205, 215, 227, 242, 250, 260, 265, 268,
  2641  	273, 274, 277, 282, 300, 305, 306, 307, 308, 325,
  2642  	326, 327, 330, 333, 334, 337, 339, 340, 343, 350,
  2643  	351, 352, 353, 354, 356, 363, 367, 375, 376, 377,
  2644  	378, 379, 381, 382, 386, 387, 388, 389, 397, 401,
  2645  	419, 420, 431, 443, 448, 261, 427, 449, 0, 299,
  2646  	0, 0, 301, 246, 264, 275, 0, 438, 398, 200,
  2647  	369, 253, 189, 218, 203, 225, 240, 243, 279, 309,
  2648  	316, 345, 349, 258, 237, 216, 366, 213, 384, 404,
  2649  	405, 406, 408, 313, 232, 348, 409, 0, 297, 410,
  2650  	411, 271, 0, 0, 0, 0, 0, 0, 332, 0,
  2651  	0, 0, 0, 561, 0, 0, 0, 236, 566, 0,
  2652  	0, 0, 288, 233, 0, 0, 346, 0, 187, 0,
  2653  	385, 221, 298, 295, 416, 247, 239, 235, 220, 272,
  2654  	304, 344, 403, 338, 573, 292, 0, 0, 394, 317,
  2655  	0, 0, 0, 0, 0, 568, 569, 0, 0, 0,
  2656  	0, 0, 0, 0, 0, 278, 219, 186, 329, 395,
  2657  	251, 0, 81, 0, 0, 178, 179, 180, 604, 611,
  2658  	612, 613, 614, 615, 605, 607, 0, 0, 210, 606,
  2659  	217, 582, 609, 616, 617, 0, 231, 276, 238, 230,
  2660  	413, 0, 0, 0, 0, 202, 0, 0, 0, 0,
  2661  	0, 0, 0, 544, 558, 0, 572, 0, 0, 0,
  2662  	241, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2663  	0, 0, 0, 0, 0, 555, 556, 0, 0, 0,
  2664  	0, 588, 0, 557, 0, 0, 565, 618, 619, 620,
  2665  	621, 622, 623, 624, 625, 626, 627, 628, 629, 630,
  2666  	631, 632, 633, 634, 635, 636, 637, 638, 639, 640,
  2667  	641, 642, 643, 644, 645, 646, 647, 648, 649, 650,
  2668  	651, 652, 653, 654, 655, 656, 657, 658, 567, 0,
  2669  	0, 0, 0, 0, 0, 0, 0, 0, 259, 0,
  2670  	318, 0, 587, 0, 0, 445, 0, 0, 585, 0,
  2671  	0, 0, 0, 287, 0, 284, 182, 198, 0, 0,
  2672  	328, 368, 374, 0, 0, 0, 222, 0, 372, 342,
  2673  	430, 206, 249, 365, 347, 370, 0, 0, 371, 293,
  2674  	418, 360, 428, 446, 447, 229, 322, 436, 407, 442,
  2675  	458, 199, 226, 336, 400, 433, 391, 315, 414, 415,
  2676  	283, 390, 257, 185, 291, 452, 197, 380, 214, 204,
  2677  	190, 402, 426, 211, 383, 0, 0, 460, 192, 424,
  2678  	399, 311, 280, 281, 191, 0, 364, 234, 255, 224,
  2679  	331, 421, 422, 223, 461, 201, 441, 194, 0, 440,
  2680  	324, 417, 425, 312, 303, 193, 423, 310, 302, 286,
  2681  	245, 266, 358, 296, 359, 267, 320, 319, 321, 0,
  2682  	188, 0, 396, 434, 462, 207, 208, 209, 0, 244,
  2683  	248, 254, 256, 262, 263, 270, 289, 335, 357, 355,
  2684  	361, 0, 412, 429, 437, 444, 450, 451, 453, 454,
  2685  	455, 456, 457, 323, 269, 392, 285, 294, 0, 0,
  2686  	341, 373, 212, 432, 393, 594, 586, 577, 598, 579,
  2687  	595, 596, 574, 575, 578, 597, 463, 464, 465, 466,
  2688  	467, 468, 469, 470, 471, 472, 473, 474, 475, 476,
  2689  	477, 478, 479, 480, 0, 589, 564, 563, 0, 570,
  2690  	571, 0, 580, 581, 562, 181, 195, 290, 0, 362,
  2691  	252, 459, 439, 435, 0, 0, 228, 0, 0, 0,
  2692  	0, 0, 0, 0, 0, 0, 0, 0, 314, 0,
  2693  	0, 0, 0, 0, 0, 0, 0, 0, 0, 183,
  2694  	184, 196, 205, 215, 227, 242, 250, 260, 265, 268,
  2695  	273, 274, 277, 282, 300, 305, 306, 307, 308, 325,
  2696  	326, 327, 330, 333, 334, 337, 339, 340, 343, 350,
  2697  	351, 352, 353, 354, 356, 363, 367, 375, 376, 377,
  2698  	378, 379, 381, 382, 386, 387, 388, 389, 397, 401,
  2699  	419, 420, 431, 443, 448, 261, 427, 449, 0, 299,
  2700  	0, 0, 301, 246, 264, 275, 0, 438, 398, 200,
  2701  	369, 253, 189, 218, 203, 225, 240, 243, 279, 309,
  2702  	316, 345, 349, 258, 237, 216, 366, 213, 384, 404,
  2703  	405, 406, 408, 313, 232, 348, 409, 0, 297, 410,
  2704  	411, 271, 0, 0, 0, 0, 0, 0, 332, 0,
  2705  	0, 0, 0, 561, 0, 0, 0, 236, 566, 0,
  2706  	0, 0, 288, 233, 0, 0, 346, 0, 187, 0,
  2707  	385, 221, 298, 295, 416, 247, 239, 235, 220, 272,
  2708  	304, 344, 403, 338, 573, 292, 0, 0, 394, 317,
  2709  	0, 0, 0, 0, 0, 568, 569, 0, 0, 0,
  2710  	0, 0, 0, 0, 0, 278, 219, 186, 329, 395,
  2711  	251, 0, 81, 0, 0, 178, 179, 180, 604, 611,
  2712  	612, 613, 614, 615, 605, 607, 0, 0, 210, 606,
  2713  	217, 582, 609, 616, 617, 0, 231, 276, 238, 230,
  2714  	413, 0, 0, 0, 0, 202, 0, 0, 0, 0,
  2715  	0, 0, 0, 0, 558, 0, 572, 0, 0, 0,
  2716  	241, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2717  	0, 0, 0, 0, 0, 555, 556, 0, 0, 0,
  2718  	0, 588, 0, 557, 0, 0, 565, 618, 619, 620,
  2719  	621, 622, 623, 624, 625, 626, 627, 628, 629, 630,
  2720  	631, 632, 633, 634, 635, 636, 637, 638, 639, 640,
  2721  	641, 642, 643, 644, 645, 646, 647, 648, 649, 650,
  2722  	651, 652, 653, 654, 655, 656, 657, 658, 567, 0,
  2723  	0, 0, 0, 0, 0, 0, 0, 0, 259, 0,
  2724  	318, 0, 587, 0, 0, 445, 0, 0, 585, 0,
  2725  	0, 0, 0, 287, 0, 284, 182, 198, 0, 0,
  2726  	328, 368, 374, 0, 0, 0, 222, 0, 372, 342,
  2727  	430, 206, 249, 365, 347, 370, 0, 0, 371, 293,
  2728  	418, 360, 428, 446, 447, 229, 322, 436, 407, 442,
  2729  	458, 199, 226, 336, 400, 433, 391, 315, 414, 415,
  2730  	283, 390, 257, 185, 291, 452, 197, 380, 214, 204,
  2731  	190, 402, 426, 211, 383, 0, 0, 460, 192, 424,
  2732  	399, 311, 280, 281, 191, 0, 364, 234, 255, 224,
  2733  	331, 421, 422, 223, 461, 201, 441, 194, 0, 440,
  2734  	324, 417, 425, 312, 303, 193, 423, 310, 302, 286,
  2735  	245, 266, 358, 296, 359, 267, 320, 319, 321, 0,
  2736  	188, 0, 396, 434, 462, 207, 208, 209, 0, 244,
  2737  	248, 254, 256, 262, 263, 270, 289, 335, 357, 355,
  2738  	361, 0, 412, 429, 437, 444, 450, 451, 453, 454,
  2739  	455, 456, 457, 323, 269, 392, 285, 294, 0, 0,
  2740  	341, 373, 212, 432, 393, 594, 586, 577, 598, 579,
  2741  	595, 596, 574, 575, 578, 597, 463, 464, 465, 466,
  2742  	467, 468, 469, 470, 471, 472, 473, 474, 475, 476,
  2743  	477, 478, 479, 480, 0, 589, 564, 563, 0, 570,
  2744  	571, 0, 580, 581, 562, 181, 195, 290, 0, 362,
  2745  	252, 459, 439, 435, 0, 0, 228, 0, 0, 0,
  2746  	0, 0, 0, 0, 0, 0, 0, 0, 314, 0,
  2747  	0, 0, 0, 0, 0, 0, 0, 0, 0, 183,
  2748  	184, 196, 205, 215, 227, 242, 250, 260, 265, 268,
  2749  	273, 274, 277, 282, 300, 305, 306, 307, 308, 325,
  2750  	326, 327, 330, 333, 334, 337, 339, 340, 343, 350,
  2751  	351, 352, 353, 354, 356, 363, 367, 375, 376, 377,
  2752  	378, 379, 381, 382, 386, 387, 388, 389, 397, 401,
  2753  	419, 420, 431, 443, 448, 261, 427, 449, 0, 299,
  2754  	0, 0, 301, 246, 264, 275, 0, 438, 398, 200,
  2755  	369, 253, 189, 218, 203, 225, 240, 243, 279, 309,
  2756  	316, 345, 349, 258, 237, 216, 366, 213, 384, 404,
  2757  	405, 406, 408, 313, 232, 348, 409, 0, 297, 410,
  2758  	411, 271, 0, 0, 0, 0, 0, 0, 332, 0,
  2759  	0, 0, 0, 0, 0, 0, 0, 236, 0, 0,
  2760  	0, 0, 288, 233, 0, 0, 346, 0, 187, 0,
  2761  	385, 221, 298, 295, 416, 247, 239, 235, 220, 272,
  2762  	304, 344, 403, 338, 0, 292, 0, 0, 394, 317,
  2763  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2764  	0, 0, 0, 0, 0, 278, 219, 186, 329, 395,
  2765  	251, 0, 0, 0, 0, 178, 179, 180, 0, 0,
  2766  	0, 0, 0, 0, 0, 0, 0, 0, 210, 0,
  2767  	217, 0, 0, 0, 0, 0, 231, 276, 238, 230,
  2768  	413, 0, 0, 0, 0, 202, 0, 904, 0, 0,
  2769  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2770  	241, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2771  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2772  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2773  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2774  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2775  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2776  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2777  	0, 0, 0, 0, 0, 0, 0, 0, 259, 0,
  2778  	318, 0, 0, 0, 903, 445, 0, 0, 0, 0,
  2779  	0, 900, 901, 287, 866, 284, 182, 198, 894, 898,
  2780  	328, 368, 374, 0, 0, 0, 222, 0, 372, 342,
  2781  	430, 206, 249, 365, 347, 370, 0, 0, 371, 293,
  2782  	418, 360, 428, 446, 447, 229, 322, 436, 407, 442,
  2783  	458, 199, 226, 336, 400, 433, 391, 315, 414, 415,
  2784  	283, 390, 257, 185, 291, 452, 197, 380, 214, 204,
  2785  	190, 402, 426, 211, 383, 0, 0, 460, 192, 424,
  2786  	399, 311, 280, 281, 191, 0, 364, 234, 255, 224,
  2787  	331, 421, 422, 223, 461, 201, 441, 194, 0, 440,
  2788  	324, 417, 425, 312, 303, 193, 423, 310, 302, 286,
  2789  	245, 266, 358, 296, 359, 267, 320, 319, 321, 0,
  2790  	188, 0, 396, 434, 462, 207, 208, 209, 0, 244,
  2791  	248, 254, 256, 262, 263, 270, 289, 335, 357, 355,
  2792  	361, 0, 412, 429, 437, 444, 450, 451, 453, 454,
  2793  	455, 456, 457, 323, 269, 392, 285, 294, 0, 0,
  2794  	341, 373, 212, 432, 393, 0, 0, 0, 0, 0,
  2795  	0, 0, 0, 0, 0, 0, 463, 464, 465, 466,
  2796  	467, 468, 469, 470, 471, 472, 473, 474, 475, 476,
  2797  	477, 478, 479, 480, 0, 0, 0, 0, 0, 0,
  2798  	0, 0, 0, 0, 0, 181, 195, 290, 0, 362,
  2799  	252, 459, 439, 435, 0, 0, 228, 0, 0, 0,
  2800  	0, 0, 0, 0, 0, 0, 0, 0, 314, 0,
  2801  	0, 0, 0, 0, 0, 0, 0, 0, 0, 183,
  2802  	184, 196, 205, 215, 227, 242, 250, 260, 265, 268,
  2803  	273, 274, 277, 282, 300, 305, 306, 307, 308, 325,
  2804  	326, 327, 330, 333, 334, 337, 339, 340, 343, 350,
  2805  	351, 352, 353, 354, 356, 363, 367, 375, 376, 377,
  2806  	378, 379, 381, 382, 386, 387, 388, 389, 397, 401,
  2807  	419, 420, 431, 443, 448, 261, 427, 449, 0, 299,
  2808  	0, 0, 301, 246, 264, 275, 0, 438, 398, 200,
  2809  	369, 253, 189, 218, 203, 225, 240, 243, 279, 309,
  2810  	316, 345, 349, 258, 237, 216, 366, 213, 384, 404,
  2811  	405, 406, 408, 313, 232, 348, 409, 0, 297, 410,
  2812  	411, 271, 0, 0, 0, 0, 0, 0, 332, 0,
  2813  	0, 0, 1197, 0, 0, 0, 0, 236, 0, 0,
  2814  	0, 0, 288, 233, 0, 0, 346, 0, 187, 0,
  2815  	385, 221, 298, 295, 416, 247, 239, 235, 220, 272,
  2816  	304, 344, 403, 338, 0, 292, 0, 0, 394, 317,
  2817  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2818  	0, 0, 0, 0, 0, 278, 219, 186, 329, 395,
  2819  	251, 0, 0, 0, 0, 178, 179, 180, 0, 1199,
  2820  	0, 0, 0, 0, 0, 0, 0, 0, 210, 0,
  2821  	217, 0, 0, 0, 0, 0, 231, 276, 238, 230,
  2822  	413, 0, 0, 0, 0, 202, 0, 0, 0, 1066,
  2823  	0, 1067, 1068, 0, 0, 0, 0, 0, 0, 0,
  2824  	241, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2825  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2826  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2827  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2828  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2829  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2830  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2831  	0, 0, 0, 0, 0, 0, 0, 0, 259, 0,
  2832  	318, 0, 0, 0, 0, 445, 0, 0, 0, 0,
  2833  	0, 0, 0, 287, 0, 284, 182, 198, 0, 0,
  2834  	328, 368, 374, 0, 0, 0, 222, 0, 372, 342,
  2835  	430, 206, 249, 365, 347, 370, 0, 0, 371, 293,
  2836  	418, 360, 428, 446, 447, 229, 322, 436, 407, 442,
  2837  	458, 199, 226, 336, 400, 433, 391, 315, 414, 415,
  2838  	283, 390, 257, 185, 291, 452, 197, 380, 214, 204,
  2839  	190, 402, 426, 211, 383, 0, 0, 460, 192, 424,
  2840  	399, 311, 280, 281, 191, 0, 364, 234, 255, 224,
  2841  	331, 421, 422, 223, 461, 201, 441, 194, 0, 440,
  2842  	324, 417, 425, 312, 303, 193, 423, 310, 302, 286,
  2843  	245, 266, 358, 296, 359, 267, 320, 319, 321, 0,
  2844  	188, 0, 396, 434, 462, 207, 208, 209, 0, 244,
  2845  	248, 254, 256, 262, 263, 270, 289, 335, 357, 355,
  2846  	361, 0, 412, 429, 437, 444, 450, 451, 453, 454,
  2847  	455, 456, 457, 323, 269, 392, 285, 294, 0, 0,
  2848  	341, 373, 212, 432, 393, 0, 0, 0, 0, 0,
  2849  	0, 0, 0, 0, 0, 0, 463, 464, 465, 466,
  2850  	467, 468, 469, 470, 471, 472, 473, 474, 475, 476,
  2851  	477, 478, 479, 480, 0, 0, 0, 0, 0, 0,
  2852  	0, 0, 0, 0, 0, 181, 195, 290, 0, 362,
  2853  	252, 459, 439, 435, 0, 0, 228, 0, 0, 0,
  2854  	0, 0, 0, 0, 0, 0, 0, 0, 314, 0,
  2855  	0, 0, 0, 0, 0, 0, 0, 0, 0, 183,
  2856  	184, 196, 205, 215, 227, 242, 250, 260, 265, 268,
  2857  	273, 274, 277, 282, 300, 305, 306, 307, 308, 325,
  2858  	326, 327, 330, 333, 334, 337, 339, 340, 343, 350,
  2859  	351, 352, 353, 354, 356, 363, 367, 375, 376, 377,
  2860  	378, 379, 381, 382, 386, 387, 388, 389, 397, 401,
  2861  	419, 420, 431, 443, 448, 261, 427, 449, 0, 299,
  2862  	0, 0, 301, 246, 264, 275, 0, 438, 398, 200,
  2863  	369, 253, 189, 218, 203, 225, 240, 243, 279, 309,
  2864  	316, 345, 349, 258, 237, 216, 366, 213, 384, 404,
  2865  	405, 406, 408, 313, 232, 348, 409, 0, 297, 410,
  2866  	411, 271, 0, 0, 0, 0, 0, 0, 332, 0,
  2867  	0, 0, 0, 0, 0, 0, 0, 236, 0, 0,
  2868  	0, 0, 288, 233, 0, 0, 346, 0, 187, 0,
  2869  	385, 221, 298, 295, 416, 247, 239, 235, 220, 272,
  2870  	304, 344, 403, 338, 0, 292, 0, 0, 394, 317,
  2871  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2872  	0, 0, 0, 0, 0, 278, 219, 186, 329, 395,
  2873  	251, 0, 0, 0, 0, 178, 179, 180, 1142, 1145,
  2874  	0, 0, 0, 0, 1141, 1144, 0, 0, 210, 1140,
  2875  	217, 0, 0, 0, 0, 0, 231, 276, 238, 230,
  2876  	413, 0, 0, 0, 0, 202, 0, 0, 0, 0,
  2877  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2878  	241, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2879  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2880  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2881  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2882  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2883  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2884  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2885  	0, 0, 0, 0, 0, 0, 0, 0, 259, 0,
  2886  	318, 0, 0, 0, 0, 445, 0, 0, 0, 0,
  2887  	0, 0, 0, 287, 0, 284, 182, 198, 0, 0,
  2888  	328, 368, 374, 0, 0, 0, 222, 0, 372, 342,
  2889  	430, 206, 249, 365, 347, 370, 0, 0, 371, 293,
  2890  	418, 360, 428, 446, 447, 229, 322, 436, 407, 442,
  2891  	458, 199, 226, 336, 400, 433, 391, 315, 414, 415,
  2892  	283, 390, 257, 185, 291, 452, 197, 380, 214, 204,
  2893  	190, 402, 426, 211, 383, 0, 0, 460, 192, 424,
  2894  	399, 311, 280, 281, 191, 0, 364, 234, 255, 224,
  2895  	331, 421, 422, 223, 461, 201, 441, 194, 0, 440,
  2896  	324, 417, 425, 312, 303, 193, 423, 310, 302, 286,
  2897  	245, 266, 358, 296, 359, 267, 320, 319, 321, 0,
  2898  	188, 0, 396, 434, 462, 207, 208, 209, 0, 244,
  2899  	248, 254, 256, 262, 263, 270, 289, 335, 357, 355,
  2900  	361, 0, 412, 429, 437, 444, 450, 451, 453, 454,
  2901  	455, 456, 457, 323, 269, 392, 285, 294, 0, 0,
  2902  	341, 373, 212, 432, 393, 0, 0, 0, 0, 0,
  2903  	0, 0, 0, 0, 0, 0, 463, 464, 465, 466,
  2904  	467, 468, 469, 470, 471, 472, 473, 474, 475, 476,
  2905  	477, 478, 479, 480, 0, 0, 0, 0, 0, 0,
  2906  	0, 0, 0, 0, 0, 181, 195, 290, 0, 362,
  2907  	252, 459, 439, 435, 0, 0, 228, 0, 0, 0,
  2908  	0, 0, 0, 0, 0, 0, 0, 0, 314, 0,
  2909  	0, 0, 0, 0, 0, 0, 0, 0, 0, 183,
  2910  	184, 196, 205, 215, 227, 242, 250, 260, 265, 268,
  2911  	273, 274, 277, 282, 300, 305, 306, 307, 308, 325,
  2912  	326, 327, 330, 333, 334, 337, 339, 340, 343, 350,
  2913  	351, 352, 353, 354, 356, 363, 367, 375, 376, 377,
  2914  	378, 379, 381, 382, 386, 387, 388, 389, 397, 401,
  2915  	419, 420, 431, 443, 448, 261, 427, 449, 0, 299,
  2916  	0, 0, 301, 246, 264, 275, 0, 438, 398, 200,
  2917  	369, 253, 189, 218, 203, 225, 240, 243, 279, 309,
  2918  	316, 345, 349, 258, 237, 216, 366, 213, 384, 404,
  2919  	405, 406, 408, 313, 232, 348, 72, 409, 297, 410,
  2920  	411, 271, 0, 0, 0, 0, 0, 0, 0, 332,
  2921  	0, 0, 0, 0, 0, 0, 0, 0, 236, 0,
  2922  	0, 0, 0, 288, 233, 0, 0, 346, 0, 187,
  2923  	0, 385, 221, 298, 295, 416, 247, 239, 235, 220,
  2924  	272, 304, 344, 403, 338, 0, 292, 0, 0, 394,
  2925  	317, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2926  	0, 0, 0, 0, 0, 0, 278, 219, 186, 329,
  2927  	395, 251, 0, 81, 0, 1177, 178, 179, 180, 0,
  2928  	0, 0, 0, 0, 0, 0, 0, 0, 0, 210,
  2929  	0, 217, 0, 0, 0, 0, 0, 231, 276, 238,
  2930  	230, 413, 0, 0, 0, 0, 202, 0, 0, 0,
  2931  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2932  	0, 241, 0, 0, 0, 0, 0, 0, 0, 0,
  2933  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2934  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2935  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2936  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2937  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2938  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2939  	0, 0, 0, 0, 0, 0, 0, 0, 0, 259,
  2940  	0, 318, 0, 0, 0, 0, 445, 0, 0, 0,
  2941  	0, 0, 0, 0, 287, 0, 284, 182, 198, 0,
  2942  	0, 328, 368, 374, 0, 0, 0, 222, 0, 372,
  2943  	342, 430, 206, 249, 365, 347, 370, 0, 0, 371,
  2944  	293, 418, 360, 428, 446, 447, 229, 322, 436, 407,
  2945  	442, 458, 199, 226, 336, 400, 433, 391, 315, 414,
  2946  	415, 283, 390, 257, 185, 291, 452, 197, 380, 214,
  2947  	204, 190, 402, 426, 211, 383, 0, 0, 460, 192,
  2948  	424, 399, 311, 280, 281, 191, 0, 364, 234, 255,
  2949  	224, 331, 421, 422, 223, 461, 201, 441, 194, 0,
  2950  	440, 324, 417, 425, 312, 303, 193, 423, 310, 302,
  2951  	286, 245, 266, 358, 296, 359, 267, 320, 319, 321,
  2952  	0, 188, 0, 396, 434, 462, 207, 208, 209, 0,
  2953  	244, 248, 254, 256, 262, 263, 270, 289, 335, 357,
  2954  	355, 361, 0, 412, 429, 437, 444, 450, 451, 453,
  2955  	454, 455, 456, 457, 323, 269, 392, 285, 294, 0,
  2956  	0, 341, 373, 212, 432, 393, 0, 0, 0, 0,
  2957  	0, 0, 0, 0, 0, 0, 0, 463, 464, 465,
  2958  	466, 467, 468, 469, 470, 471, 472, 473, 474, 475,
  2959  	476, 477, 478, 479, 480, 0, 0, 0, 0, 0,
  2960  	0, 0, 0, 0, 0, 0, 181, 195, 290, 80,
  2961  	362, 252, 459, 439, 435, 0, 0, 228, 0, 0,
  2962  	0, 0, 0, 0, 0, 0, 0, 0, 0, 314,
  2963  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2964  	183, 184, 196, 205, 215, 227, 242, 250, 260, 265,
  2965  	268, 273, 274, 277, 282, 300, 305, 306, 307, 308,
  2966  	325, 326, 327, 330, 333, 334, 337, 339, 340, 343,
  2967  	350, 351, 352, 353, 354, 356, 363, 367, 375, 376,
  2968  	377, 378, 379, 381, 382, 386, 387, 388, 389, 397,
  2969  	401, 419, 420, 431, 443, 448, 261, 427, 449, 0,
  2970  	299, 0, 0, 301, 246, 264, 275, 0, 438, 398,
  2971  	200, 369, 253, 189, 218, 203, 225, 240, 243, 279,
  2972  	309, 316, 345, 349, 258, 237, 216, 366, 213, 384,
  2973  	404, 405, 406, 408, 313, 232, 348, 72, 409, 297,
  2974  	410, 411, 271, 0, 0, 0, 0, 0, 0, 0,
  2975  	332, 0, 0, 0, 0, 0, 0, 0, 0, 236,
  2976  	0, 0, 0, 0, 288, 233, 0, 0, 346, 0,
  2977  	187, 0, 385, 221, 298, 295, 416, 247, 239, 235,
  2978  	220, 272, 304, 344, 403, 338, 0, 292, 0, 0,
  2979  	394, 317, 0, 0, 0, 0, 0, 0, 0, 0,
  2980  	0, 0, 0, 0, 0, 0, 0, 278, 219, 186,
  2981  	329, 395, 251, 0, 81, 0, 0, 178, 179, 180,
  2982  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2983  	210, 0, 217, 0, 0, 0, 0, 0, 231, 276,
  2984  	238, 230, 413, 0, 0, 0, 0, 202, 0, 0,
  2985  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2986  	0, 0, 241, 0, 0, 0, 0, 0, 0, 0,
  2987  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2988  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2989  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2990  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2991  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2992  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2993  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2994  	259, 0, 318, 0, 0, 0, 0, 445, 0, 0,
  2995  	0, 0, 0, 0, 0, 287, 0, 284, 182, 198,
  2996  	0, 0, 328, 368, 374, 0, 0, 0, 222, 0,
  2997  	372, 342, 430, 206, 249, 365, 347, 370, 0, 0,
  2998  	371, 293, 418, 360, 428, 446, 447, 229, 322, 436,
  2999  	407, 442, 458, 199, 226, 336, 400, 433, 391, 315,
  3000  	414, 415, 283, 390, 257, 185, 291, 452, 197, 380,
  3001  	214, 204, 190, 402, 426, 211, 383, 0, 0, 460,
  3002  	192, 424, 399, 311, 280, 281, 191, 0, 364, 234,
  3003  	255, 224, 331, 421, 422, 223, 461, 201, 441, 194,
  3004  	0, 440, 324, 417, 425, 312, 303, 193, 423, 310,
  3005  	302, 286, 245, 266, 358, 296, 359, 267, 320, 319,
  3006  	321, 0, 188, 0, 396, 434, 462, 207, 208, 209,
  3007  	0, 244, 248, 254, 256, 262, 263, 270, 289, 335,
  3008  	357, 355, 361, 0, 412, 429, 437, 444, 450, 451,
  3009  	453, 454, 455, 456, 457, 323, 269, 392, 285, 294,
  3010  	0, 0, 341, 373, 212, 432, 393, 0, 0, 0,
  3011  	0, 0, 0, 0, 0, 0, 0, 0, 463, 464,
  3012  	465, 466, 467, 468, 469, 470, 471, 472, 473, 474,
  3013  	475, 476, 477, 478, 479, 480, 0, 0, 0, 0,
  3014  	0, 0, 0, 0, 0, 0, 0, 181, 195, 290,
  3015  	80, 362, 252, 459, 439, 435, 0, 0, 228, 0,
  3016  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3017  	314, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3018  	0, 183, 184, 196, 205, 215, 227, 242, 250, 260,
  3019  	265, 268, 273, 274, 277, 282, 300, 305, 306, 307,
  3020  	308, 325, 326, 327, 330, 333, 334, 337, 339, 340,
  3021  	343, 350, 351, 352, 353, 354, 356, 363, 367, 375,
  3022  	376, 377, 378, 379, 381, 382, 386, 387, 388, 389,
  3023  	397, 401, 419, 420, 431, 443, 448, 261, 427, 449,
  3024  	0, 299, 0, 0, 301, 246, 264, 275, 0, 438,
  3025  	398, 200, 369, 253, 189, 218, 203, 225, 240, 243,
  3026  	279, 309, 316, 345, 349, 258, 237, 216, 366, 213,
  3027  	384, 404, 405, 406, 408, 313, 232, 348, 409, 0,
  3028  	297, 410, 411, 271, 0, 0, 0, 0, 0, 0,
  3029  	332, 0, 0, 0, 1578, 0, 0, 0, 0, 236,
  3030  	0, 0, 0, 0, 288, 233, 0, 0, 346, 0,
  3031  	187, 0, 385, 221, 298, 295, 416, 247, 239, 235,
  3032  	220, 272, 304, 344, 403, 338, 0, 292, 0, 0,
  3033  	394, 317, 0, 0, 0, 0, 0, 0, 0, 0,
  3034  	0, 0, 0, 0, 0, 0, 0, 278, 219, 186,
  3035  	329, 395, 251, 0, 0, 0, 0, 178, 179, 180,
  3036  	0, 1368, 0, 0, 0, 0, 0, 0, 0, 0,
  3037  	210, 0, 217, 0, 0, 0, 0, 0, 231, 276,
  3038  	238, 230, 413, 0, 0, 0, 0, 202, 0, 0,
  3039  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3040  	0, 0, 241, 0, 0, 0, 0, 0, 0, 0,
  3041  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3042  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3043  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3044  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3045  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3046  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3047  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3048  	259, 0, 318, 0, 0, 0, 0, 445, 0, 0,
  3049  	0, 0, 0, 0, 0, 287, 0, 284, 182, 198,
  3050  	0, 0, 328, 368, 374, 0, 0, 0, 222, 0,
  3051  	372, 342, 430, 206, 249, 365, 347, 370, 0, 1576,
  3052  	371, 293, 418, 360, 428, 446, 447, 229, 322, 436,
  3053  	407, 442, 458, 199, 226, 336, 400, 433, 391, 315,
  3054  	414, 415, 283, 390, 257, 185, 291, 452, 197, 380,
  3055  	214, 204, 190, 402, 426, 211, 383, 0, 0, 460,
  3056  	192, 424, 399, 311, 280, 281, 191, 0, 364, 234,
  3057  	255, 224, 331, 421, 422, 223, 461, 201, 441, 194,
  3058  	0, 440, 324, 417, 425, 312, 303, 193, 423, 310,
  3059  	302, 286, 245, 266, 358, 296, 359, 267, 320, 319,
  3060  	321, 0, 188, 0, 396, 434, 462, 207, 208, 209,
  3061  	0, 244, 248, 254, 256, 262, 263, 270, 289, 335,
  3062  	357, 355, 361, 0, 412, 429, 437, 444, 450, 451,
  3063  	453, 454, 455, 456, 457, 323, 269, 392, 285, 294,
  3064  	0, 0, 341, 373, 212, 432, 393, 0, 0, 0,
  3065  	0, 0, 0, 0, 0, 0, 0, 0, 463, 464,
  3066  	465, 466, 467, 468, 469, 470, 471, 472, 473, 474,
  3067  	475, 476, 477, 478, 479, 480, 0, 0, 0, 0,
  3068  	0, 0, 0, 0, 0, 0, 0, 181, 195, 290,
  3069  	0, 362, 252, 459, 439, 435, 0, 0, 228, 0,
  3070  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3071  	314, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3072  	0, 183, 184, 196, 205, 215, 227, 242, 250, 260,
  3073  	265, 268, 273, 274, 277, 282, 300, 305, 306, 307,
  3074  	308, 325, 326, 327, 330, 333, 334, 337, 339, 340,
  3075  	343, 350, 351, 352, 353, 354, 356, 363, 367, 375,
  3076  	376, 377, 378, 379, 381, 382, 386, 387, 388, 389,
  3077  	397, 401, 419, 420, 431, 443, 448, 261, 427, 449,
  3078  	0, 299, 0, 0, 301, 246, 264, 275, 0, 438,
  3079  	398, 200, 369, 253, 189, 218, 203, 225, 240, 243,
  3080  	279, 309, 316, 345, 349, 258, 237, 216, 366, 213,
  3081  	384, 404, 405, 406, 408, 313, 232, 348, 409, 0,
  3082  	297, 410, 411, 271, 0, 0, 0, 0, 0, 0,
  3083  	332, 0, 0, 0, 0, 0, 0, 0, 0, 236,
  3084  	0, 0, 0, 0, 288, 233, 0, 0, 346, 0,
  3085  	187, 0, 385, 221, 298, 295, 416, 247, 239, 235,
  3086  	220, 272, 304, 344, 403, 338, 0, 292, 0, 0,
  3087  	394, 317, 0, 0, 0, 0, 0, 0, 0, 0,
  3088  	0, 0, 0, 0, 0, 0, 0, 278, 219, 186,
  3089  	329, 395, 251, 0, 0, 0, 0, 178, 179, 180,
  3090  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3091  	210, 0, 217, 0, 0, 0, 0, 0, 231, 276,
  3092  	238, 230, 413, 0, 0, 0, 0, 202, 0, 0,
  3093  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3094  	0, 0, 241, 0, 0, 0, 0, 0, 0, 0,
  3095  	0, 860, 0, 0, 0, 0, 0, 0, 0, 0,
  3096  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3097  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3098  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3099  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3100  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3101  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3102  	259, 0, 318, 0, 0, 0, 0, 445, 0, 0,
  3103  	0, 0, 0, 0, 0, 287, 866, 284, 182, 198,
  3104  	864, 0, 328, 368, 374, 0, 0, 0, 222, 0,
  3105  	372, 342, 430, 206, 249, 365, 347, 370, 0, 0,
  3106  	371, 293, 418, 360, 428, 446, 447, 229, 322, 436,
  3107  	407, 442, 458, 199, 226, 336, 400, 433, 391, 315,
  3108  	414, 415, 283, 390, 257, 185, 291, 452, 197, 380,
  3109  	214, 204, 190, 402, 426, 211, 383, 0, 0, 460,
  3110  	192, 424, 399, 311, 280, 281, 191, 0, 364, 234,
  3111  	255, 224, 331, 421, 422, 223, 461, 201, 441, 194,
  3112  	0, 440, 324, 417, 425, 312, 303, 193, 423, 310,
  3113  	302, 286, 245, 266, 358, 296, 359, 267, 320, 319,
  3114  	321, 0, 188, 0, 396, 434, 462, 207, 208, 209,
  3115  	0, 244, 248, 254, 256, 262, 263, 270, 289, 335,
  3116  	357, 355, 361, 0, 412, 429, 437, 444, 450, 451,
  3117  	453, 454, 455, 456, 457, 323, 269, 392, 285, 294,
  3118  	0, 0, 341, 373, 212, 432, 393, 0, 0, 0,
  3119  	0, 0, 0, 0, 0, 0, 0, 0, 463, 464,
  3120  	465, 466, 467, 468, 469, 470, 471, 472, 473, 474,
  3121  	475, 476, 477, 478, 479, 480, 0, 0, 0, 0,
  3122  	0, 0, 0, 0, 0, 0, 0, 181, 195, 290,
  3123  	0, 362, 252, 459, 439, 435, 0, 0, 228, 0,
  3124  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3125  	314, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3126  	0, 183, 184, 196, 205, 215, 227, 242, 250, 260,
  3127  	265, 268, 273, 274, 277, 282, 300, 305, 306, 307,
  3128  	308, 325, 326, 327, 330, 333, 334, 337, 339, 340,
  3129  	343, 350, 351, 352, 353, 354, 356, 363, 367, 375,
  3130  	376, 377, 378, 379, 381, 382, 386, 387, 388, 389,
  3131  	397, 401, 419, 420, 431, 443, 448, 261, 427, 449,
  3132  	0, 299, 0, 0, 301, 246, 264, 275, 0, 438,
  3133  	398, 200, 369, 253, 189, 218, 203, 225, 240, 243,
  3134  	279, 309, 316, 345, 349, 258, 237, 216, 366, 213,
  3135  	384, 404, 405, 406, 408, 313, 232, 348, 409, 0,
  3136  	297, 410, 411, 271, 0, 0, 0, 0, 0, 0,
  3137  	332, 0, 0, 0, 1578, 0, 0, 0, 0, 236,
  3138  	0, 0, 0, 0, 288, 233, 0, 0, 346, 0,
  3139  	187, 0, 385, 221, 298, 295, 416, 247, 239, 235,
  3140  	220, 272, 304, 344, 403, 338, 0, 292, 0, 0,
  3141  	394, 317, 0, 0, 0, 0, 0, 0, 0, 0,
  3142  	0, 0, 0, 0, 0, 0, 0, 278, 219, 186,
  3143  	329, 395, 251, 0, 0, 0, 0, 178, 179, 180,
  3144  	0, 1368, 0, 0, 0, 0, 0, 0, 0, 0,
  3145  	210, 0, 217, 0, 0, 0, 0, 0, 231, 276,
  3146  	238, 230, 413, 0, 0, 0, 0, 202, 0, 0,
  3147  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3148  	0, 0, 241, 0, 0, 0, 0, 0, 0, 0,
  3149  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3150  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3151  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3152  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3153  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3154  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3155  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3156  	259, 0, 318, 0, 0, 0, 0, 445, 0, 0,
  3157  	0, 0, 0, 0, 0, 287, 0, 284, 182, 198,
  3158  	0, 0, 328, 368, 374, 0, 0, 0, 222, 0,
  3159  	372, 342, 430, 206, 249, 365, 347, 370, 0, 0,
  3160  	371, 293, 418, 360, 428, 446, 447, 229, 322, 436,
  3161  	407, 442, 458, 199, 226, 336, 400, 433, 391, 315,
  3162  	414, 415, 283, 390, 257, 185, 291, 452, 197, 380,
  3163  	214, 204, 190, 402, 426, 211, 383, 0, 0, 460,
  3164  	192, 424, 399, 311, 280, 281, 191, 0, 364, 234,
  3165  	255, 224, 331, 421, 422, 223, 461, 201, 441, 194,
  3166  	0, 440, 324, 417, 425, 312, 303, 193, 423, 310,
  3167  	302, 286, 245, 266, 358, 296, 359, 267, 320, 319,
  3168  	321, 0, 188, 0, 396, 434, 462, 207, 208, 209,
  3169  	0, 244, 248, 254, 256, 262, 263, 270, 289, 335,
  3170  	357, 355, 361, 0, 412, 429, 437, 444, 450, 451,
  3171  	453, 454, 455, 456, 457, 323, 269, 392, 285, 294,
  3172  	0, 0, 341, 373, 212, 432, 393, 0, 0, 0,
  3173  	0, 0, 0, 0, 0, 0, 0, 0, 463, 464,
  3174  	465, 466, 467, 468, 469, 470, 471, 472, 473, 474,
  3175  	475, 476, 477, 478, 479, 480, 0, 0, 0, 0,
  3176  	0, 0, 0, 0, 0, 0, 0, 181, 195, 290,
  3177  	0, 362, 252, 459, 439, 435, 0, 0, 228, 0,
  3178  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3179  	314, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3180  	0, 183, 184, 196, 205, 215, 227, 242, 250, 260,
  3181  	265, 268, 273, 274, 277, 282, 300, 305, 306, 307,
  3182  	308, 325, 326, 327, 330, 333, 334, 337, 339, 340,
  3183  	343, 350, 351, 352, 353, 354, 356, 363, 367, 375,
  3184  	376, 377, 378, 379, 381, 382, 386, 387, 388, 389,
  3185  	397, 401, 419, 420, 431, 443, 448, 261, 427, 449,
  3186  	0, 299, 0, 0, 301, 246, 264, 275, 0, 438,
  3187  	398, 200, 369, 253, 189, 218, 203, 225, 240, 243,
  3188  	279, 309, 316, 345, 349, 258, 237, 216, 366, 213,
  3189  	384, 404, 405, 406, 408, 313, 232, 348, 409, 0,
  3190  	297, 410, 411, 271, 0, 0, 0, 0, 0, 0,
  3191  	332, 0, 0, 0, 0, 0, 0, 0, 0, 236,
  3192  	0, 0, 0, 0, 288, 233, 0, 0, 346, 0,
  3193  	187, 0, 385, 221, 298, 295, 416, 247, 239, 235,
  3194  	220, 272, 304, 344, 403, 338, 0, 292, 0, 0,
  3195  	394, 317, 0, 0, 0, 0, 0, 0, 0, 0,
  3196  	0, 0, 0, 0, 0, 0, 0, 278, 219, 186,
  3197  	329, 395, 251, 0, 0, 0, 1177, 178, 179, 180,
  3198  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3199  	210, 0, 217, 0, 0, 0, 0, 0, 231, 276,
  3200  	238, 230, 413, 0, 0, 0, 0, 202, 0, 0,
  3201  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3202  	0, 0, 241, 0, 0, 0, 0, 0, 0, 0,
  3203  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3204  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3205  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3206  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3207  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3208  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3209  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3210  	259, 0, 318, 0, 0, 0, 0, 445, 0, 0,
  3211  	0, 2293, 0, 0, 0, 287, 0, 284, 182, 198,
  3212  	0, 0, 328, 368, 374, 0, 0, 0, 222, 0,
  3213  	372, 342, 430, 206, 249, 365, 347, 370, 0, 0,
  3214  	371, 293, 418, 360, 428, 446, 447, 229, 322, 436,
  3215  	407, 442, 458, 199, 226, 336, 400, 433, 391, 315,
  3216  	414, 415, 283, 390, 257, 185, 291, 452, 197, 380,
  3217  	214, 204, 190, 402, 426, 211, 383, 0, 0, 460,
  3218  	192, 424, 399, 311, 280, 281, 191, 0, 364, 234,
  3219  	255, 224, 331, 421, 422, 223, 461, 201, 441, 194,
  3220  	0, 440, 324, 417, 425, 312, 303, 193, 423, 310,
  3221  	302, 286, 245, 266, 358, 296, 359, 267, 320, 319,
  3222  	321, 0, 188, 0, 396, 434, 462, 207, 208, 209,
  3223  	0, 244, 248, 254, 256, 262, 263, 270, 289, 335,
  3224  	357, 355, 361, 0, 412, 429, 437, 444, 450, 451,
  3225  	453, 454, 455, 456, 457, 323, 269, 392, 285, 294,
  3226  	0, 0, 341, 373, 212, 432, 393, 0, 0, 0,
  3227  	0, 0, 0, 0, 0, 0, 0, 0, 463, 464,
  3228  	465, 466, 467, 468, 469, 470, 471, 472, 473, 474,
  3229  	475, 476, 477, 478, 479, 480, 0, 0, 0, 0,
  3230  	0, 0, 0, 0, 0, 0, 0, 181, 195, 290,
  3231  	0, 362, 252, 459, 439, 435, 0, 0, 228, 0,
  3232  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3233  	314, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3234  	0, 183, 184, 196, 205, 215, 227, 242, 250, 260,
  3235  	265, 268, 273, 274, 277, 282, 300, 305, 306, 307,
  3236  	308, 325, 326, 327, 330, 333, 334, 337, 339, 340,
  3237  	343, 350, 351, 352, 353, 354, 356, 363, 367, 375,
  3238  	376, 377, 378, 379, 381, 382, 386, 387, 388, 389,
  3239  	397, 401, 419, 420, 431, 443, 448, 261, 427, 449,
  3240  	0, 299, 0, 0, 301, 246, 264, 275, 0, 438,
  3241  	398, 200, 369, 253, 189, 218, 203, 225, 240, 243,
  3242  	279, 309, 316, 345, 349, 258, 237, 216, 366, 213,
  3243  	384, 404, 405, 406, 408, 313, 232, 348, 409, 0,
  3244  	297, 410, 411, 271, 0, 0, 0, 0, 0, 0,
  3245  	332, 0, 0, 0, 0, 0, 0, 0, 0, 236,
  3246  	0, 0, 0, 0, 288, 233, 0, 0, 346, 0,
  3247  	187, 0, 385, 221, 298, 295, 416, 247, 239, 235,
  3248  	220, 272, 304, 344, 403, 338, 0, 292, 0, 0,
  3249  	394, 317, 0, 0, 0, 0, 0, 0, 0, 0,
  3250  	0, 0, 0, 0, 0, 0, 0, 278, 219, 186,
  3251  	329, 395, 251, 0, 0, 0, 0, 178, 179, 180,
  3252  	0, 0, 0, 1828, 0, 0, 0, 1829, 0, 0,
  3253  	210, 0, 217, 0, 0, 0, 0, 0, 231, 276,
  3254  	238, 230, 413, 0, 0, 0, 0, 202, 0, 0,
  3255  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3256  	0, 0, 241, 0, 0, 0, 0, 0, 0, 0,
  3257  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3258  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3259  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3260  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3261  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3262  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3263  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3264  	259, 0, 318, 0, 0, 0, 0, 445, 0, 0,
  3265  	0, 0, 0, 0, 0, 287, 0, 284, 182, 198,
  3266  	0, 0, 328, 368, 374, 0, 0, 0, 222, 0,
  3267  	372, 342, 430, 206, 249, 365, 347, 370, 0, 0,
  3268  	371, 293, 418, 360, 428, 446, 447, 229, 322, 436,
  3269  	407, 442, 458, 199, 226, 336, 400, 433, 391, 315,
  3270  	414, 415, 283, 390, 257, 185, 291, 452, 197, 380,
  3271  	214, 204, 190, 402, 426, 211, 383, 0, 0, 460,
  3272  	192, 424, 399, 311, 280, 281, 191, 0, 364, 234,
  3273  	255, 224, 331, 421, 422, 223, 461, 201, 441, 194,
  3274  	0, 440, 324, 417, 425, 312, 303, 193, 423, 310,
  3275  	302, 286, 245, 266, 358, 296, 359, 267, 320, 319,
  3276  	321, 0, 188, 0, 396, 434, 462, 207, 208, 209,
  3277  	0, 244, 248, 254, 256, 262, 263, 270, 289, 335,
  3278  	357, 355, 361, 0, 412, 429, 437, 444, 450, 451,
  3279  	453, 454, 455, 456, 457, 323, 269, 392, 285, 294,
  3280  	0, 0, 341, 373, 212, 432, 393, 0, 0, 0,
  3281  	0, 0, 0, 0, 0, 0, 0, 0, 463, 464,
  3282  	465, 466, 467, 468, 469, 470, 471, 472, 473, 474,
  3283  	475, 476, 477, 478, 479, 480, 0, 0, 0, 0,
  3284  	0, 0, 0, 0, 0, 0, 0, 181, 195, 290,
  3285  	0, 362, 252, 459, 439, 435, 0, 0, 228, 0,
  3286  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3287  	314, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3288  	0, 183, 184, 196, 205, 215, 227, 242, 250, 260,
  3289  	265, 268, 273, 274, 277, 282, 300, 305, 306, 307,
  3290  	308, 325, 326, 327, 330, 333, 334, 337, 339, 340,
  3291  	343, 350, 351, 352, 353, 354, 356, 363, 367, 375,
  3292  	376, 377, 378, 379, 381, 382, 386, 387, 388, 389,
  3293  	397, 401, 419, 420, 431, 443, 448, 261, 427, 449,
  3294  	0, 299, 0, 0, 301, 246, 264, 275, 0, 438,
  3295  	398, 200, 369, 253, 189, 218, 203, 225, 240, 243,
  3296  	279, 309, 316, 345, 349, 258, 237, 216, 366, 213,
  3297  	384, 404, 405, 406, 408, 313, 232, 348, 409, 0,
  3298  	297, 410, 411, 271, 0, 0, 0, 0, 0, 0,
  3299  	332, 0, 0, 0, 0, 0, 0, 0, 0, 236,
  3300  	1220, 0, 0, 0, 288, 233, 0, 0, 346, 0,
  3301  	187, 0, 385, 221, 298, 295, 416, 247, 239, 235,
  3302  	220, 272, 304, 344, 403, 338, 0, 292, 0, 0,
  3303  	394, 317, 0, 0, 0, 0, 0, 0, 0, 0,
  3304  	0, 0, 0, 0, 0, 0, 0, 278, 219, 186,
  3305  	329, 395, 251, 0, 0, 0, 0, 178, 179, 180,
  3306  	0, 1219, 0, 0, 0, 0, 0, 0, 0, 0,
  3307  	210, 0, 217, 0, 0, 0, 0, 0, 231, 276,
  3308  	238, 230, 413, 0, 0, 0, 0, 202, 0, 0,
  3309  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3310  	0, 0, 241, 0, 0, 0, 0, 0, 0, 0,
  3311  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3312  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3313  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3314  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3315  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3316  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3317  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3318  	259, 0, 318, 0, 0, 0, 0, 445, 0, 0,
  3319  	0, 0, 0, 0, 0, 287, 0, 284, 182, 198,
  3320  	0, 0, 328, 368, 374, 0, 0, 0, 222, 0,
  3321  	372, 342, 430, 206, 249, 365, 347, 370, 0, 0,
  3322  	371, 293, 418, 360, 428, 446, 447, 229, 322, 436,
  3323  	407, 442, 458, 199, 226, 336, 400, 433, 391, 315,
  3324  	414, 415, 283, 390, 257, 185, 291, 452, 197, 380,
  3325  	214, 204, 190, 402, 426, 211, 383, 0, 0, 460,
  3326  	192, 424, 399, 311, 280, 281, 191, 0, 364, 234,
  3327  	255, 224, 331, 421, 422, 223, 461, 201, 441, 194,
  3328  	0, 440, 324, 417, 425, 312, 303, 193, 423, 310,
  3329  	302, 286, 245, 266, 358, 296, 359, 267, 320, 319,
  3330  	321, 0, 188, 0, 396, 434, 462, 207, 208, 209,
  3331  	0, 244, 248, 254, 256, 262, 263, 270, 289, 335,
  3332  	357, 355, 361, 0, 412, 429, 437, 444, 450, 451,
  3333  	453, 454, 455, 456, 457, 323, 269, 392, 285, 294,
  3334  	0, 0, 341, 373, 212, 432, 393, 0, 0, 0,
  3335  	0, 0, 0, 0, 0, 0, 0, 0, 463, 464,
  3336  	465, 466, 467, 468, 469, 470, 471, 472, 473, 474,
  3337  	475, 476, 477, 478, 479, 480, 0, 0, 0, 0,
  3338  	0, 0, 0, 0, 0, 0, 0, 181, 195, 290,
  3339  	0, 362, 252, 459, 439, 435, 0, 0, 228, 0,
  3340  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3341  	314, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3342  	0, 183, 184, 196, 205, 215, 227, 242, 250, 260,
  3343  	265, 268, 273, 274, 277, 282, 300, 305, 306, 307,
  3344  	308, 325, 326, 327, 330, 333, 334, 337, 339, 340,
  3345  	343, 350, 351, 352, 353, 354, 356, 363, 367, 375,
  3346  	376, 377, 378, 379, 381, 382, 386, 387, 388, 389,
  3347  	397, 401, 419, 420, 431, 443, 448, 261, 427, 449,
  3348  	0, 299, 0, 0, 301, 246, 264, 275, 0, 438,
  3349  	398, 200, 369, 253, 189, 218, 203, 225, 240, 243,
  3350  	279, 309, 316, 345, 349, 258, 237, 216, 366, 213,
  3351  	384, 404, 405, 406, 408, 313, 232, 348, 409, 0,
  3352  	297, 410, 411, 271, 0, 0, 0, 0, 0, 0,
  3353  	332, 0, 0, 0, 0, 0, 0, 0, 0, 236,
  3354  	0, 0, 0, 0, 288, 233, 0, 0, 346, 0,
  3355  	187, 0, 385, 221, 298, 295, 416, 247, 239, 235,
  3356  	220, 272, 304, 344, 403, 338, 0, 292, 0, 0,
  3357  	394, 317, 0, 0, 0, 0, 0, 0, 0, 0,
  3358  	0, 0, 0, 0, 0, 0, 0, 278, 219, 186,
  3359  	329, 395, 251, 0, 0, 0, 0, 178, 179, 180,
  3360  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3361  	210, 0, 217, 0, 0, 0, 0, 0, 231, 276,
  3362  	238, 230, 413, 0, 0, 0, 0, 202, 0, 0,
  3363  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3364  	0, 0, 241, 0, 0, 0, 0, 0, 0, 0,
  3365  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3366  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3367  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3368  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3369  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3370  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3371  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3372  	259, 0, 318, 0, 0, 0, 0, 445, 0, 0,
  3373  	0, 2400, 0, 0, 0, 287, 0, 284, 182, 198,
  3374  	0, 0, 328, 368, 374, 0, 0, 0, 222, 0,
  3375  	372, 342, 430, 206, 249, 365, 347, 370, 0, 0,
  3376  	371, 293, 418, 360, 428, 446, 447, 229, 322, 436,
  3377  	407, 442, 458, 199, 226, 336, 400, 433, 391, 315,
  3378  	414, 415, 283, 390, 257, 185, 291, 452, 197, 380,
  3379  	214, 204, 190, 402, 426, 211, 383, 0, 0, 460,
  3380  	192, 424, 399, 311, 280, 281, 191, 0, 364, 234,
  3381  	255, 224, 331, 421, 422, 223, 461, 201, 441, 194,
  3382  	0, 440, 324, 417, 425, 312, 303, 193, 423, 310,
  3383  	302, 286, 245, 266, 358, 296, 359, 267, 320, 319,
  3384  	321, 0, 188, 0, 396, 434, 462, 207, 208, 209,
  3385  	0, 244, 248, 254, 256, 262, 263, 270, 289, 335,
  3386  	357, 355, 361, 0, 412, 429, 437, 444, 450, 451,
  3387  	453, 454, 455, 456, 457, 323, 269, 392, 285, 294,
  3388  	0, 0, 341, 373, 212, 432, 393, 0, 0, 0,
  3389  	0, 0, 0, 0, 0, 0, 0, 0, 463, 464,
  3390  	465, 466, 467, 468, 469, 470, 471, 472, 473, 474,
  3391  	475, 476, 477, 478, 479, 480, 0, 0, 0, 0,
  3392  	0, 0, 0, 0, 0, 0, 0, 181, 195, 290,
  3393  	0, 362, 252, 459, 439, 435, 0, 0, 228, 0,
  3394  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3395  	314, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3396  	0, 183, 184, 196, 205, 215, 227, 242, 250, 260,
  3397  	265, 268, 273, 274, 277, 282, 300, 305, 306, 307,
  3398  	308, 325, 326, 327, 330, 333, 334, 337, 339, 340,
  3399  	343, 350, 351, 352, 353, 354, 356, 363, 367, 375,
  3400  	376, 377, 378, 379, 381, 382, 386, 387, 388, 389,
  3401  	397, 401, 419, 420, 431, 443, 448, 261, 427, 449,
  3402  	0, 299, 0, 0, 301, 246, 264, 275, 0, 438,
  3403  	398, 200, 369, 253, 189, 218, 203, 225, 240, 243,
  3404  	279, 309, 316, 345, 349, 258, 237, 216, 366, 213,
  3405  	384, 404, 405, 406, 408, 313, 232, 348, 409, 0,
  3406  	297, 410, 411, 271, 0, 0, 0, 0, 0, 0,
  3407  	332, 0, 0, 0, 0, 0, 0, 0, 0, 236,
  3408  	0, 0, 0, 0, 288, 233, 0, 0, 346, 0,
  3409  	187, 0, 385, 221, 298, 295, 416, 247, 239, 235,
  3410  	220, 272, 304, 344, 403, 338, 0, 292, 0, 0,
  3411  	394, 317, 0, 0, 0, 0, 0, 0, 0, 0,
  3412  	0, 0, 0, 0, 0, 0, 0, 278, 219, 186,
  3413  	329, 395, 251, 0, 0, 0, 0, 178, 179, 180,
  3414  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3415  	210, 0, 217, 0, 0, 0, 0, 0, 231, 276,
  3416  	238, 230, 413, 0, 0, 0, 0, 202, 0, 0,
  3417  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3418  	0, 0, 241, 0, 0, 0, 0, 0, 0, 0,
  3419  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3420  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3421  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3422  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3423  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3424  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3425  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3426  	259, 0, 318, 0, 0, 0, 0, 445, 0, 0,
  3427  	0, 2293, 0, 0, 0, 287, 0, 284, 182, 198,
  3428  	0, 0, 328, 368, 374, 0, 0, 0, 222, 0,
  3429  	372, 342, 430, 206, 249, 365, 347, 370, 0, 0,
  3430  	371, 293, 418, 360, 428, 446, 447, 229, 322, 436,
  3431  	407, 442, 458, 199, 226, 336, 400, 433, 391, 315,
  3432  	414, 415, 283, 390, 257, 185, 291, 452, 197, 380,
  3433  	214, 204, 190, 402, 426, 211, 383, 0, 0, 460,
  3434  	192, 424, 399, 311, 280, 281, 191, 0, 364, 234,
  3435  	255, 224, 331, 421, 422, 223, 461, 201, 441, 194,
  3436  	0, 440, 324, 417, 425, 312, 303, 193, 423, 310,
  3437  	302, 286, 245, 266, 358, 296, 359, 267, 320, 319,
  3438  	321, 0, 188, 0, 396, 434, 462, 207, 208, 209,
  3439  	0, 244, 248, 254, 256, 262, 263, 270, 289, 335,
  3440  	357, 355, 361, 0, 412, 429, 437, 444, 450, 451,
  3441  	453, 454, 455, 456, 457, 323, 269, 392, 285, 294,
  3442  	0, 0, 341, 373, 212, 432, 393, 0, 0, 0,
  3443  	0, 0, 0, 0, 0, 0, 0, 0, 463, 464,
  3444  	465, 466, 467, 468, 469, 470, 471, 472, 473, 474,
  3445  	475, 476, 477, 478, 479, 480, 0, 0, 0, 0,
  3446  	0, 0, 0, 0, 0, 0, 0, 181, 195, 290,
  3447  	0, 362, 252, 459, 439, 435, 0, 0, 228, 0,
  3448  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3449  	314, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3450  	0, 183, 184, 196, 205, 215, 227, 242, 250, 260,
  3451  	265, 268, 273, 274, 277, 282, 300, 305, 306, 307,
  3452  	308, 325, 326, 327, 330, 333, 334, 337, 339, 340,
  3453  	343, 350, 351, 352, 353, 354, 356, 363, 367, 375,
  3454  	376, 377, 378, 379, 381, 382, 386, 387, 388, 389,
  3455  	397, 401, 419, 420, 431, 443, 448, 261, 427, 449,
  3456  	0, 299, 0, 0, 301, 246, 264, 275, 0, 438,
  3457  	398, 200, 369, 253, 189, 218, 203, 225, 240, 243,
  3458  	279, 309, 316, 345, 349, 258, 237, 216, 366, 213,
  3459  	384, 404, 405, 406, 408, 313, 232, 348, 409, 0,
  3460  	297, 410, 411, 271, 0, 0, 0, 0, 0, 0,
  3461  	332, 0, 0, 0, 0, 0, 0, 0, 0, 236,
  3462  	0, 0, 0, 0, 288, 233, 0, 0, 346, 0,
  3463  	187, 0, 385, 221, 298, 295, 416, 247, 239, 235,
  3464  	220, 272, 304, 344, 403, 338, 0, 292, 0, 0,
  3465  	394, 317, 0, 0, 0, 0, 0, 0, 0, 0,
  3466  	0, 0, 0, 0, 0, 0, 0, 278, 219, 186,
  3467  	329, 395, 251, 0, 81, 0, 0, 178, 179, 180,
  3468  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3469  	210, 0, 217, 0, 0, 0, 0, 0, 231, 276,
  3470  	238, 230, 413, 0, 0, 0, 0, 202, 0, 0,
  3471  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3472  	0, 0, 241, 0, 0, 0, 0, 0, 0, 0,
  3473  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3474  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3475  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3476  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3477  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3478  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3479  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3480  	259, 0, 318, 0, 0, 0, 0, 445, 0, 0,
  3481  	0, 0, 0, 0, 0, 287, 0, 284, 182, 198,
  3482  	0, 0, 328, 368, 374, 0, 0, 0, 222, 0,
  3483  	372, 342, 430, 206, 249, 365, 347, 370, 0, 0,
  3484  	371, 293, 418, 360, 428, 446, 447, 229, 322, 436,
  3485  	407, 442, 458, 199, 226, 336, 400, 433, 391, 315,
  3486  	414, 415, 283, 390, 257, 185, 291, 452, 197, 380,
  3487  	214, 204, 190, 402, 426, 211, 383, 0, 0, 460,
  3488  	192, 424, 399, 311, 280, 281, 191, 0, 364, 234,
  3489  	255, 224, 331, 421, 422, 223, 461, 201, 441, 194,
  3490  	0, 440, 324, 417, 425, 312, 303, 193, 423, 310,
  3491  	302, 286, 245, 266, 358, 296, 359, 267, 320, 319,
  3492  	321, 0, 188, 0, 396, 434, 462, 207, 208, 209,
  3493  	0, 244, 248, 254, 256, 262, 263, 270, 289, 335,
  3494  	357, 355, 361, 0, 412, 429, 437, 444, 450, 451,
  3495  	453, 454, 455, 456, 457, 323, 269, 392, 285, 294,
  3496  	0, 0, 341, 373, 212, 432, 393, 0, 0, 0,
  3497  	0, 0, 0, 0, 0, 0, 0, 0, 463, 464,
  3498  	465, 466, 467, 468, 469, 470, 471, 472, 473, 474,
  3499  	475, 476, 477, 478, 479, 480, 0, 0, 0, 0,
  3500  	0, 0, 0, 0, 0, 0, 0, 181, 195, 290,
  3501  	0, 362, 252, 459, 439, 435, 0, 0, 228, 0,
  3502  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3503  	314, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3504  	0, 183, 184, 196, 205, 215, 227, 242, 250, 260,
  3505  	265, 268, 273, 274, 277, 282, 300, 305, 306, 307,
  3506  	308, 325, 326, 327, 330, 333, 334, 337, 339, 340,
  3507  	343, 350, 351, 352, 353, 354, 356, 363, 367, 375,
  3508  	376, 377, 378, 379, 381, 382, 386, 387, 388, 389,
  3509  	397, 401, 419, 420, 431, 443, 448, 261, 427, 449,
  3510  	0, 299, 0, 0, 301, 246, 264, 275, 0, 438,
  3511  	398, 200, 369, 253, 189, 218, 203, 225, 240, 243,
  3512  	279, 309, 316, 345, 349, 258, 237, 216, 366, 213,
  3513  	384, 404, 405, 406, 408, 313, 232, 348, 409, 0,
  3514  	297, 410, 411, 271, 0, 0, 0, 0, 0, 0,
  3515  	332, 0, 0, 0, 0, 0, 0, 0, 0, 236,
  3516  	0, 0, 0, 0, 288, 233, 0, 0, 346, 0,
  3517  	187, 0, 385, 221, 298, 295, 416, 247, 239, 235,
  3518  	220, 272, 304, 344, 403, 338, 0, 292, 0, 0,
  3519  	394, 317, 0, 0, 0, 0, 0, 0, 0, 0,
  3520  	0, 0, 0, 0, 0, 0, 0, 278, 219, 186,
  3521  	329, 395, 251, 0, 0, 0, 0, 178, 179, 180,
  3522  	0, 1368, 0, 0, 0, 0, 0, 0, 0, 0,
  3523  	210, 0, 217, 0, 0, 0, 0, 0, 231, 276,
  3524  	238, 230, 413, 0, 0, 0, 0, 202, 0, 0,
  3525  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3526  	0, 0, 241, 0, 0, 0, 0, 0, 0, 0,
  3527  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3528  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3529  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3530  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3531  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3532  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3533  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3534  	259, 0, 318, 0, 0, 0, 0, 445, 0, 0,
  3535  	0, 0, 0, 0, 0, 287, 0, 284, 182, 198,
  3536  	0, 0, 328, 368, 374, 0, 0, 0, 222, 0,
  3537  	372, 342, 430, 206, 249, 365, 347, 370, 0, 0,
  3538  	371, 293, 418, 360, 428, 446, 447, 229, 322, 436,
  3539  	407, 442, 458, 199, 226, 336, 400, 433, 391, 315,
  3540  	414, 415, 283, 390, 257, 185, 291, 452, 197, 380,
  3541  	214, 204, 190, 402, 426, 211, 383, 0, 0, 460,
  3542  	192, 424, 399, 311, 280, 281, 191, 0, 364, 234,
  3543  	255, 224, 331, 421, 422, 223, 461, 201, 441, 194,
  3544  	0, 440, 324, 417, 425, 312, 303, 193, 423, 310,
  3545  	302, 286, 245, 266, 358, 296, 359, 267, 320, 319,
  3546  	321, 0, 188, 0, 396, 434, 462, 207, 208, 209,
  3547  	0, 244, 248, 254, 256, 262, 263, 270, 289, 335,
  3548  	357, 355, 361, 0, 412, 429, 437, 444, 450, 451,
  3549  	453, 454, 455, 456, 457, 323, 269, 392, 285, 294,
  3550  	0, 0, 341, 373, 212, 432, 393, 0, 0, 0,
  3551  	0, 0, 0, 0, 0, 0, 0, 0, 463, 464,
  3552  	465, 466, 467, 468, 469, 470, 471, 472, 473, 474,
  3553  	475, 476, 477, 478, 479, 480, 0, 0, 0, 0,
  3554  	0, 0, 0, 0, 0, 0, 0, 181, 195, 290,
  3555  	0, 362, 252, 459, 439, 435, 0, 0, 228, 0,
  3556  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3557  	314, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3558  	0, 183, 184, 196, 205, 215, 227, 242, 250, 260,
  3559  	265, 268, 273, 274, 277, 282, 300, 305, 306, 307,
  3560  	308, 325, 326, 327, 330, 333, 334, 337, 339, 340,
  3561  	343, 350, 351, 352, 353, 354, 356, 363, 367, 375,
  3562  	376, 377, 378, 379, 381, 382, 386, 387, 388, 389,
  3563  	397, 401, 419, 420, 431, 443, 448, 261, 427, 449,
  3564  	0, 299, 0, 0, 301, 246, 264, 275, 0, 438,
  3565  	398, 200, 369, 253, 189, 218, 203, 225, 240, 243,
  3566  	279, 309, 316, 345, 349, 258, 237, 216, 366, 213,
  3567  	384, 404, 405, 406, 408, 313, 232, 348, 0, 409,
  3568  	297, 410, 411, 271, 1619, 0, 0, 0, 0, 0,
  3569  	0, 332, 0, 0, 0, 0, 0, 0, 0, 0,
  3570  	236, 0, 0, 0, 0, 288, 233, 0, 0, 346,
  3571  	0, 187, 0, 385, 221, 298, 295, 416, 247, 239,
  3572  	235, 220, 272, 304, 344, 403, 338, 0, 292, 0,
  3573  	0, 394, 317, 0, 0, 0, 0, 0, 0, 0,
  3574  	0, 0, 0, 0, 0, 0, 0, 0, 278, 219,
  3575  	186, 329, 395, 251, 0, 0, 0, 0, 178, 179,
  3576  	180, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3577  	0, 210, 0, 217, 0, 0, 0, 0, 0, 231,
  3578  	276, 238, 230, 413, 0, 0, 0, 0, 202, 0,
  3579  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3580  	0, 0, 0, 241, 0, 0, 0, 0, 0, 0,
  3581  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3582  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3583  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3584  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3585  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3586  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3587  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3588  	0, 259, 0, 318, 0, 0, 0, 0, 445, 0,
  3589  	0, 0, 0, 0, 0, 0, 287, 0, 284, 182,
  3590  	198, 0, 0, 328, 368, 374, 0, 0, 0, 222,
  3591  	0, 372, 342, 430, 206, 249, 365, 347, 370, 0,
  3592  	0, 371, 293, 418, 360, 428, 446, 447, 229, 322,
  3593  	436, 407, 442, 458, 199, 226, 336, 400, 433, 391,
  3594  	315, 414, 415, 283, 390, 257, 185, 291, 452, 197,
  3595  	380, 214, 204, 190, 402, 426, 211, 383, 0, 0,
  3596  	460, 192, 424, 399, 311, 280, 281, 191, 0, 364,
  3597  	234, 255, 224, 331, 421, 422, 223, 461, 201, 441,
  3598  	194, 0, 440, 324, 417, 425, 312, 303, 193, 423,
  3599  	310, 302, 286, 245, 266, 358, 296, 359, 267, 320,
  3600  	319, 321, 0, 188, 0, 396, 434, 462, 207, 208,
  3601  	209, 0, 244, 248, 254, 256, 262, 263, 270, 289,
  3602  	335, 357, 355, 361, 0, 412, 429, 437, 444, 450,
  3603  	451, 453, 454, 455, 456, 457, 323, 269, 392, 285,
  3604  	294, 0, 0, 341, 373, 212, 432, 393, 0, 0,
  3605  	0, 0, 0, 0, 0, 0, 0, 0, 0, 463,
  3606  	464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
  3607  	474, 475, 476, 477, 478, 479, 480, 0, 0, 0,
  3608  	0, 0, 0, 0, 0, 0, 0, 0, 181, 195,
  3609  	290, 0, 362, 252, 459, 439, 435, 0, 0, 228,
  3610  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3611  	0, 314, 0, 0, 0, 0, 0, 0, 0, 0,
  3612  	0, 0, 183, 184, 196, 205, 215, 227, 242, 250,
  3613  	260, 265, 268, 273, 274, 277, 282, 300, 305, 306,
  3614  	307, 308, 325, 326, 327, 330, 333, 334, 337, 339,
  3615  	340, 343, 350, 351, 352, 353, 354, 356, 363, 367,
  3616  	375, 376, 377, 378, 379, 381, 382, 386, 387, 388,
  3617  	389, 397, 401, 419, 420, 431, 443, 448, 261, 427,
  3618  	449, 0, 299, 0, 0, 301, 246, 264, 275, 0,
  3619  	438, 398, 200, 369, 253, 189, 218, 203, 225, 240,
  3620  	243, 279, 309, 316, 345, 349, 258, 237, 216, 366,
  3621  	213, 384, 404, 405, 406, 408, 313, 232, 348, 409,
  3622  	0, 297, 410, 411, 271, 0, 0, 0, 0, 0,
  3623  	0, 332, 0, 0, 0, 0, 0, 0, 0, 0,
  3624  	236, 0, 0, 0, 0, 288, 233, 0, 0, 346,
  3625  	0, 187, 0, 385, 221, 298, 295, 416, 247, 239,
  3626  	235, 220, 272, 304, 344, 403, 338, 0, 292, 0,
  3627  	0, 394, 317, 0, 0, 0, 0, 0, 0, 0,
  3628  	0, 0, 0, 0, 0, 0, 0, 0, 278, 219,
  3629  	186, 329, 395, 251, 0, 0, 0, 0, 178, 179,
  3630  	180, 0, 1199, 0, 0, 0, 0, 0, 0, 0,
  3631  	0, 210, 0, 217, 0, 0, 0, 0, 0, 231,
  3632  	276, 238, 230, 413, 0, 0, 0, 0, 202, 0,
  3633  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3634  	0, 0, 0, 241, 0, 0, 0, 0, 0, 0,
  3635  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3636  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3637  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3638  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3639  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3640  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3641  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3642  	0, 259, 0, 318, 0, 0, 0, 0, 445, 0,
  3643  	0, 0, 0, 0, 0, 0, 287, 0, 284, 182,
  3644  	198, 0, 0, 328, 368, 374, 0, 0, 0, 222,
  3645  	0, 372, 342, 430, 206, 249, 365, 347, 370, 0,
  3646  	0, 371, 293, 418, 360, 428, 446, 447, 229, 322,
  3647  	436, 407, 442, 458, 199, 226, 336, 400, 433, 391,
  3648  	315, 414, 415, 283, 390, 257, 185, 291, 452, 197,
  3649  	380, 214, 204, 190, 402, 426, 211, 383, 0, 0,
  3650  	460, 192, 424, 399, 311, 280, 281, 191, 0, 364,
  3651  	234, 255, 224, 331, 421, 422, 223, 461, 201, 441,
  3652  	194, 0, 440, 324, 417, 425, 312, 303, 193, 423,
  3653  	310, 302, 286, 245, 266, 358, 296, 359, 267, 320,
  3654  	319, 321, 0, 188, 0, 396, 434, 462, 207, 208,
  3655  	209, 0, 244, 248, 254, 256, 262, 263, 270, 289,
  3656  	335, 357, 355, 361, 0, 412, 429, 437, 444, 450,
  3657  	451, 453, 454, 455, 456, 457, 323, 269, 392, 285,
  3658  	294, 0, 0, 341, 373, 212, 432, 393, 0, 0,
  3659  	0, 0, 0, 0, 0, 0, 0, 0, 0, 463,
  3660  	464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
  3661  	474, 475, 476, 477, 478, 479, 480, 0, 0, 0,
  3662  	0, 0, 0, 0, 0, 0, 0, 0, 181, 195,
  3663  	290, 0, 362, 252, 459, 439, 435, 0, 0, 228,
  3664  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3665  	0, 314, 0, 0, 0, 0, 0, 0, 0, 0,
  3666  	0, 0, 183, 184, 196, 205, 215, 227, 242, 250,
  3667  	260, 265, 268, 273, 274, 277, 282, 300, 305, 306,
  3668  	307, 308, 325, 326, 327, 330, 333, 334, 337, 339,
  3669  	340, 343, 350, 351, 352, 353, 354, 356, 363, 367,
  3670  	375, 376, 377, 378, 379, 381, 382, 386, 387, 388,
  3671  	389, 397, 401, 419, 420, 431, 443, 448, 261, 427,
  3672  	449, 0, 299, 0, 0, 301, 246, 264, 275, 0,
  3673  	438, 398, 200, 369, 253, 189, 218, 203, 225, 240,
  3674  	243, 279, 309, 316, 345, 349, 258, 237, 216, 366,
  3675  	213, 384, 404, 405, 406, 408, 313, 232, 348, 409,
  3676  	0, 297, 410, 411, 271, 0, 0, 0, 0, 0,
  3677  	0, 332, 0, 0, 0, 0, 0, 0, 0, 0,
  3678  	236, 0, 0, 0, 0, 288, 233, 0, 0, 346,
  3679  	0, 187, 0, 385, 221, 298, 295, 416, 247, 239,
  3680  	235, 220, 272, 304, 344, 403, 338, 0, 292, 0,
  3681  	0, 394, 317, 0, 0, 0, 0, 0, 0, 0,
  3682  	0, 0, 0, 0, 0, 0, 0, 0, 278, 219,
  3683  	186, 329, 395, 251, 0, 0, 0, 0, 178, 179,
  3684  	180, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3685  	0, 210, 0, 217, 0, 0, 0, 0, 0, 231,
  3686  	276, 238, 230, 413, 0, 0, 0, 0, 202, 0,
  3687  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3688  	0, 0, 0, 241, 0, 0, 0, 0, 0, 0,
  3689  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3690  	0, 0, 0, 0, 0, 0, 0, 0, 1096, 0,
  3691  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3692  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3693  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3694  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3695  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3696  	0, 259, 0, 318, 0, 0, 0, 0, 445, 0,
  3697  	0, 0, 0, 0, 0, 0, 287, 0, 284, 182,
  3698  	198, 0, 0, 328, 368, 374, 0, 0, 0, 222,
  3699  	0, 372, 342, 430, 206, 249, 365, 347, 370, 0,
  3700  	0, 371, 293, 418, 360, 428, 446, 447, 229, 322,
  3701  	436, 407, 442, 458, 199, 226, 336, 400, 433, 391,
  3702  	315, 414, 415, 283, 390, 257, 185, 291, 452, 197,
  3703  	380, 214, 204, 190, 402, 426, 211, 383, 0, 0,
  3704  	460, 192, 424, 399, 311, 280, 281, 191, 0, 364,
  3705  	234, 255, 224, 331, 421, 422, 223, 461, 201, 441,
  3706  	194, 0, 440, 324, 417, 425, 312, 303, 193, 423,
  3707  	310, 302, 286, 245, 266, 358, 296, 359, 267, 320,
  3708  	319, 321, 0, 188, 0, 396, 434, 462, 207, 208,
  3709  	209, 0, 244, 248, 254, 256, 262, 263, 270, 289,
  3710  	335, 357, 355, 361, 0, 412, 429, 437, 444, 450,
  3711  	451, 453, 454, 455, 456, 457, 323, 269, 392, 285,
  3712  	294, 0, 0, 341, 373, 212, 432, 393, 0, 0,
  3713  	0, 0, 0, 0, 0, 0, 0, 0, 0, 463,
  3714  	464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
  3715  	474, 475, 476, 477, 478, 479, 480, 0, 0, 0,
  3716  	0, 0, 0, 0, 0, 0, 0, 0, 181, 195,
  3717  	290, 0, 362, 252, 459, 439, 435, 0, 0, 228,
  3718  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3719  	0, 314, 0, 0, 0, 0, 0, 0, 0, 0,
  3720  	0, 0, 183, 184, 196, 205, 215, 227, 242, 250,
  3721  	260, 265, 268, 273, 274, 277, 282, 300, 305, 306,
  3722  	307, 308, 325, 326, 327, 330, 333, 334, 337, 339,
  3723  	340, 343, 350, 351, 352, 353, 354, 356, 363, 367,
  3724  	375, 376, 377, 378, 379, 381, 382, 386, 387, 388,
  3725  	389, 397, 401, 419, 420, 431, 443, 448, 261, 427,
  3726  	449, 0, 299, 0, 0, 301, 246, 264, 275, 0,
  3727  	438, 398, 200, 369, 253, 189, 218, 203, 225, 240,
  3728  	243, 279, 309, 316, 345, 349, 258, 237, 216, 366,
  3729  	213, 384, 404, 405, 406, 408, 313, 232, 348, 409,
  3730  	0, 297, 410, 411, 271, 0, 0, 0, 0, 0,
  3731  	0, 332, 0, 0, 0, 0, 0, 0, 0, 0,
  3732  	236, 0, 0, 0, 0, 288, 233, 0, 0, 346,
  3733  	0, 187, 0, 385, 221, 298, 295, 416, 247, 239,
  3734  	235, 220, 272, 304, 344, 403, 338, 0, 292, 0,
  3735  	0, 394, 317, 0, 0, 0, 0, 0, 0, 0,
  3736  	0, 0, 0, 0, 0, 0, 0, 0, 278, 219,
  3737  	186, 329, 395, 251, 0, 0, 0, 0, 178, 179,
  3738  	180, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3739  	0, 210, 0, 217, 0, 0, 0, 0, 0, 231,
  3740  	276, 238, 230, 413, 0, 0, 0, 0, 202, 0,
  3741  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3742  	0, 0, 0, 241, 0, 0, 0, 0, 0, 0,
  3743  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3744  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3745  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3746  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3747  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3748  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3749  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3750  	0, 259, 0, 318, 0, 0, 0, 0, 445, 0,
  3751  	0, 0, 0, 0, 0, 0, 287, 0, 284, 182,
  3752  	198, 0, 0, 328, 368, 374, 0, 0, 0, 222,
  3753  	0, 372, 342, 430, 206, 249, 365, 347, 370, 0,
  3754  	0, 371, 293, 418, 360, 428, 446, 447, 229, 322,
  3755  	436, 407, 442, 458, 199, 226, 336, 400, 433, 391,
  3756  	315, 414, 415, 283, 390, 257, 185, 291, 452, 197,
  3757  	380, 214, 204, 190, 402, 426, 211, 383, 0, 0,
  3758  	460, 192, 424, 399, 311, 280, 281, 191, 0, 364,
  3759  	234, 255, 224, 331, 421, 422, 223, 461, 201, 441,
  3760  	194, 0, 440, 324, 417, 425, 312, 303, 193, 423,
  3761  	310, 302, 286, 245, 266, 358, 296, 359, 267, 320,
  3762  	319, 321, 0, 188, 0, 396, 434, 462, 207, 208,
  3763  	209, 0, 244, 248, 254, 256, 262, 263, 270, 289,
  3764  	335, 357, 355, 361, 0, 412, 429, 437, 444, 450,
  3765  	451, 453, 454, 455, 456, 457, 323, 269, 392, 285,
  3766  	294, 0, 0, 341, 373, 212, 432, 393, 0, 0,
  3767  	0, 0, 0, 0, 0, 0, 0, 0, 0, 463,
  3768  	464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
  3769  	474, 475, 476, 477, 478, 479, 480, 0, 0, 0,
  3770  	0, 0, 0, 0, 0, 0, 0, 0, 181, 195,
  3771  	290, 1459, 362, 252, 459, 439, 435, 0, 0, 228,
  3772  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3773  	0, 314, 0, 0, 0, 0, 0, 0, 0, 0,
  3774  	0, 0, 183, 184, 196, 205, 215, 227, 242, 250,
  3775  	260, 265, 268, 273, 274, 277, 282, 300, 305, 306,
  3776  	307, 308, 325, 326, 327, 330, 333, 334, 337, 339,
  3777  	340, 343, 350, 351, 352, 353, 354, 356, 363, 367,
  3778  	375, 376, 377, 378, 379, 381, 382, 386, 387, 388,
  3779  	389, 397, 401, 419, 420, 431, 443, 448, 261, 427,
  3780  	449, 0, 299, 0, 0, 301, 246, 264, 275, 0,
  3781  	438, 398, 200, 369, 253, 189, 218, 203, 225, 240,
  3782  	243, 279, 309, 316, 345, 349, 258, 237, 216, 366,
  3783  	213, 384, 404, 405, 406, 408, 313, 232, 348, 409,
  3784  	0, 297, 410, 411, 271, 0, 0, 0, 0, 0,
  3785  	0, 332, 0, 1340, 0, 0, 0, 0, 0, 0,
  3786  	236, 0, 0, 0, 0, 288, 233, 0, 0, 346,
  3787  	0, 187, 0, 385, 221, 298, 295, 416, 247, 239,
  3788  	235, 220, 272, 304, 344, 403, 338, 0, 292, 0,
  3789  	0, 394, 317, 0, 0, 0, 0, 0, 0, 0,
  3790  	0, 0, 0, 0, 0, 0, 0, 0, 278, 219,
  3791  	186, 329, 395, 251, 0, 0, 0, 0, 178, 179,
  3792  	180, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3793  	0, 210, 0, 217, 0, 0, 0, 0, 0, 231,
  3794  	276, 238, 230, 413, 0, 0, 0, 0, 202, 0,
  3795  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3796  	0, 0, 0, 241, 0, 0, 0, 0, 0, 0,
  3797  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3798  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3799  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3800  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3801  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3802  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3803  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3804  	0, 259, 0, 318, 0, 0, 0, 0, 445, 0,
  3805  	0, 0, 0, 0, 0, 0, 287, 0, 284, 182,
  3806  	198, 0, 0, 328, 368, 374, 0, 0, 0, 222,
  3807  	0, 372, 342, 430, 206, 249, 365, 347, 370, 0,
  3808  	0, 371, 293, 418, 360, 428, 446, 447, 229, 322,
  3809  	436, 407, 442, 458, 199, 226, 336, 400, 433, 391,
  3810  	315, 414, 415, 283, 390, 257, 185, 291, 452, 197,
  3811  	380, 214, 204, 190, 402, 426, 211, 383, 0, 0,
  3812  	460, 192, 424, 399, 311, 280, 281, 191, 0, 364,
  3813  	234, 255, 224, 331, 421, 422, 223, 461, 201, 441,
  3814  	194, 0, 440, 324, 417, 425, 312, 303, 193, 423,
  3815  	310, 302, 286, 245, 266, 358, 296, 359, 267, 320,
  3816  	319, 321, 0, 188, 0, 396, 434, 462, 207, 208,
  3817  	209, 0, 244, 248, 254, 256, 262, 263, 270, 289,
  3818  	335, 357, 355, 361, 0, 412, 429, 437, 444, 450,
  3819  	451, 453, 454, 455, 456, 457, 323, 269, 392, 285,
  3820  	294, 0, 0, 341, 373, 212, 432, 393, 0, 0,
  3821  	0, 0, 0, 0, 0, 0, 0, 0, 0, 463,
  3822  	464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
  3823  	474, 475, 476, 477, 478, 479, 480, 0, 0, 0,
  3824  	0, 0, 0, 0, 0, 0, 0, 0, 181, 195,
  3825  	290, 0, 362, 252, 459, 439, 435, 0, 0, 228,
  3826  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3827  	0, 314, 0, 0, 0, 0, 0, 0, 0, 0,
  3828  	0, 0, 183, 184, 196, 205, 215, 227, 242, 250,
  3829  	260, 265, 268, 273, 274, 277, 282, 300, 305, 306,
  3830  	307, 308, 325, 326, 327, 330, 333, 334, 337, 339,
  3831  	340, 343, 350, 351, 352, 353, 354, 356, 363, 367,
  3832  	375, 376, 377, 378, 379, 381, 382, 386, 387, 388,
  3833  	389, 397, 401, 419, 420, 431, 443, 448, 261, 427,
  3834  	449, 0, 299, 0, 0, 301, 246, 264, 275, 0,
  3835  	438, 398, 200, 369, 253, 189, 218, 203, 225, 240,
  3836  	243, 279, 309, 316, 345, 349, 258, 237, 216, 366,
  3837  	213, 384, 404, 405, 406, 408, 313, 232, 348, 409,
  3838  	0, 297, 410, 411, 271, 0, 0, 0, 0, 0,
  3839  	0, 332, 0, 1338, 0, 0, 0, 0, 0, 0,
  3840  	236, 0, 0, 0, 0, 288, 233, 0, 0, 346,
  3841  	0, 187, 0, 385, 221, 298, 295, 416, 247, 239,
  3842  	235, 220, 272, 304, 344, 403, 338, 0, 292, 0,
  3843  	0, 394, 317, 0, 0, 0, 0, 0, 0, 0,
  3844  	0, 0, 0, 0, 0, 0, 0, 0, 278, 219,
  3845  	186, 329, 395, 251, 0, 0, 0, 0, 178, 179,
  3846  	180, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3847  	0, 210, 0, 217, 0, 0, 0, 0, 0, 231,
  3848  	276, 238, 230, 413, 0, 0, 0, 0, 202, 0,
  3849  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3850  	0, 0, 0, 241, 0, 0, 0, 0, 0, 0,
  3851  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3852  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3853  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3854  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3855  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3856  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3857  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3858  	0, 259, 0, 318, 0, 0, 0, 0, 445, 0,
  3859  	0, 0, 0, 0, 0, 0, 287, 0, 284, 182,
  3860  	198, 0, 0, 328, 368, 374, 0, 0, 0, 222,
  3861  	0, 372, 342, 430, 206, 249, 365, 347, 370, 0,
  3862  	0, 371, 293, 418, 360, 428, 446, 447, 229, 322,
  3863  	436, 407, 442, 458, 199, 226, 336, 400, 433, 391,
  3864  	315, 414, 415, 283, 390, 257, 185, 291, 452, 197,
  3865  	380, 214, 204, 190, 402, 426, 211, 383, 0, 0,
  3866  	460, 192, 424, 399, 311, 280, 281, 191, 0, 364,
  3867  	234, 255, 224, 331, 421, 422, 223, 461, 201, 441,
  3868  	194, 0, 440, 324, 417, 425, 312, 303, 193, 423,
  3869  	310, 302, 286, 245, 266, 358, 296, 359, 267, 320,
  3870  	319, 321, 0, 188, 0, 396, 434, 462, 207, 208,
  3871  	209, 0, 244, 248, 254, 256, 262, 263, 270, 289,
  3872  	335, 357, 355, 361, 0, 412, 429, 437, 444, 450,
  3873  	451, 453, 454, 455, 456, 457, 323, 269, 392, 285,
  3874  	294, 0, 0, 341, 373, 212, 432, 393, 0, 0,
  3875  	0, 0, 0, 0, 0, 0, 0, 0, 0, 463,
  3876  	464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
  3877  	474, 475, 476, 477, 478, 479, 480, 0, 0, 0,
  3878  	0, 0, 0, 0, 0, 0, 0, 0, 181, 195,
  3879  	290, 0, 362, 252, 459, 439, 435, 0, 0, 228,
  3880  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3881  	0, 314, 0, 0, 0, 0, 0, 0, 0, 0,
  3882  	0, 0, 183, 184, 196, 205, 215, 227, 242, 250,
  3883  	260, 265, 268, 273, 274, 277, 282, 300, 305, 306,
  3884  	307, 308, 325, 326, 327, 330, 333, 334, 337, 339,
  3885  	340, 343, 350, 351, 352, 353, 354, 356, 363, 367,
  3886  	375, 376, 377, 378, 379, 381, 382, 386, 387, 388,
  3887  	389, 397, 401, 419, 420, 431, 443, 448, 261, 427,
  3888  	449, 0, 299, 0, 0, 301, 246, 264, 275, 0,
  3889  	438, 398, 200, 369, 253, 189, 218, 203, 225, 240,
  3890  	243, 279, 309, 316, 345, 349, 258, 237, 216, 366,
  3891  	213, 384, 404, 405, 406, 408, 313, 232, 348, 409,
  3892  	0, 297, 410, 411, 271, 0, 0, 0, 0, 0,
  3893  	0, 332, 0, 1336, 0, 0, 0, 0, 0, 0,
  3894  	236, 0, 0, 0, 0, 288, 233, 0, 0, 346,
  3895  	0, 187, 0, 385, 221, 298, 295, 416, 247, 239,
  3896  	235, 220, 272, 304, 344, 403, 338, 0, 292, 0,
  3897  	0, 394, 317, 0, 0, 0, 0, 0, 0, 0,
  3898  	0, 0, 0, 0, 0, 0, 0, 0, 278, 219,
  3899  	186, 329, 395, 251, 0, 0, 0, 0, 178, 179,
  3900  	180, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3901  	0, 210, 0, 217, 0, 0, 0, 0, 0, 231,
  3902  	276, 238, 230, 413, 0, 0, 0, 0, 202, 0,
  3903  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3904  	0, 0, 0, 241, 0, 0, 0, 0, 0, 0,
  3905  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3906  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3907  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3908  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3909  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3910  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3911  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3912  	0, 259, 0, 318, 0, 0, 0, 0, 445, 0,
  3913  	0, 0, 0, 0, 0, 0, 287, 0, 284, 182,
  3914  	198, 0, 0, 328, 368, 374, 0, 0, 0, 222,
  3915  	0, 372, 342, 430, 206, 249, 365, 347, 370, 0,
  3916  	0, 371, 293, 418, 360, 428, 446, 447, 229, 322,
  3917  	436, 407, 442, 458, 199, 226, 336, 400, 433, 391,
  3918  	315, 414, 415, 283, 390, 257, 185, 291, 452, 197,
  3919  	380, 214, 204, 190, 402, 426, 211, 383, 0, 0,
  3920  	460, 192, 424, 399, 311, 280, 281, 191, 0, 364,
  3921  	234, 255, 224, 331, 421, 422, 223, 461, 201, 441,
  3922  	194, 0, 440, 324, 417, 425, 312, 303, 193, 423,
  3923  	310, 302, 286, 245, 266, 358, 296, 359, 267, 320,
  3924  	319, 321, 0, 188, 0, 396, 434, 462, 207, 208,
  3925  	209, 0, 244, 248, 254, 256, 262, 263, 270, 289,
  3926  	335, 357, 355, 361, 0, 412, 429, 437, 444, 450,
  3927  	451, 453, 454, 455, 456, 457, 323, 269, 392, 285,
  3928  	294, 0, 0, 341, 373, 212, 432, 393, 0, 0,
  3929  	0, 0, 0, 0, 0, 0, 0, 0, 0, 463,
  3930  	464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
  3931  	474, 475, 476, 477, 478, 479, 480, 0, 0, 0,
  3932  	0, 0, 0, 0, 0, 0, 0, 0, 181, 195,
  3933  	290, 0, 362, 252, 459, 439, 435, 0, 0, 228,
  3934  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3935  	0, 314, 0, 0, 0, 0, 0, 0, 0, 0,
  3936  	0, 0, 183, 184, 196, 205, 215, 227, 242, 250,
  3937  	260, 265, 268, 273, 274, 277, 282, 300, 305, 306,
  3938  	307, 308, 325, 326, 327, 330, 333, 334, 337, 339,
  3939  	340, 343, 350, 351, 352, 353, 354, 356, 363, 367,
  3940  	375, 376, 377, 378, 379, 381, 382, 386, 387, 388,
  3941  	389, 397, 401, 419, 420, 431, 443, 448, 261, 427,
  3942  	449, 0, 299, 0, 0, 301, 246, 264, 275, 0,
  3943  	438, 398, 200, 369, 253, 189, 218, 203, 225, 240,
  3944  	243, 279, 309, 316, 345, 349, 258, 237, 216, 366,
  3945  	213, 384, 404, 405, 406, 408, 313, 232, 348, 409,
  3946  	0, 297, 410, 411, 271, 0, 0, 0, 0, 0,
  3947  	0, 332, 0, 1334, 0, 0, 0, 0, 0, 0,
  3948  	236, 0, 0, 0, 0, 288, 233, 0, 0, 346,
  3949  	0, 187, 0, 385, 221, 298, 295, 416, 247, 239,
  3950  	235, 220, 272, 304, 344, 403, 338, 0, 292, 0,
  3951  	0, 394, 317, 0, 0, 0, 0, 0, 0, 0,
  3952  	0, 0, 0, 0, 0, 0, 0, 0, 278, 219,
  3953  	186, 329, 395, 251, 0, 0, 0, 0, 178, 179,
  3954  	180, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3955  	0, 210, 0, 217, 0, 0, 0, 0, 0, 231,
  3956  	276, 238, 230, 413, 0, 0, 0, 0, 202, 0,
  3957  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3958  	0, 0, 0, 241, 0, 0, 0, 0, 0, 0,
  3959  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3960  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3961  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3962  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3963  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3964  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3965  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3966  	0, 259, 0, 318, 0, 0, 0, 0, 445, 0,
  3967  	0, 0, 0, 0, 0, 0, 287, 0, 284, 182,
  3968  	198, 0, 0, 328, 368, 374, 0, 0, 0, 222,
  3969  	0, 372, 342, 430, 206, 249, 365, 347, 370, 0,
  3970  	0, 371, 293, 418, 360, 428, 446, 447, 229, 322,
  3971  	436, 407, 442, 458, 199, 226, 336, 400, 433, 391,
  3972  	315, 414, 415, 283, 390, 257, 185, 291, 452, 197,
  3973  	380, 214, 204, 190, 402, 426, 211, 383, 0, 0,
  3974  	460, 192, 424, 399, 311, 280, 281, 191, 0, 364,
  3975  	234, 255, 224, 331, 421, 422, 223, 461, 201, 441,
  3976  	194, 0, 440, 324, 417, 425, 312, 303, 193, 423,
  3977  	310, 302, 286, 245, 266, 358, 296, 359, 267, 320,
  3978  	319, 321, 0, 188, 0, 396, 434, 462, 207, 208,
  3979  	209, 0, 244, 248, 254, 256, 262, 263, 270, 289,
  3980  	335, 357, 355, 361, 0, 412, 429, 437, 444, 450,
  3981  	451, 453, 454, 455, 456, 457, 323, 269, 392, 285,
  3982  	294, 0, 0, 341, 373, 212, 432, 393, 0, 0,
  3983  	0, 0, 0, 0, 0, 0, 0, 0, 0, 463,
  3984  	464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
  3985  	474, 475, 476, 477, 478, 479, 480, 0, 0, 0,
  3986  	0, 0, 0, 0, 0, 0, 0, 0, 181, 195,
  3987  	290, 0, 362, 252, 459, 439, 435, 0, 0, 228,
  3988  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3989  	0, 314, 0, 0, 0, 0, 0, 0, 0, 0,
  3990  	0, 0, 183, 184, 196, 205, 215, 227, 242, 250,
  3991  	260, 265, 268, 273, 274, 277, 282, 300, 305, 306,
  3992  	307, 308, 325, 326, 327, 330, 333, 334, 337, 339,
  3993  	340, 343, 350, 351, 352, 353, 354, 356, 363, 367,
  3994  	375, 376, 377, 378, 379, 381, 382, 386, 387, 388,
  3995  	389, 397, 401, 419, 420, 431, 443, 448, 261, 427,
  3996  	449, 0, 299, 0, 0, 301, 246, 264, 275, 0,
  3997  	438, 398, 200, 369, 253, 189, 218, 203, 225, 240,
  3998  	243, 279, 309, 316, 345, 349, 258, 237, 216, 366,
  3999  	213, 384, 404, 405, 406, 408, 313, 232, 348, 409,
  4000  	0, 297, 410, 411, 271, 0, 0, 0, 0, 0,
  4001  	0, 332, 0, 1332, 0, 0, 0, 0, 0, 0,
  4002  	236, 0, 0, 0, 0, 288, 233, 0, 0, 346,
  4003  	0, 187, 0, 385, 221, 298, 295, 416, 247, 239,
  4004  	235, 220, 272, 304, 344, 403, 338, 0, 292, 0,
  4005  	0, 394, 317, 0, 0, 0, 0, 0, 0, 0,
  4006  	0, 0, 0, 0, 0, 0, 0, 0, 278, 219,
  4007  	186, 329, 395, 251, 0, 0, 0, 0, 178, 179,
  4008  	180, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4009  	0, 210, 0, 217, 0, 0, 0, 0, 0, 231,
  4010  	276, 238, 230, 413, 0, 0, 0, 0, 202, 0,
  4011  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4012  	0, 0, 0, 241, 0, 0, 0, 0, 0, 0,
  4013  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4014  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4015  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4016  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4017  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4018  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4019  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4020  	0, 259, 0, 318, 0, 0, 0, 0, 445, 0,
  4021  	0, 0, 0, 0, 0, 0, 287, 0, 284, 182,
  4022  	198, 0, 0, 328, 368, 374, 0, 0, 0, 222,
  4023  	0, 372, 342, 430, 206, 249, 365, 347, 370, 0,
  4024  	0, 371, 293, 418, 360, 428, 446, 447, 229, 322,
  4025  	436, 407, 442, 458, 199, 226, 336, 400, 433, 391,
  4026  	315, 414, 415, 283, 390, 257, 185, 291, 452, 197,
  4027  	380, 214, 204, 190, 402, 426, 211, 383, 0, 0,
  4028  	460, 192, 424, 399, 311, 280, 281, 191, 0, 364,
  4029  	234, 255, 224, 331, 421, 422, 223, 461, 201, 441,
  4030  	194, 0, 440, 324, 417, 425, 312, 303, 193, 423,
  4031  	310, 302, 286, 245, 266, 358, 296, 359, 267, 320,
  4032  	319, 321, 0, 188, 0, 396, 434, 462, 207, 208,
  4033  	209, 0, 244, 248, 254, 256, 262, 263, 270, 289,
  4034  	335, 357, 355, 361, 0, 412, 429, 437, 444, 450,
  4035  	451, 453, 454, 455, 456, 457, 323, 269, 392, 285,
  4036  	294, 0, 0, 341, 373, 212, 432, 393, 0, 0,
  4037  	0, 0, 0, 0, 0, 0, 0, 0, 0, 463,
  4038  	464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
  4039  	474, 475, 476, 477, 478, 479, 480, 0, 0, 0,
  4040  	0, 0, 0, 0, 0, 0, 0, 0, 181, 195,
  4041  	290, 0, 362, 252, 459, 439, 435, 0, 0, 228,
  4042  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4043  	0, 314, 0, 0, 0, 0, 0, 0, 0, 0,
  4044  	0, 0, 183, 184, 196, 205, 215, 227, 242, 250,
  4045  	260, 265, 268, 273, 274, 277, 282, 300, 305, 306,
  4046  	307, 308, 325, 326, 327, 330, 333, 334, 337, 339,
  4047  	340, 343, 350, 351, 352, 353, 354, 356, 363, 367,
  4048  	375, 376, 377, 378, 379, 381, 382, 386, 387, 388,
  4049  	389, 397, 401, 419, 420, 431, 443, 448, 261, 427,
  4050  	449, 0, 299, 0, 0, 301, 246, 264, 275, 0,
  4051  	438, 398, 200, 369, 253, 189, 218, 203, 225, 240,
  4052  	243, 279, 309, 316, 345, 349, 258, 237, 216, 366,
  4053  	213, 384, 404, 405, 406, 408, 313, 232, 348, 409,
  4054  	0, 297, 410, 411, 271, 0, 0, 0, 0, 0,
  4055  	0, 332, 0, 1328, 0, 0, 0, 0, 0, 0,
  4056  	236, 0, 0, 0, 0, 288, 233, 0, 0, 346,
  4057  	0, 187, 0, 385, 221, 298, 295, 416, 247, 239,
  4058  	235, 220, 272, 304, 344, 403, 338, 0, 292, 0,
  4059  	0, 394, 317, 0, 0, 0, 0, 0, 0, 0,
  4060  	0, 0, 0, 0, 0, 0, 0, 0, 278, 219,
  4061  	186, 329, 395, 251, 0, 0, 0, 0, 178, 179,
  4062  	180, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4063  	0, 210, 0, 217, 0, 0, 0, 0, 0, 231,
  4064  	276, 238, 230, 413, 0, 0, 0, 0, 202, 0,
  4065  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4066  	0, 0, 0, 241, 0, 0, 0, 0, 0, 0,
  4067  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4068  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4069  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4070  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4071  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4072  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4073  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4074  	0, 259, 0, 318, 0, 0, 0, 0, 445, 0,
  4075  	0, 0, 0, 0, 0, 0, 287, 0, 284, 182,
  4076  	198, 0, 0, 328, 368, 374, 0, 0, 0, 222,
  4077  	0, 372, 342, 430, 206, 249, 365, 347, 370, 0,
  4078  	0, 371, 293, 418, 360, 428, 446, 447, 229, 322,
  4079  	436, 407, 442, 458, 199, 226, 336, 400, 433, 391,
  4080  	315, 414, 415, 283, 390, 257, 185, 291, 452, 197,
  4081  	380, 214, 204, 190, 402, 426, 211, 383, 0, 0,
  4082  	460, 192, 424, 399, 311, 280, 281, 191, 0, 364,
  4083  	234, 255, 224, 331, 421, 422, 223, 461, 201, 441,
  4084  	194, 0, 440, 324, 417, 425, 312, 303, 193, 423,
  4085  	310, 302, 286, 245, 266, 358, 296, 359, 267, 320,
  4086  	319, 321, 0, 188, 0, 396, 434, 462, 207, 208,
  4087  	209, 0, 244, 248, 254, 256, 262, 263, 270, 289,
  4088  	335, 357, 355, 361, 0, 412, 429, 437, 444, 450,
  4089  	451, 453, 454, 455, 456, 457, 323, 269, 392, 285,
  4090  	294, 0, 0, 341, 373, 212, 432, 393, 0, 0,
  4091  	0, 0, 0, 0, 0, 0, 0, 0, 0, 463,
  4092  	464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
  4093  	474, 475, 476, 477, 478, 479, 480, 0, 0, 0,
  4094  	0, 0, 0, 0, 0, 0, 0, 0, 181, 195,
  4095  	290, 0, 362, 252, 459, 439, 435, 0, 0, 228,
  4096  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4097  	0, 314, 0, 0, 0, 0, 0, 0, 0, 0,
  4098  	0, 0, 183, 184, 196, 205, 215, 227, 242, 250,
  4099  	260, 265, 268, 273, 274, 277, 282, 300, 305, 306,
  4100  	307, 308, 325, 326, 327, 330, 333, 334, 337, 339,
  4101  	340, 343, 350, 351, 352, 353, 354, 356, 363, 367,
  4102  	375, 376, 377, 378, 379, 381, 382, 386, 387, 388,
  4103  	389, 397, 401, 419, 420, 431, 443, 448, 261, 427,
  4104  	449, 0, 299, 0, 0, 301, 246, 264, 275, 0,
  4105  	438, 398, 200, 369, 253, 189, 218, 203, 225, 240,
  4106  	243, 279, 309, 316, 345, 349, 258, 237, 216, 366,
  4107  	213, 384, 404, 405, 406, 408, 313, 232, 348, 409,
  4108  	0, 297, 410, 411, 271, 0, 0, 0, 0, 0,
  4109  	0, 332, 0, 1326, 0, 0, 0, 0, 0, 0,
  4110  	236, 0, 0, 0, 0, 288, 233, 0, 0, 346,
  4111  	0, 187, 0, 385, 221, 298, 295, 416, 247, 239,
  4112  	235, 220, 272, 304, 344, 403, 338, 0, 292, 0,
  4113  	0, 394, 317, 0, 0, 0, 0, 0, 0, 0,
  4114  	0, 0, 0, 0, 0, 0, 0, 0, 278, 219,
  4115  	186, 329, 395, 251, 0, 0, 0, 0, 178, 179,
  4116  	180, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4117  	0, 210, 0, 217, 0, 0, 0, 0, 0, 231,
  4118  	276, 238, 230, 413, 0, 0, 0, 0, 202, 0,
  4119  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4120  	0, 0, 0, 241, 0, 0, 0, 0, 0, 0,
  4121  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4122  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4123  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4124  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4125  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4126  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4127  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4128  	0, 259, 0, 318, 0, 0, 0, 0, 445, 0,
  4129  	0, 0, 0, 0, 0, 0, 287, 0, 284, 182,
  4130  	198, 0, 0, 328, 368, 374, 0, 0, 0, 222,
  4131  	0, 372, 342, 430, 206, 249, 365, 347, 370, 0,
  4132  	0, 371, 293, 418, 360, 428, 446, 447, 229, 322,
  4133  	436, 407, 442, 458, 199, 226, 336, 400, 433, 391,
  4134  	315, 414, 415, 283, 390, 257, 185, 291, 452, 197,
  4135  	380, 214, 204, 190, 402, 426, 211, 383, 0, 0,
  4136  	460, 192, 424, 399, 311, 280, 281, 191, 0, 364,
  4137  	234, 255, 224, 331, 421, 422, 223, 461, 201, 441,
  4138  	194, 0, 440, 324, 417, 425, 312, 303, 193, 423,
  4139  	310, 302, 286, 245, 266, 358, 296, 359, 267, 320,
  4140  	319, 321, 0, 188, 0, 396, 434, 462, 207, 208,
  4141  	209, 0, 244, 248, 254, 256, 262, 263, 270, 289,
  4142  	335, 357, 355, 361, 0, 412, 429, 437, 444, 450,
  4143  	451, 453, 454, 455, 456, 457, 323, 269, 392, 285,
  4144  	294, 0, 0, 341, 373, 212, 432, 393, 0, 0,
  4145  	0, 0, 0, 0, 0, 0, 0, 0, 0, 463,
  4146  	464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
  4147  	474, 475, 476, 477, 478, 479, 480, 0, 0, 0,
  4148  	0, 0, 0, 0, 0, 0, 0, 0, 181, 195,
  4149  	290, 0, 362, 252, 459, 439, 435, 0, 0, 228,
  4150  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4151  	0, 314, 0, 0, 0, 0, 0, 0, 0, 0,
  4152  	0, 0, 183, 184, 196, 205, 215, 227, 242, 250,
  4153  	260, 265, 268, 273, 274, 277, 282, 300, 305, 306,
  4154  	307, 308, 325, 326, 327, 330, 333, 334, 337, 339,
  4155  	340, 343, 350, 351, 352, 353, 354, 356, 363, 367,
  4156  	375, 376, 377, 378, 379, 381, 382, 386, 387, 388,
  4157  	389, 397, 401, 419, 420, 431, 443, 448, 261, 427,
  4158  	449, 0, 299, 0, 0, 301, 246, 264, 275, 0,
  4159  	438, 398, 200, 369, 253, 189, 218, 203, 225, 240,
  4160  	243, 279, 309, 316, 345, 349, 258, 237, 216, 366,
  4161  	213, 384, 404, 405, 406, 408, 313, 232, 348, 409,
  4162  	0, 297, 410, 411, 271, 0, 0, 0, 0, 0,
  4163  	0, 332, 0, 1324, 0, 0, 0, 0, 0, 0,
  4164  	236, 0, 0, 0, 0, 288, 233, 0, 0, 346,
  4165  	0, 187, 0, 385, 221, 298, 295, 416, 247, 239,
  4166  	235, 220, 272, 304, 344, 403, 338, 0, 292, 0,
  4167  	0, 394, 317, 0, 0, 0, 0, 0, 0, 0,
  4168  	0, 0, 0, 0, 0, 0, 0, 0, 278, 219,
  4169  	186, 329, 395, 251, 0, 0, 0, 0, 178, 179,
  4170  	180, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4171  	0, 210, 0, 217, 0, 0, 0, 0, 0, 231,
  4172  	276, 238, 230, 413, 0, 0, 0, 0, 202, 0,
  4173  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4174  	0, 0, 0, 241, 0, 0, 0, 0, 0, 0,
  4175  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4176  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4177  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4178  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4179  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4180  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4181  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4182  	0, 259, 0, 318, 0, 0, 0, 0, 445, 0,
  4183  	0, 0, 0, 0, 0, 0, 287, 0, 284, 182,
  4184  	198, 0, 0, 328, 368, 374, 0, 0, 0, 222,
  4185  	0, 372, 342, 430, 206, 249, 365, 347, 370, 0,
  4186  	0, 371, 293, 418, 360, 428, 446, 447, 229, 322,
  4187  	436, 407, 442, 458, 199, 226, 336, 400, 433, 391,
  4188  	315, 414, 415, 283, 390, 257, 185, 291, 452, 197,
  4189  	380, 214, 204, 190, 402, 426, 211, 383, 0, 0,
  4190  	460, 192, 424, 399, 311, 280, 281, 191, 0, 364,
  4191  	234, 255, 224, 331, 421, 422, 223, 461, 201, 441,
  4192  	194, 0, 440, 324, 417, 425, 312, 303, 193, 423,
  4193  	310, 302, 286, 245, 266, 358, 296, 359, 267, 320,
  4194  	319, 321, 0, 188, 0, 396, 434, 462, 207, 208,
  4195  	209, 0, 244, 248, 254, 256, 262, 263, 270, 289,
  4196  	335, 357, 355, 361, 0, 412, 429, 437, 444, 450,
  4197  	451, 453, 454, 455, 456, 457, 323, 269, 392, 285,
  4198  	294, 0, 0, 341, 373, 212, 432, 393, 0, 0,
  4199  	0, 0, 0, 0, 0, 0, 0, 0, 0, 463,
  4200  	464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
  4201  	474, 475, 476, 477, 478, 479, 480, 0, 0, 0,
  4202  	0, 0, 0, 0, 0, 0, 0, 0, 181, 195,
  4203  	290, 0, 362, 252, 459, 439, 435, 0, 0, 228,
  4204  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4205  	0, 314, 0, 0, 0, 0, 0, 0, 0, 0,
  4206  	0, 0, 183, 184, 196, 205, 215, 227, 242, 250,
  4207  	260, 265, 268, 273, 274, 277, 282, 300, 305, 306,
  4208  	307, 308, 325, 326, 327, 330, 333, 334, 337, 339,
  4209  	340, 343, 350, 351, 352, 353, 354, 356, 363, 367,
  4210  	375, 376, 377, 378, 379, 381, 382, 386, 387, 388,
  4211  	389, 397, 401, 419, 420, 431, 443, 448, 261, 427,
  4212  	449, 0, 299, 0, 0, 301, 246, 264, 275, 0,
  4213  	438, 398, 200, 369, 253, 189, 218, 203, 225, 240,
  4214  	243, 279, 309, 316, 345, 349, 258, 237, 216, 366,
  4215  	213, 384, 404, 405, 406, 408, 313, 232, 348, 409,
  4216  	0, 297, 410, 411, 271, 0, 0, 0, 0, 0,
  4217  	0, 332, 0, 0, 0, 0, 0, 0, 0, 0,
  4218  	236, 0, 0, 0, 0, 288, 233, 0, 0, 346,
  4219  	0, 187, 0, 385, 221, 298, 295, 416, 247, 239,
  4220  	235, 220, 272, 304, 344, 403, 338, 0, 292, 0,
  4221  	0, 394, 317, 0, 0, 0, 0, 0, 0, 0,
  4222  	0, 0, 0, 0, 0, 0, 0, 0, 278, 219,
  4223  	186, 329, 395, 251, 0, 1301, 0, 0, 178, 179,
  4224  	180, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4225  	0, 210, 0, 217, 0, 0, 0, 0, 0, 231,
  4226  	276, 238, 230, 413, 0, 0, 0, 0, 202, 0,
  4227  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4228  	0, 0, 0, 241, 0, 0, 0, 0, 0, 0,
  4229  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4230  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4231  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4232  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4233  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4234  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4235  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4236  	0, 259, 0, 318, 0, 0, 0, 0, 445, 0,
  4237  	0, 0, 0, 0, 0, 0, 287, 0, 284, 182,
  4238  	198, 0, 0, 328, 368, 374, 0, 0, 0, 222,
  4239  	0, 372, 342, 430, 206, 249, 365, 347, 370, 0,
  4240  	0, 371, 293, 418, 360, 428, 446, 447, 229, 322,
  4241  	436, 407, 442, 458, 199, 226, 336, 400, 433, 391,
  4242  	315, 414, 415, 283, 390, 257, 185, 291, 452, 197,
  4243  	380, 214, 204, 190, 402, 426, 211, 383, 0, 0,
  4244  	460, 192, 424, 399, 311, 280, 281, 191, 0, 364,
  4245  	234, 255, 224, 331, 421, 422, 223, 461, 201, 441,
  4246  	194, 0, 440, 324, 417, 425, 312, 303, 193, 423,
  4247  	310, 302, 286, 245, 266, 358, 296, 359, 267, 320,
  4248  	319, 321, 0, 188, 0, 396, 434, 462, 207, 208,
  4249  	209, 0, 244, 248, 254, 256, 262, 263, 270, 289,
  4250  	335, 357, 355, 361, 0, 412, 429, 437, 444, 450,
  4251  	451, 453, 454, 455, 456, 457, 323, 269, 392, 285,
  4252  	294, 0, 0, 341, 373, 212, 432, 393, 0, 0,
  4253  	0, 0, 0, 0, 0, 0, 0, 0, 0, 463,
  4254  	464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
  4255  	474, 475, 476, 477, 478, 479, 480, 0, 0, 0,
  4256  	0, 0, 0, 0, 0, 0, 0, 0, 181, 195,
  4257  	290, 0, 362, 252, 459, 439, 435, 0, 0, 228,
  4258  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4259  	0, 314, 0, 0, 0, 0, 0, 0, 0, 0,
  4260  	0, 0, 183, 184, 196, 205, 215, 227, 242, 250,
  4261  	260, 265, 268, 273, 274, 277, 282, 300, 305, 306,
  4262  	307, 308, 325, 326, 327, 330, 333, 334, 337, 339,
  4263  	340, 343, 350, 351, 352, 353, 354, 356, 363, 367,
  4264  	375, 376, 377, 378, 379, 381, 382, 386, 387, 388,
  4265  	389, 397, 401, 419, 420, 431, 443, 448, 261, 427,
  4266  	449, 0, 299, 0, 0, 301, 246, 264, 275, 0,
  4267  	438, 398, 200, 369, 253, 189, 218, 203, 225, 240,
  4268  	243, 279, 309, 316, 345, 349, 258, 237, 216, 366,
  4269  	213, 384, 404, 405, 406, 408, 313, 232, 348, 409,
  4270  	0, 297, 410, 411, 271, 0, 0, 0, 0, 0,
  4271  	0, 332, 0, 0, 0, 0, 0, 0, 0, 1204,
  4272  	236, 0, 0, 0, 0, 288, 233, 0, 0, 346,
  4273  	0, 187, 0, 385, 221, 298, 295, 416, 247, 239,
  4274  	235, 220, 272, 304, 344, 403, 338, 0, 292, 0,
  4275  	0, 394, 317, 0, 0, 0, 0, 0, 0, 0,
  4276  	0, 0, 0, 0, 0, 0, 0, 0, 278, 219,
  4277  	186, 329, 395, 251, 0, 0, 0, 0, 178, 179,
  4278  	180, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4279  	0, 210, 0, 217, 0, 0, 0, 0, 0, 231,
  4280  	276, 238, 230, 413, 0, 0, 0, 0, 202, 0,
  4281  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4282  	0, 0, 0, 241, 0, 0, 0, 0, 0, 0,
  4283  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4284  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4285  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4286  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4287  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4288  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4289  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4290  	0, 259, 0, 318, 0, 0, 0, 0, 445, 0,
  4291  	0, 0, 0, 0, 0, 0, 287, 0, 284, 182,
  4292  	198, 0, 0, 328, 368, 374, 0, 0, 0, 222,
  4293  	0, 372, 342, 430, 206, 249, 365, 347, 370, 0,
  4294  	0, 371, 293, 418, 360, 428, 446, 447, 229, 322,
  4295  	436, 407, 442, 458, 199, 226, 336, 400, 433, 391,
  4296  	315, 414, 415, 283, 390, 257, 185, 291, 452, 197,
  4297  	380, 214, 204, 190, 402, 426, 211, 383, 0, 0,
  4298  	460, 192, 424, 399, 311, 280, 281, 191, 0, 364,
  4299  	234, 255, 224, 331, 421, 422, 223, 461, 201, 441,
  4300  	194, 0, 440, 324, 417, 425, 312, 303, 193, 423,
  4301  	310, 302, 286, 245, 266, 358, 296, 359, 267, 320,
  4302  	319, 321, 0, 188, 0, 396, 434, 462, 207, 208,
  4303  	209, 0, 244, 248, 254, 256, 262, 263, 270, 289,
  4304  	335, 357, 355, 361, 0, 412, 429, 437, 444, 450,
  4305  	451, 453, 454, 455, 456, 457, 323, 269, 392, 285,
  4306  	294, 0, 0, 341, 373, 212, 432, 393, 0, 0,
  4307  	0, 0, 0, 0, 0, 0, 0, 0, 0, 463,
  4308  	464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
  4309  	474, 475, 476, 477, 478, 479, 480, 0, 0, 0,
  4310  	0, 0, 0, 0, 0, 0, 0, 0, 181, 195,
  4311  	290, 0, 362, 252, 459, 439, 435, 0, 0, 228,
  4312  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4313  	0, 314, 0, 0, 0, 0, 0, 0, 0, 0,
  4314  	0, 0, 183, 184, 196, 205, 215, 227, 242, 250,
  4315  	260, 265, 268, 273, 274, 277, 282, 300, 305, 306,
  4316  	307, 308, 325, 326, 327, 330, 333, 334, 337, 339,
  4317  	340, 343, 350, 351, 352, 353, 354, 356, 363, 367,
  4318  	375, 376, 377, 378, 379, 381, 382, 386, 387, 388,
  4319  	389, 397, 401, 419, 420, 431, 443, 448, 261, 427,
  4320  	449, 0, 299, 0, 0, 301, 246, 264, 275, 0,
  4321  	438, 398, 200, 369, 253, 189, 218, 203, 225, 240,
  4322  	243, 279, 309, 316, 345, 349, 258, 237, 216, 366,
  4323  	213, 384, 404, 405, 406, 408, 313, 232, 348, 409,
  4324  	0, 297, 410, 411, 271, 0, 0, 0, 0, 0,
  4325  	0, 332, 0, 0, 0, 0, 0, 0, 0, 0,
  4326  	236, 0, 0, 0, 0, 288, 233, 0, 0, 346,
  4327  	0, 187, 0, 385, 221, 298, 295, 416, 247, 239,
  4328  	235, 220, 272, 304, 344, 403, 338, 0, 292, 0,
  4329  	0, 394, 317, 0, 0, 0, 0, 0, 0, 0,
  4330  	0, 0, 0, 0, 0, 0, 0, 0, 278, 219,
  4331  	186, 329, 395, 251, 0, 0, 0, 0, 178, 179,
  4332  	180, 0, 1043, 0, 0, 0, 0, 0, 0, 0,
  4333  	0, 210, 0, 217, 0, 0, 0, 0, 0, 231,
  4334  	276, 238, 230, 413, 0, 0, 0, 0, 202, 0,
  4335  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4336  	0, 0, 0, 241, 0, 0, 0, 0, 0, 0,
  4337  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4338  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4339  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4340  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4341  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4342  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4343  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4344  	0, 259, 0, 318, 0, 0, 0, 0, 445, 0,
  4345  	0, 0, 0, 0, 0, 0, 287, 0, 284, 182,
  4346  	198, 0, 0, 328, 368, 374, 0, 0, 0, 222,
  4347  	0, 372, 342, 430, 206, 249, 365, 347, 370, 0,
  4348  	0, 371, 293, 418, 360, 428, 446, 447, 229, 322,
  4349  	436, 407, 442, 458, 199, 226, 336, 400, 433, 391,
  4350  	315, 414, 415, 283, 390, 257, 185, 291, 452, 197,
  4351  	380, 214, 204, 190, 402, 426, 211, 383, 0, 0,
  4352  	460, 192, 424, 399, 311, 280, 281, 191, 0, 364,
  4353  	234, 255, 224, 331, 421, 422, 223, 461, 201, 441,
  4354  	194, 0, 440, 324, 417, 425, 312, 303, 193, 423,
  4355  	310, 302, 286, 245, 266, 358, 296, 359, 267, 320,
  4356  	319, 321, 0, 188, 0, 396, 434, 462, 207, 208,
  4357  	209, 0, 244, 248, 254, 256, 262, 263, 270, 289,
  4358  	335, 357, 355, 361, 0, 412, 429, 437, 444, 450,
  4359  	451, 453, 454, 455, 456, 457, 323, 269, 392, 285,
  4360  	294, 0, 0, 341, 373, 212, 432, 393, 0, 0,
  4361  	0, 0, 0, 0, 0, 0, 0, 0, 0, 463,
  4362  	464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
  4363  	474, 475, 476, 477, 478, 479, 480, 0, 0, 0,
  4364  	0, 0, 0, 0, 0, 0, 0, 0, 181, 195,
  4365  	290, 0, 362, 252, 459, 439, 435, 0, 0, 228,
  4366  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4367  	0, 314, 0, 0, 0, 0, 0, 0, 0, 0,
  4368  	0, 0, 183, 184, 196, 205, 215, 227, 242, 250,
  4369  	260, 265, 268, 273, 274, 277, 282, 300, 305, 306,
  4370  	307, 308, 325, 326, 327, 330, 333, 334, 337, 339,
  4371  	340, 343, 350, 351, 352, 353, 354, 356, 363, 367,
  4372  	375, 376, 377, 378, 379, 381, 382, 386, 387, 388,
  4373  	389, 397, 401, 419, 420, 431, 443, 448, 261, 427,
  4374  	449, 0, 299, 0, 0, 301, 246, 264, 275, 0,
  4375  	438, 398, 200, 369, 253, 189, 218, 203, 225, 240,
  4376  	243, 279, 309, 316, 345, 349, 258, 237, 216, 366,
  4377  	213, 384, 404, 405, 406, 408, 313, 232, 348, 409,
  4378  	0, 297, 410, 411, 271, 0, 0, 0, 0, 0,
  4379  	0, 332, 0, 0, 0, 0, 0, 0, 0, 0,
  4380  	236, 0, 0, 0, 0, 288, 233, 0, 0, 346,
  4381  	0, 187, 0, 385, 221, 298, 295, 416, 247, 239,
  4382  	235, 220, 272, 304, 344, 403, 338, 0, 292, 0,
  4383  	0, 394, 317, 0, 0, 0, 0, 0, 0, 0,
  4384  	0, 0, 0, 0, 0, 0, 0, 0, 278, 219,
  4385  	186, 329, 395, 251, 0, 0, 0, 0, 178, 179,
  4386  	180, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4387  	0, 210, 0, 217, 0, 0, 0, 0, 0, 231,
  4388  	276, 238, 230, 413, 0, 0, 0, 0, 202, 0,
  4389  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4390  	0, 0, 0, 241, 0, 0, 0, 0, 0, 0,
  4391  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4392  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4393  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4394  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4395  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4396  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4397  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4398  	0, 259, 0, 318, 0, 0, 0, 0, 445, 0,
  4399  	0, 0, 0, 0, 0, 0, 287, 0, 284, 182,
  4400  	198, 0, 0, 328, 368, 374, 0, 0, 0, 222,
  4401  	0, 372, 342, 430, 206, 249, 365, 347, 370, 0,
  4402  	0, 371, 293, 418, 360, 428, 446, 447, 229, 322,
  4403  	436, 407, 442, 458, 199, 226, 336, 400, 433, 391,
  4404  	315, 414, 415, 283, 390, 257, 185, 291, 452, 197,
  4405  	380, 214, 204, 190, 402, 426, 211, 383, 0, 0,
  4406  	460, 192, 424, 399, 311, 280, 281, 191, 0, 364,
  4407  	234, 255, 224, 331, 421, 422, 223, 461, 201, 441,
  4408  	194, 0, 440, 324, 417, 425, 312, 303, 193, 423,
  4409  	310, 302, 286, 245, 266, 358, 296, 359, 267, 320,
  4410  	319, 321, 0, 188, 0, 396, 434, 462, 207, 208,
  4411  	209, 0, 244, 248, 254, 256, 262, 263, 270, 289,
  4412  	335, 357, 355, 361, 0, 412, 429, 437, 444, 450,
  4413  	451, 453, 454, 455, 456, 457, 323, 269, 392, 285,
  4414  	294, 0, 0, 341, 373, 212, 432, 393, 0, 0,
  4415  	0, 0, 0, 0, 0, 0, 0, 0, 0, 463,
  4416  	464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
  4417  	474, 475, 476, 477, 478, 479, 480, 0, 0, 0,
  4418  	0, 0, 0, 0, 0, 0, 0, 0, 181, 195,
  4419  	290, 0, 362, 252, 459, 439, 435, 0, 0, 228,
  4420  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4421  	0, 314, 0, 0, 0, 0, 0, 0, 677, 0,
  4422  	0, 0, 183, 184, 196, 205, 215, 227, 242, 250,
  4423  	260, 265, 268, 273, 274, 277, 282, 300, 305, 306,
  4424  	307, 308, 325, 326, 327, 330, 333, 334, 337, 339,
  4425  	340, 343, 350, 351, 352, 353, 354, 356, 363, 367,
  4426  	375, 376, 377, 378, 379, 381, 382, 386, 387, 388,
  4427  	389, 397, 401, 419, 420, 431, 443, 448, 261, 427,
  4428  	449, 0, 299, 0, 0, 301, 246, 264, 275, 0,
  4429  	438, 398, 200, 369, 253, 189, 218, 203, 225, 240,
  4430  	243, 279, 309, 316, 345, 349, 258, 237, 216, 366,
  4431  	213, 384, 404, 405, 406, 408, 313, 232, 348, 409,
  4432  	0, 297, 410, 411, 271, 0, 0, 0, 0, 0,
  4433  	0, 332, 0, 0, 0, 0, 0, 0, 0, 0,
  4434  	236, 0, 0, 0, 0, 288, 233, 0, 0, 346,
  4435  	0, 187, 0, 385, 221, 298, 295, 416, 247, 239,
  4436  	235, 220, 272, 304, 344, 403, 338, 0, 292, 0,
  4437  	0, 394, 317, 0, 0, 0, 0, 0, 0, 0,
  4438  	0, 0, 0, 0, 0, 0, 0, 0, 278, 219,
  4439  	186, 329, 395, 251, 0, 0, 0, 0, 178, 179,
  4440  	180, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4441  	0, 210, 0, 217, 0, 0, 0, 0, 0, 231,
  4442  	276, 238, 230, 413, 0, 0, 0, 0, 202, 0,
  4443  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4444  	0, 0, 0, 241, 0, 0, 0, 0, 0, 0,
  4445  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4446  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4447  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4448  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4449  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4450  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4451  	0, 0, 0, 0, 0, 0, 0, 0, 0, 536,
  4452  	0, 259, 0, 318, 0, 0, 0, 0, 445, 0,
  4453  	0, 0, 0, 0, 0, 0, 287, 0, 284, 182,
  4454  	198, 0, 0, 328, 368, 374, 0, 0, 0, 222,
  4455  	0, 372, 342, 430, 206, 249, 365, 347, 370, 0,
  4456  	0, 371, 293, 418, 360, 428, 446, 447, 229, 322,
  4457  	436, 407, 442, 458, 199, 226, 336, 400, 433, 391,
  4458  	315, 414, 415, 283, 390, 257, 185, 291, 452, 197,
  4459  	380, 214, 204, 190, 402, 426, 211, 383, 0, 0,
  4460  	460, 192, 424, 399, 311, 280, 281, 191, 0, 364,
  4461  	234, 255, 224, 331, 421, 422, 223, 461, 201, 441,
  4462  	194, 0, 440, 324, 417, 425, 312, 303, 193, 423,
  4463  	310, 302, 286, 245, 266, 358, 296, 359, 267, 320,
  4464  	319, 321, 0, 188, 0, 396, 434, 462, 207, 208,
  4465  	209, 0, 244, 248, 254, 256, 262, 263, 270, 289,
  4466  	335, 357, 355, 361, 0, 412, 429, 437, 444, 450,
  4467  	451, 453, 454, 455, 456, 457, 323, 269, 392, 285,
  4468  	294, 0, 0, 341, 373, 212, 432, 393, 0, 0,
  4469  	0, 0, 0, 0, 0, 0, 0, 0, 0, 463,
  4470  	464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
  4471  	474, 475, 476, 477, 478, 479, 480, 0, 0, 0,
  4472  	0, 0, 0, 0, 0, 0, 0, 0, 181, 195,
  4473  	290, 0, 362, 252, 459, 439, 435, 0, 0, 228,
  4474  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4475  	0, 314, 0, 0, 0, 0, 0, 0, 0, 0,
  4476  	0, 0, 183, 184, 196, 205, 215, 227, 242, 250,
  4477  	260, 265, 268, 273, 274, 277, 282, 300, 305, 306,
  4478  	307, 308, 325, 326, 327, 330, 333, 334, 337, 339,
  4479  	340, 343, 350, 351, 352, 353, 354, 356, 363, 367,
  4480  	375, 376, 377, 378, 379, 381, 382, 386, 387, 388,
  4481  	389, 397, 401, 419, 420, 431, 443, 448, 535, 427,
  4482  	449, 0, 299, 0, 0, 301, 246, 264, 275, 0,
  4483  	438, 398, 200, 369, 253, 189, 218, 203, 225, 240,
  4484  	243, 279, 309, 316, 345, 349, 258, 237, 216, 366,
  4485  	213, 384, 404, 405, 406, 408, 313, 232, 348, 409,
  4486  	0, 297, 410, 411, 271, 0, 0, 0, 0, 0,
  4487  	0, 332, 0, 0, 0, 0, 0, 0, 0, 0,
  4488  	236, 0, 0, 0, 0, 288, 233, 0, 0, 346,
  4489  	0, 187, 0, 385, 221, 298, 295, 416, 247, 239,
  4490  	235, 220, 272, 304, 344, 403, 338, 0, 292, 0,
  4491  	0, 394, 317, 0, 0, 0, 0, 0, 0, 0,
  4492  	0, 0, 0, 0, 0, 0, 0, 0, 278, 219,
  4493  	186, 329, 395, 251, 0, 0, 0, 0, 178, 179,
  4494  	180, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4495  	0, 210, 0, 217, 0, 0, 0, 0, 0, 231,
  4496  	276, 238, 230, 413, 0, 0, 0, 0, 202, 0,
  4497  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4498  	0, 0, 0, 241, 0, 0, 0, 0, 0, 0,
  4499  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4500  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4501  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4502  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4503  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4504  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4505  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4506  	0, 259, 0, 318, 0, 0, 483, 0, 445, 0,
  4507  	0, 0, 0, 0, 0, 0, 287, 0, 284, 182,
  4508  	198, 0, 0, 328, 368, 374, 0, 0, 0, 222,
  4509  	0, 372, 342, 430, 206, 249, 365, 347, 370, 0,
  4510  	0, 371, 293, 418, 360, 428, 446, 447, 229, 322,
  4511  	436, 407, 442, 458, 199, 226, 336, 400, 433, 391,
  4512  	315, 414, 415, 283, 390, 257, 185, 291, 452, 197,
  4513  	380, 214, 204, 190, 402, 426, 211, 383, 0, 0,
  4514  	460, 192, 424, 399, 311, 280, 281, 191, 0, 364,
  4515  	234, 255, 224, 331, 421, 422, 223, 461, 201, 441,
  4516  	194, 0, 440, 324, 417, 425, 312, 303, 193, 423,
  4517  	310, 302, 286, 245, 266, 358, 296, 359, 267, 320,
  4518  	319, 321, 0, 188, 0, 396, 434, 462, 207, 208,
  4519  	209, 0, 244, 248, 254, 256, 262, 263, 270, 289,
  4520  	335, 357, 355, 361, 0, 412, 429, 437, 444, 450,
  4521  	451, 453, 454, 455, 456, 457, 323, 269, 392, 285,
  4522  	294, 0, 0, 341, 373, 212, 432, 393, 0, 0,
  4523  	0, 0, 0, 0, 0, 0, 0, 0, 0, 463,
  4524  	464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
  4525  	474, 475, 476, 477, 478, 479, 480, 0, 0, 0,
  4526  	0, 0, 0, 0, 0, 0, 0, 0, 181, 195,
  4527  	290, 0, 362, 252, 459, 439, 435, 0, 0, 228,
  4528  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4529  	0, 314, 0, 0, 0, 0, 0, 0, 0, 0,
  4530  	0, 0, 183, 184, 196, 205, 215, 227, 242, 250,
  4531  	260, 265, 268, 273, 274, 277, 282, 300, 305, 306,
  4532  	307, 308, 325, 326, 327, 330, 333, 334, 337, 339,
  4533  	340, 343, 350, 351, 352, 353, 354, 356, 363, 367,
  4534  	375, 376, 377, 378, 379, 381, 382, 386, 387, 388,
  4535  	389, 397, 401, 419, 420, 431, 443, 448, 261, 427,
  4536  	449, 0, 299, 0, 0, 301, 246, 264, 275, 0,
  4537  	438, 398, 200, 369, 253, 189, 218, 203, 225, 240,
  4538  	243, 279, 309, 316, 345, 349, 258, 237, 216, 366,
  4539  	213, 384, 404, 405, 406, 408, 313, 232, 348, 409,
  4540  	0, 297, 410, 411, 271, 0, 0, 0, 0, 0,
  4541  	0, 332, 0, 0, 0, 0, 0, 0, 0, 0,
  4542  	236, 0, 0, 0, 0, 288, 233, 0, 0, 346,
  4543  	0, 187, 0, 385, 221, 298, 295, 416, 247, 239,
  4544  	235, 220, 272, 304, 344, 403, 338, 0, 292, 0,
  4545  	0, 394, 317, 0, 0, 0, 0, 0, 0, 0,
  4546  	0, 0, 0, 0, 0, 0, 0, 0, 278, 219,
  4547  	186, 329, 395, 251, 0, 0, 0, 0, 178, 179,
  4548  	180, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4549  	0, 210, 0, 217, 0, 0, 0, 0, 0, 231,
  4550  	276, 238, 230, 413, 0, 0, 0, 0, 202, 0,
  4551  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4552  	0, 0, 0, 241, 0, 0, 0, 0, 0, 0,
  4553  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4554  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4555  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4556  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4557  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4558  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4559  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4560  	0, 259, 0, 318, 0, 0, 0, 0, 445, 0,
  4561  	0, 0, 0, 0, 0, 0, 287, 0, 284, 182,
  4562  	198, 0, 0, 328, 368, 374, 0, 0, 0, 222,
  4563  	0, 372, 342, 430, 206, 249, 365, 347, 370, 0,
  4564  	0, 371, 293, 418, 360, 428, 446, 447, 229, 322,
  4565  	436, 407, 442, 458, 199, 226, 336, 400, 433, 391,
  4566  	315, 414, 415, 283, 390, 257, 185, 291, 452, 197,
  4567  	380, 214, 204, 190, 402, 426, 211, 383, 0, 0,
  4568  	460, 192, 424, 399, 311, 280, 281, 191, 0, 364,
  4569  	234, 255, 224, 331, 421, 422, 223, 461, 201, 441,
  4570  	194, 0, 440, 324, 417, 425, 312, 303, 193, 423,
  4571  	310, 302, 286, 245, 266, 358, 296, 359, 267, 320,
  4572  	319, 321, 0, 188, 0, 396, 434, 462, 207, 208,
  4573  	209, 0, 244, 248, 254, 256, 262, 263, 270, 289,
  4574  	335, 357, 355, 361, 0, 412, 429, 437, 444, 450,
  4575  	451, 453, 454, 455, 456, 457, 323, 269, 392, 285,
  4576  	294, 0, 0, 341, 373, 212, 432, 393, 0, 0,
  4577  	0, 0, 0, 0, 0, 0, 0, 0, 0, 463,
  4578  	464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
  4579  	474, 475, 476, 477, 478, 479, 480, 0, 0, 0,
  4580  	0, 0, 0, 0, 0, 0, 0, 0, 181, 195,
  4581  	290, 0, 362, 252, 459, 439, 435, 0, 0, 228,
  4582  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4583  	0, 314, 0, 0, 0, 0, 0, 0, 0, 0,
  4584  	0, 0, 183, 184, 196, 205, 215, 227, 242, 250,
  4585  	260, 265, 268, 273, 274, 277, 282, 300, 305, 306,
  4586  	307, 308, 325, 326, 327, 330, 333, 334, 337, 339,
  4587  	340, 343, 350, 351, 352, 353, 354, 356, 363, 367,
  4588  	375, 376, 377, 378, 379, 381, 382, 386, 387, 388,
  4589  	389, 397, 401, 419, 420, 431, 443, 448, 261, 427,
  4590  	449, 0, 299, 0, 0, 301, 246, 264, 275, 0,
  4591  	438, 398, 200, 369, 253, 189, 218, 203, 225, 240,
  4592  	243, 279, 309, 316, 345, 349, 258, 237, 216, 366,
  4593  	213, 384, 404, 405, 406, 408, 313, 232, 348, 0,
  4594  	0, 297, 410, 411, 271,
  4595  }
  4596  
  4597  var yyPact = [...]int{
  4598  	2513, -1000, -382, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  4599  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  4600  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  4601  	-1000, -1000, -1000, 1667, 1715, -1000, -1000, -1000, -1000, 1777,
  4602  	-1000, 688, 1484, -1000, 1689, 3120, -1000, 32732, 436, -1000,
  4603  	32192, 431, 115, 32732, -1000, 107, -1000, 92, 32732, 102,
  4604  	31652, -1000, -1000, -293, 13829, 1635, -14, -23, 32732, -1000,
  4605  	1764, 1518, -1000, 288, -1000, -1000, -1000, -1000, -1000, -1000,
  4606  	31112, -1000, -1000, -1000, 1692, 1675, 1787, 619, 1632, -1000,
  4607  	1732, 1518, -1000, 13829, 1755, 1722, 13289, -1000, 13289, 362,
  4608  	-1000, -1000, 10042, -1000, -1000, 18151, 32732, 32732, 383, -1000,
  4609  	1689, -1000, -1000, 345, -1000, 267, 1442, -1000, 1441, -1000,
  4610  	442, 555, 279, 399, 393, 278, 275, 274, 273, 271,
  4611  	270, 266, 264, 284, -1000, 659, 659, -157, -178, 3527,
  4612  	349, 349, 349, 394, 1652, 1651, -1000, 593, -1000, 659,
  4613  	659, 337, 659, 659, 659, 659, 229, 227, 659, 659,
  4614  	659, 659, 659, 659, 659, 659, 659, 659, 659, 659,
  4615  	659, 659, 659, 232, 1689, 198, -1000, -1000, -1000, -1000,
  4616  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  4617  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  4618  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  4619  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  4620  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  4621  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  4622  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  4623  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  4624  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  4625  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  4626  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  4627  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  4628  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  4629  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  4630  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  4631  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  4632  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  4633  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  4634  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  4635  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  4636  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  4637  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  4638  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  4639  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  4640  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  4641  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  4642  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  4643  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  4644  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  4645  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  4646  	-1000, 32732, 120, 32732, -1000, 543, 32732, 754, 754, 34,
  4647  	754, 754, 754, 754, 114, 526, -27, -1000, 111, 235,
  4648  	133, 192, 744, 272, 125, -1000, -1000, 159, 744, 1148,
  4649  	628, 68, -1000, 754, 7850, 7850, 7850, -1000, 1673, -1000,
  4650  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, 391, -1000, -1000,
  4651  	-1000, -1000, 32732, 30572, 269, 667, -1000, -1000, -1000, 48,
  4652  	-1000, -1000, 1351, 740, 13829, 1111, -1000, 1370, 595, -1000,
  4653  	-1000, -1000, -1000, -1000, 497, 14369, 14369, 14369, 14369, -1000,
  4654  	-1000, 1455, 1455, 1455, 1455, 14369, 1455, 14369, 1455, 1455,
  4655  	1455, 1455, 13829, 1455, 1455, 1455, -1000, 1455, 1455, 1455,
  4656  	1455, 1455, 1455, 1455, 539, 1455, 1455, 1455, 1455, 1455,
  4657  	-1000, -1000, -1000, -1000, 1455, 1455, 1455, 1455, 1455, -1000,
  4658  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 15989, -1000,
  4659  	11669, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  4660  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  4661  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  4662  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  4663  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  4664  	32732, -1000, 1455, 123, 1732, 1518, -1000, 1764, 1742, 288,
  4665  	-1000, 1603, 1299, 1260, 1116, 1518, 1418, 32732, -1000, 1459,
  4666  	-1000, -1000, -1000, 1586, 1112, 1145, -1000, -1000, -1000, -1000,
  4667  	856, 13829, -1000, -1000, 1773, -1000, 15449, 537, 807, 1772,
  4668  	30032, -1000, 362, 362, 1424, 9494, -56, -1000, -1000, -1000,
  4669  	664, 20311, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  4670  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, 1673, -1000, -1000,
  4671  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  4672  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  4673  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  4674  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  4675  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  4676  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  4677  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  4678  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  4679  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  4680  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  4681  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  4682  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  4683  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1379,
  4684  	32732, -1000, -1000, 3927, 1166, -1000, 1477, -1000, 1349, -1000,
  4685  	1462, 1499, 428, 1166, 420, 419, 415, -1000, -107, -1000,
  4686  	-1000, -1000, -1000, -1000, 659, 659, 283, 3120, 4481, -1000,
  4687  	-1000, -1000, 29492, 1473, 1166, -1000, 1472, -1000, 748, 433,
  4688  	518, 518, 1166, -1000, -1000, 32732, 1166, 746, 741, 32732,
  4689  	32732, -1000, 28952, -1000, 28412, 27872, 1031, 32732, 27332, 26792,
  4690  	26252, 25712, 25172, -1000, 1545, -1000, 1478, -1000, -1000, -1000,
  4691  	32732, 32732, 32732, 268, -1000, -1000, 32732, 1166, -1000, -1000,
  4692  	1016, 1013, 659, 659, 1002, 1144, 1140, 1139, 659, 659,
  4693  	1001, 1135, 22471, 217, 996, 971, 946, 1126, 1132, 179,
  4694  	1066, 1017, 936, 32732, 1471, 32732, -1000, 154, 592, 316,
  4695  	661, 1689, 1634, 1422, 390, 426, 1166, 353, 353, -1000,
  4696  	8398, -1000, -1000, 1129, 13829, -1000, 745, 744, 744, -1000,
  4697  	-1000, -1000, -1000, -1000, -1000, 754, 32732, 745, -1000, -1000,
  4698  	-1000, 744, 754, 32732, 754, 754, 754, 754, 744, 744,
  4699  	744, 754, 32732, 32732, 32732, 32732, 32732, 32732, 32732, 32732,
  4700  	32732, 7850, 7850, 7850, 628, 754, -304, -1000, 1121, -1000,
  4701  	1534, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 100,
  4702  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -100,
  4703  	1421, 24632, -1000, -306, -307, -313, -317, -1000, -1000, -1000,
  4704  	-319, -321, -1000, -1000, -1000, 13829, 13829, 13829, 13829, -1000,
  4705  	774, 14369, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 962,
  4706  	700, 14369, 14369, 14369, 14369, 14369, 14369, 14369, 14369, 14369,
  4707  	14369, 14369, 14369, 14369, 14369, 14369, 719, 4556, 4556, 595,
  4708  	595, 595, 595, -1000, 13289, 13829, 13829, 595, -1000, 1166,
  4709  	24092, 13289, 13289, 13829, 1661, 673, 740, 32732, -1000, 1116,
  4710  	-1000, -1000, -1000, 909, -1000, 32732, 32732, 38, 10588, 8398,
  4711  	13289, 13289, 13289, 13289, 13289, -1000, -1000, -1000, -1000, -1000,
  4712  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, 534, 1311, 1303,
  4713  	1346, -1000, 1419, -1000, -171, 17611, 13829, 1109, -1000, -1000,
  4714  	-1000, 1732, -1000, 1732, 1311, 1592, 1590, 13289, -1000, -1000,
  4715  	1592, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1228,
  4716  	-1000, 32732, 1418, 1712, 32732, 1584, 1107, 268, -1000, 13829,
  4717  	13829, 1416, -1000, 828, 32732, -1000, -1000, 23552, -1000, -1000,
  4718  	7302, -1000, 32732, 259, 32732, -1000, 21931, 23012, 8946, -56,
  4719  	-1000, 8946, 1402, -1000, -47, -29, 11128, 598, -1000, -1000,
  4720  	-1000, 3527, 14909, 1258, 1641, 45, -1000, -1000, -1000, 1462,
  4721  	-1000, 1462, 1462, 1462, 1462, 268, 268, 268, 268, -1000,
  4722  	-1000, -1000, -1000, -1000, 1470, 1469, -1000, 1462, 1462, 1462,
  4723  	1462, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  4724  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1468, 1468,
  4725  	1468, 1463, 1463, 318, -1000, 13829, 225, 32732, 1696, 918,
  4726  	154, 360, 1505, 1166, 1166, 1166, 360, -1000, 1213, 1189,
  4727  	-1000, 1415, -1000, -1000, 1751, -1000, -1000, 614, 773, 762,
  4728  	559, 32732, 130, 258, -1000, 324, -1000, 32732, 1166, 737,
  4729  	518, 1166, -1000, 1166, -1000, -1000, -1000, -1000, -1000, 1166,
  4730  	1413, -1000, 1376, 801, 759, 798, 756, 1413, -1000, -1000,
  4731  	-131, 1413, -1000, 1413, -1000, 1413, -1000, 1413, -1000, 1413,
  4732  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 651, 32732,
  4733  	130, 719, -1000, 380, -1000, -1000, 719, 719, -1000, -1000,
  4734  	-1000, -1000, 1106, 1100, -1000, -1000, -1000, -1000, -1000, -1000,
  4735  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  4736  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  4737  	-1000, -360, 32732, -1000, 140, 660, 244, 277, 199, 32732,
  4738  	117, 1725, 152, 215, 32732, 32732, 353, 1531, 32732, 1701,
  4739  	32732, -1000, -1000, -1000, -1000, 740, 32732, -1000, -1000, 754,
  4740  	754, -1000, -1000, 32732, 754, -1000, -1000, -1000, -1000, -1000,
  4741  	-1000, -1000, -1000, 754, -1000, -1000, -1000, -1000, -1000, -1000,
  4742  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  4743  	-1000, 32732, 32732, -1000, -1000, -1000, -1000, -1000, 73, -52,
  4744  	285, -1000, -1000, -1000, -1000, -1000, 1728, -1000, 740, 758,
  4745  	693, -1000, -1000, -1000, 929, -1000, -1000, -1000, -1000, -1000,
  4746  	-1000, -1000, 962, 14369, 14369, 14369, 1324, 395, 934, 1114,
  4747  	968, 778, 778, 697, 697, 602, 602, 602, 602, 602,
  4748  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1098, -1000,
  4749  	-1000, 1305, -1000, 834, 824, 1116, -1000, 1305, 1305, 876,
  4750  	13289, -1000, -1000, 689, -1000, 13829, 1116, -1000, -1000, 1116,
  4751  	1116, 1409, 1408, 1771, -1000, -1000, -1000, -1000, -1000, -1000,
  4752  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  4753  	-1000, -1000, -1000, -1000, -1000, 1116, 13289, 13289, 1403, 1455,
  4754  	528, -1000, 1305, 1116, 1116, 1305, 1305, 8398, 1116, -1000,
  4755  	32732, -1000, -289, -1000, -69, 512, 1455, -1000, 22471, 1116,
  4756  	1351, -1000, -1000, -1000, -1000, -1000, 19771, 1417, 1592, -1000,
  4757  	-1000, 1455, 1342, -1000, -1000, 268, 7, 735, 740, 740,
  4758  	13829, -1000, -1000, -1000, -1000, -1000, -1000, 500, 1763, 261,
  4759  	1455, -1000, 1398, 1524, -1000, -1000, -1000, 1711, 17071, 32732,
  4760  	1375, 1339, -1000, 495, -1000, 1402, -56, -60, -1000, -1000,
  4761  	-1000, -1000, 740, -1000, 1127, 263, 3386, -1000, 346, -1000,
  4762  	-1000, -1000, -1000, 552, 1709, 1639, 12, -1000, -1000, -1000,
  4763  	268, 268, -1000, -1000, -1000, -1000, -1000, -1000, 1090, 1090,
  4764  	-1000, -1000, -1000, -1000, -1000, 914, -1000, -1000, -1000, 903,
  4765  	-1000, -1000, 1044, 1506, 225, -1000, -1000, 659, 1088, 1645,
  4766  	32732, -1000, -1000, 1246, 140, 32732, 680, 1530, -1000, 1505,
  4767  	1505, 1505, 32732, -1000, -1000, -1000, -1000, 4290, 32732, 1317,
  4768  	-1000, 128, -1000, 1234, 32732, -1000, 1313, 1467, 1166, 1166,
  4769  	-1000, -1000, -1000, 32732, 1455, -1000, -1000, -1000, -1000, 396,
  4770  	1688, 1686, 130, 128, 598, 1166, -1000, -1000, -1000, -1000,
  4771  	-1000, -363, 1307, 402, 138, 216, 32732, 32732, 32732, 32732,
  4772  	32732, 451, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  4773  	211, 366, -1000, 32732, 32732, 463, -1000, -1000, -1000, 744,
  4774  	-1000, -1000, 744, -1000, -1000, -1000, -1000, -1000, 1669, 32732,
  4775  	-61, -332, -1000, -329, -1000, -1000, -1000, -1000, 840, 376,
  4776  	934, 14369, 14369, -1000, 13289, -121, 425, 425, 719, -1000,
  4777  	-1000, -1000, 13829, 13829, 1406, 671, -1000, 13829, 691, -1000,
  4778  	-1000, -1000, 13829, 13829, 13829, -1000, 1305, 1305, 13289, 8398,
  4779  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  4780  	409, 408, 400, 32732, -1000, -1000, 1733, -1000, 1601, 1596,
  4781  	1770, 1763, -1000, 21931, 1592, -1000, -1000, 32732, -281, -1000,
  4782  	1631, 1615, -1000, -1000, -1000, -1000, 6754, 1732, 13829, 1528,
  4783  	32732, 1455, -1000, 16530, 32732, 32732, 21931, 21931, 21931, 21931,
  4784  	21931, -1000, 1573, 1570, -1000, 1562, 1547, 1566, 32732, -1000,
  4785  	1301, 1116, 1742, 17071, 18691, 1373, 21931, -1000, -1000, 21931,
  4786  	32732, 6206, -1000, -1000, -65, -36, -1000, -1000, -1000, -1000,
  4787  	1750, 3527, -1000, -1000, -1000, -1000, 788, 4789, 1786, -1000,
  4788  	1087, -1000, 1012, -1000, 720, 712, -1000, 32732, 1466, -1000,
  4789  	-1000, -1000, -1000, -1000, 1298, -1000, 1296, 1395, 1294, 112,
  4790  	-1000, 1497, 1665, 659, 659, -1000, 875, -1000, 1166, -1000,
  4791  	-1000, 384, -1000, 1700, 32732, 1526, 1525, 1523, -1000, 1749,
  4792  	1367, 32732, -1000, -1000, 32732, -1000, 1595, 225, 32732, -1000,
  4793  	-1000, -1000, 258, 32732, -1000, 4942, 128, -1000, -1000, -1000,
  4794  	-1000, -1000, -1000, 32732, 141, -1000, 1464, 939, -1000, 1501,
  4795  	-1000, -1000, -1000, -1000, 127, 242, -1000, 32732, 446, 1506,
  4796  	32732, -1000, -1000, -1000, 754, 754, -1000, -1000, 1660, -1000,
  4797  	1166, 14369, 14369, -1000, 595, -1000, 1455, 1116, 1462, 1462,
  4798  	-1000, 1462, 1463, -1000, 1462, 81, 1462, 74, 1116, 1116,
  4799  	749, 880, -116, -1000, 740, 13829, 1040, 984, 819, -1000,
  4800  	-1000, 1116, -1000, 1455, 1455, 1455, 1288, 32732, -1000, -1000,
  4801  	-1000, -1000, 1763, 1761, 1381, -1000, -1000, 7, 300, -1000,
  4802  	1617, 1615, -1000, 1747, 1626, 1746, -1000, -1000, -1000, 740,
  4803  	-1000, 1676, 1404, -1000, 658, 1285, -1000, -1000, 12749, 1291,
  4804  	1594, 492, 1288, 1397, 1524, 1507, 1522, 1498, -1000, -1000,
  4805  	-1000, -1000, 1565, -1000, 1551, -1000, -1000, 1459, -1000, -1000,
  4806  	1303, 259, 21931, 1315, 1315, -1000, 489, -1000, -1000, -1000,
  4807  	-1000, -374, -1000, -1000, 13829, -1000, -1000, -1000, -1000, -1000,
  4808  	-1000, 981, 981, 160, -1000, -1000, -1000, -1000, -1000, 1461,
  4809  	13829, 268, 1085, 268, 870, -1000, 867, -1000, -1000, -224,
  4810  	-1000, -1000, 1454, 1541, -1000, -1000, 32732, -1000, -1000, 32732,
  4811  	32732, 32732, 32732, -1000, -1000, 252, -1000, 1283, 1275, -1000,
  4812  	-151, -1000, 13829, -1000, 1459, -1000, -1000, -1000, 1212, -1000,
  4813  	-133, 32732, 32732, 32732, 32732, -1000, -1000, -1000, -1000, -1000,
  4814  	-1000, -1000, -1000, -1000, 595, 14369, -1000, -1000, 328, -1000,
  4815  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, 13829, -1000, 13829,
  4816  	-1000, 1732, 1084, 740, 13829, 13829, -1000, -1000, 19231, 21391,
  4817  	21391, 18691, -1000, 1761, 1759, 1745, 1616, 1621, 1621, 1617,
  4818  	-1000, 1744, 1740, -1000, 1082, 1739, 1075, 694, -1000, 32732,
  4819  	13829, 1455, -1000, 291, 32732, 1455, 32732, -1000, 1757, -1000,
  4820  	-1000, 13829, 1460, -1000, 13829, -1000, -1000, -1000, -1000, -1000,
  4821  	1763, 1315, -1000, -1000, 600, 52, 265, -1000, -1000, -1000,
  4822  	819, -1000, -1000, -1000, 32732, 969, -1000, -1000, -1000, 1203,
  4823  	1119, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1459,
  4824  	-1000, -1000, -1000, 1367, 248, 303, -1000, 258, -1000, -184,
  4825  	-190, 819, 1706, -1000, -1000, 8398, -1000, -1000, 1458, 1503,
  4826  	-1000, 213, -1000, -1000, 819, 819, 1116, -1000, 819, 819,
  4827  	1257, -1000, -1000, -1000, 1257, 1257, 512, 1759, -1000, 13829,
  4828  	13829, 1611, 869, -1000, -1000, -1000, -1000, 1064, 1062, -1000,
  4829  	1054, -1000, 1785, -1000, 740, -1000, 1455, -1000, 460, 1285,
  4830  	-1000, 1732, 740, 32732, 740, 1757, -1000, 1457, 1483, -366,
  4831  	13829, 1456, -1000, 1255, -1000, -1000, -1000, 1705, 1455, -1000,
  4832  	-1000, -1000, -1000, -1000, 288, 1362, -1000, 654, 32732, 32732,
  4833  	1116, 222, -140, -1000, -1000, -1000, -1000, -1000, 20851, -1000,
  4834  	-1000, -1000, -1000, -1000, 740, 1351, -1000, 843, -1000, -1000,
  4835  	-1000, -1000, -1000, 32732, 1285, 32732, -1000, 1253, 1732, 13829,
  4836  	1453, 649, -373, 866, 942, 32732, 1519, 670, 288, 12209,
  4837  	-132, 8398, 5658, 1251, -1000, -1000, 1583, -126, -147, -1000,
  4838  	-1000, -1000, -1000, 1271, -1000, -1000, -1000, 889, 32732, 844,
  4839  	1445, 1735, -1000, -1000, 1222, 1512, -1000, 1767, -1000, -1000,
  4840  	-1000, 786, 879, -1000, -1000, -1000, -132, 819, 1116, -1000,
  4841  	-40, -1000, -1000, -1000, -1000, -1000, 1501, -1000, 1578, -1000,
  4842  	-366, 1198, -1000, -1000, 258, -371, -1000, -1000, 1780, 507,
  4843  	507, -1000, -1000, -1000, -1000, -1000, 295, -1000, -1000, -133,
  4844  	-134, -373, -366, 1184, 50, -1000, -1000, -1000, 282, 877,
  4845  	-1000, 147, -1000, -141, 1445, -373, -1000, 1446, 1483, -1000,
  4846  	-1000, -1000, -1000, -148, -1000, 1445, 13829, 1444, -1000, -1000,
  4847  	812, 32732, -379, 1156, -1000, 822, -379, -1000, -1000,
  4848  }
  4849  
  4850  var yyPgo = [...]int{
  4851  	0, 9, 2088, 6, 1, 4, 2085, 17, 83, 156,
  4852  	13, 152, 84, 2084, 2082, 2081, 2080, 189, 188, 187,
  4853  	2079, 2077, 2076, 2075, 2074, 2073, 2072, 2071, 2070, 2069,
  4854  	185, 139, 149, 2068, 2067, 2065, 93, 147, 72, 68,
  4855  	165, 2064, 2061, 50, 2060, 2059, 2057, 179, 150, 726,
  4856  	2054, 178, 92, 2051, 2042, 2039, 2034, 2033, 2032, 2031,
  4857  	2029, 2027, 2026, 2025, 2023, 2020, 2019, 281, 2015, 2013,
  4858  	10, 2006, 58, 2005, 2004, 2003, 2001, 2000, 5, 1999,
  4859  	1996, 1994, 1992, 126, 1989, 1988, 1987, 163, 1985, 1982,
  4860  	327, 88, 98, 1980, 1979, 85, 153, 1977, 94, 131,
  4861  	1976, 1975, 204, 1974, 66, 65, 1973, 46, 63, 60,
  4862  	55, 1971, 140, 1967, 1965, 70, 71, 1961, 82, 67,
  4863  	1960, 79, 111, 1956, 43, 1955, 1953, 116, 1948, 1946,
  4864  	1945, 73, 1943, 1940, 2870, 1934, 78, 117, 28, 33,
  4865  	1933, 1932, 1931, 1930, 1928, 47, 1927, 1926, 1925, 123,
  4866  	30, 1924, 25, 21, 31, 120, 1923, 39, 57, 1921,
  4867  	122, 1918, 1916, 36, 24, 37, 1915, 34, 115, 136,
  4868  	19, 77, 125, 1914, 1912, 40, 49, 1911, 1910, 1909,
  4869  	1907, 1906, 1905, 44, 1904, 35, 1902, 184, 1900, 2,
  4870  	29, 38, 41, 128, 45, 23, 1899, 162, 1898, 32,
  4871  	161, 100, 144, 1896, 1894, 1893, 148, 229, 1892, 1889,
  4872  	64, 146, 124, 132, 1888, 235, 1887, 1876, 80, 1125,
  4873  	1993, 15, 134, 1872, 1868, 2571, 121, 113, 42, 1866,
  4874  	159, 1864, 1863, 1856, 164, 169, 97, 955, 90, 1852,
  4875  	1851, 1850, 1849, 1845, 1844, 1843, 114, 167, 56, 86,
  4876  	137, 52, 1842, 1841, 1840, 99, 75, 1839, 143, 133,
  4877  	110, 155, 1836, 151, 127, 104, 1835, 87, 1833, 1830,
  4878  	1828, 1827, 74, 1823, 1821, 1820, 1819, 142, 129, 96,
  4879  	76, 1818, 62, 102, 135, 130, 11, 3, 26, 154,
  4880  	20, 1817, 8, 0, 1816, 12, 145, 226, 141, 1812,
  4881  	1809, 7, 1808, 14, 1807, 1806, 119, 1804, 1802, 1801,
  4882  	22, 27, 16, 138, 1800, 1799, 3438, 1610, 101, 1798,
  4883  	166,
  4884  }
  4885  
  4886  //line sql.y:6028
  4887  type yySymType struct {
  4888  	union             interface{}
  4889  	empty             struct{}
  4890  	LengthScaleOption LengthScaleOption
  4891  	tableName         TableName
  4892  	tableIdent        TableIdent
  4893  	str               string
  4894  	strs              []string
  4895  	vindexParam       VindexParam
  4896  	colIdent          ColIdent
  4897  	joinCondition     *JoinCondition
  4898  	collateAndCharset CollateAndCharset
  4899  	columnType        ColumnType
  4900  	yys               int
  4901  }
  4902  
  4903  func (st *yySymType) ReferenceActionUnion() ReferenceAction {
  4904  	v, _ := st.union.(ReferenceAction)
  4905  	return v
  4906  }
  4907  
  4908  func (st *yySymType) aliasedTableNameUnion() *AliasedTableExpr {
  4909  	v, _ := st.union.(*AliasedTableExpr)
  4910  	return v
  4911  }
  4912  
  4913  func (st *yySymType) alterDatabaseUnion() *AlterDatabase {
  4914  	v, _ := st.union.(*AlterDatabase)
  4915  	return v
  4916  }
  4917  
  4918  func (st *yySymType) alterMigrationUnion() *AlterMigration {
  4919  	v, _ := st.union.(*AlterMigration)
  4920  	return v
  4921  }
  4922  
  4923  func (st *yySymType) alterOptionUnion() AlterOption {
  4924  	v, _ := st.union.(AlterOption)
  4925  	return v
  4926  }
  4927  
  4928  func (st *yySymType) alterOptionsUnion() []AlterOption {
  4929  	v, _ := st.union.([]AlterOption)
  4930  	return v
  4931  }
  4932  
  4933  func (st *yySymType) alterTableUnion() *AlterTable {
  4934  	v, _ := st.union.(*AlterTable)
  4935  	return v
  4936  }
  4937  
  4938  func (st *yySymType) boolValUnion() BoolVal {
  4939  	v, _ := st.union.(BoolVal)
  4940  	return v
  4941  }
  4942  
  4943  func (st *yySymType) booleanUnion() bool {
  4944  	v, _ := st.union.(bool)
  4945  	return v
  4946  }
  4947  
  4948  func (st *yySymType) characteristicUnion() Characteristic {
  4949  	v, _ := st.union.(Characteristic)
  4950  	return v
  4951  }
  4952  
  4953  func (st *yySymType) characteristicsUnion() []Characteristic {
  4954  	v, _ := st.union.([]Characteristic)
  4955  	return v
  4956  }
  4957  
  4958  func (st *yySymType) colKeyOptUnion() ColumnKeyOption {
  4959  	v, _ := st.union.(ColumnKeyOption)
  4960  	return v
  4961  }
  4962  
  4963  func (st *yySymType) colNameUnion() *ColName {
  4964  	v, _ := st.union.(*ColName)
  4965  	return v
  4966  }
  4967  
  4968  func (st *yySymType) colTupleUnion() ColTuple {
  4969  	v, _ := st.union.(ColTuple)
  4970  	return v
  4971  }
  4972  
  4973  func (st *yySymType) collateAndCharsetsUnion() []CollateAndCharset {
  4974  	v, _ := st.union.([]CollateAndCharset)
  4975  	return v
  4976  }
  4977  
  4978  func (st *yySymType) columnDefinitionUnion() *ColumnDefinition {
  4979  	v, _ := st.union.(*ColumnDefinition)
  4980  	return v
  4981  }
  4982  
  4983  func (st *yySymType) columnDefinitionsUnion() []*ColumnDefinition {
  4984  	v, _ := st.union.([]*ColumnDefinition)
  4985  	return v
  4986  }
  4987  
  4988  func (st *yySymType) columnStorageUnion() ColumnStorage {
  4989  	v, _ := st.union.(ColumnStorage)
  4990  	return v
  4991  }
  4992  
  4993  func (st *yySymType) columnTypeOptionsUnion() *ColumnTypeOptions {
  4994  	v, _ := st.union.(*ColumnTypeOptions)
  4995  	return v
  4996  }
  4997  
  4998  func (st *yySymType) columnsUnion() Columns {
  4999  	v, _ := st.union.(Columns)
  5000  	return v
  5001  }
  5002  
  5003  func (st *yySymType) comparisonExprOperatorUnion() ComparisonExprOperator {
  5004  	v, _ := st.union.(ComparisonExprOperator)
  5005  	return v
  5006  }
  5007  
  5008  func (st *yySymType) constraintDefinitionUnion() *ConstraintDefinition {
  5009  	v, _ := st.union.(*ConstraintDefinition)
  5010  	return v
  5011  }
  5012  
  5013  func (st *yySymType) constraintInfoUnion() ConstraintInfo {
  5014  	v, _ := st.union.(ConstraintInfo)
  5015  	return v
  5016  }
  5017  
  5018  func (st *yySymType) convertTypeUnion() *ConvertType {
  5019  	v, _ := st.union.(*ConvertType)
  5020  	return v
  5021  }
  5022  
  5023  func (st *yySymType) createDatabaseUnion() *CreateDatabase {
  5024  	v, _ := st.union.(*CreateDatabase)
  5025  	return v
  5026  }
  5027  
  5028  func (st *yySymType) createTableUnion() *CreateTable {
  5029  	v, _ := st.union.(*CreateTable)
  5030  	return v
  5031  }
  5032  
  5033  func (st *yySymType) cteUnion() *CommonTableExpr {
  5034  	v, _ := st.union.(*CommonTableExpr)
  5035  	return v
  5036  }
  5037  
  5038  func (st *yySymType) ctesUnion() []*CommonTableExpr {
  5039  	v, _ := st.union.([]*CommonTableExpr)
  5040  	return v
  5041  }
  5042  
  5043  func (st *yySymType) derivedTableUnion() *DerivedTable {
  5044  	v, _ := st.union.(*DerivedTable)
  5045  	return v
  5046  }
  5047  
  5048  func (st *yySymType) explainTypeUnion() ExplainType {
  5049  	v, _ := st.union.(ExplainType)
  5050  	return v
  5051  }
  5052  
  5053  func (st *yySymType) exprUnion() Expr {
  5054  	v, _ := st.union.(Expr)
  5055  	return v
  5056  }
  5057  
  5058  func (st *yySymType) exprOrColumnsUnion() *ExprOrColumns {
  5059  	v, _ := st.union.(*ExprOrColumns)
  5060  	return v
  5061  }
  5062  
  5063  func (st *yySymType) exprsUnion() Exprs {
  5064  	v, _ := st.union.(Exprs)
  5065  	return v
  5066  }
  5067  
  5068  func (st *yySymType) ignoreUnion() Ignore {
  5069  	v, _ := st.union.(Ignore)
  5070  	return v
  5071  }
  5072  
  5073  func (st *yySymType) indexColumnUnion() *IndexColumn {
  5074  	v, _ := st.union.(*IndexColumn)
  5075  	return v
  5076  }
  5077  
  5078  func (st *yySymType) indexColumnsUnion() []*IndexColumn {
  5079  	v, _ := st.union.([]*IndexColumn)
  5080  	return v
  5081  }
  5082  
  5083  func (st *yySymType) indexDefinitionUnion() *IndexDefinition {
  5084  	v, _ := st.union.(*IndexDefinition)
  5085  	return v
  5086  }
  5087  
  5088  func (st *yySymType) indexHintsUnion() *IndexHints {
  5089  	v, _ := st.union.(*IndexHints)
  5090  	return v
  5091  }
  5092  
  5093  func (st *yySymType) indexInfoUnion() *IndexInfo {
  5094  	v, _ := st.union.(*IndexInfo)
  5095  	return v
  5096  }
  5097  
  5098  func (st *yySymType) indexOptionUnion() *IndexOption {
  5099  	v, _ := st.union.(*IndexOption)
  5100  	return v
  5101  }
  5102  
  5103  func (st *yySymType) indexOptionsUnion() []*IndexOption {
  5104  	v, _ := st.union.([]*IndexOption)
  5105  	return v
  5106  }
  5107  
  5108  func (st *yySymType) insUnion() *Insert {
  5109  	v, _ := st.union.(*Insert)
  5110  	return v
  5111  }
  5112  
  5113  func (st *yySymType) insertActionUnion() InsertAction {
  5114  	v, _ := st.union.(InsertAction)
  5115  	return v
  5116  }
  5117  
  5118  func (st *yySymType) intervalTypeUnion() IntervalTypes {
  5119  	v, _ := st.union.(IntervalTypes)
  5120  	return v
  5121  }
  5122  
  5123  func (st *yySymType) isExprOperatorUnion() IsExprOperator {
  5124  	v, _ := st.union.(IsExprOperator)
  5125  	return v
  5126  }
  5127  
  5128  func (st *yySymType) isolationLevelUnion() IsolationLevel {
  5129  	v, _ := st.union.(IsolationLevel)
  5130  	return v
  5131  }
  5132  
  5133  func (st *yySymType) joinTypeUnion() JoinType {
  5134  	v, _ := st.union.(JoinType)
  5135  	return v
  5136  }
  5137  
  5138  func (st *yySymType) limitUnion() *Limit {
  5139  	v, _ := st.union.(*Limit)
  5140  	return v
  5141  }
  5142  
  5143  func (st *yySymType) literalUnion() *Literal {
  5144  	v, _ := st.union.(*Literal)
  5145  	return v
  5146  }
  5147  
  5148  func (st *yySymType) lockUnion() Lock {
  5149  	v, _ := st.union.(Lock)
  5150  	return v
  5151  }
  5152  
  5153  func (st *yySymType) lockTypeUnion() LockType {
  5154  	v, _ := st.union.(LockType)
  5155  	return v
  5156  }
  5157  
  5158  func (st *yySymType) matchExprOptionUnion() MatchExprOption {
  5159  	v, _ := st.union.(MatchExprOption)
  5160  	return v
  5161  }
  5162  
  5163  func (st *yySymType) optLikeUnion() *OptLike {
  5164  	v, _ := st.union.(*OptLike)
  5165  	return v
  5166  }
  5167  
  5168  func (st *yySymType) optValUnion() Expr {
  5169  	v, _ := st.union.(Expr)
  5170  	return v
  5171  }
  5172  
  5173  func (st *yySymType) orderUnion() *Order {
  5174  	v, _ := st.union.(*Order)
  5175  	return v
  5176  }
  5177  
  5178  func (st *yySymType) orderByUnion() OrderBy {
  5179  	v, _ := st.union.(OrderBy)
  5180  	return v
  5181  }
  5182  
  5183  func (st *yySymType) orderDirectionUnion() OrderDirection {
  5184  	v, _ := st.union.(OrderDirection)
  5185  	return v
  5186  }
  5187  
  5188  func (st *yySymType) partDefUnion() *PartitionDefinition {
  5189  	v, _ := st.union.(*PartitionDefinition)
  5190  	return v
  5191  }
  5192  
  5193  func (st *yySymType) partDefsUnion() []*PartitionDefinition {
  5194  	v, _ := st.union.([]*PartitionDefinition)
  5195  	return v
  5196  }
  5197  
  5198  func (st *yySymType) partSpecUnion() *PartitionSpec {
  5199  	v, _ := st.union.(*PartitionSpec)
  5200  	return v
  5201  }
  5202  
  5203  func (st *yySymType) partSpecsUnion() []*PartitionSpec {
  5204  	v, _ := st.union.([]*PartitionSpec)
  5205  	return v
  5206  }
  5207  
  5208  func (st *yySymType) partitionOptionUnion() *PartitionOption {
  5209  	v, _ := st.union.(*PartitionOption)
  5210  	return v
  5211  }
  5212  
  5213  func (st *yySymType) partitionsUnion() Partitions {
  5214  	v, _ := st.union.(Partitions)
  5215  	return v
  5216  }
  5217  
  5218  func (st *yySymType) referenceDefinitionUnion() *ReferenceDefinition {
  5219  	v, _ := st.union.(*ReferenceDefinition)
  5220  	return v
  5221  }
  5222  
  5223  func (st *yySymType) renameTablePairsUnion() []*RenameTablePair {
  5224  	v, _ := st.union.([]*RenameTablePair)
  5225  	return v
  5226  }
  5227  
  5228  func (st *yySymType) revertMigrationUnion() *RevertMigration {
  5229  	v, _ := st.union.(*RevertMigration)
  5230  	return v
  5231  }
  5232  
  5233  func (st *yySymType) scopeUnion() Scope {
  5234  	v, _ := st.union.(Scope)
  5235  	return v
  5236  }
  5237  
  5238  func (st *yySymType) selStmtUnion() SelectStatement {
  5239  	v, _ := st.union.(SelectStatement)
  5240  	return v
  5241  }
  5242  
  5243  func (st *yySymType) selectExprUnion() SelectExpr {
  5244  	v, _ := st.union.(SelectExpr)
  5245  	return v
  5246  }
  5247  
  5248  func (st *yySymType) selectExprsUnion() SelectExprs {
  5249  	v, _ := st.union.(SelectExprs)
  5250  	return v
  5251  }
  5252  
  5253  func (st *yySymType) selectIntoUnion() *SelectInto {
  5254  	v, _ := st.union.(*SelectInto)
  5255  	return v
  5256  }
  5257  
  5258  func (st *yySymType) setExprUnion() *SetExpr {
  5259  	v, _ := st.union.(*SetExpr)
  5260  	return v
  5261  }
  5262  
  5263  func (st *yySymType) setExprsUnion() SetExprs {
  5264  	v, _ := st.union.(SetExprs)
  5265  	return v
  5266  }
  5267  
  5268  func (st *yySymType) showFilterUnion() *ShowFilter {
  5269  	v, _ := st.union.(*ShowFilter)
  5270  	return v
  5271  }
  5272  
  5273  func (st *yySymType) statementUnion() Statement {
  5274  	v, _ := st.union.(Statement)
  5275  	return v
  5276  }
  5277  
  5278  func (st *yySymType) subPartitionUnion() *SubPartition {
  5279  	v, _ := st.union.(*SubPartition)
  5280  	return v
  5281  }
  5282  
  5283  func (st *yySymType) subqueryUnion() *Subquery {
  5284  	v, _ := st.union.(*Subquery)
  5285  	return v
  5286  }
  5287  
  5288  func (st *yySymType) tableAndLockTypeUnion() *TableAndLockType {
  5289  	v, _ := st.union.(*TableAndLockType)
  5290  	return v
  5291  }
  5292  
  5293  func (st *yySymType) tableAndLockTypesUnion() TableAndLockTypes {
  5294  	v, _ := st.union.(TableAndLockTypes)
  5295  	return v
  5296  }
  5297  
  5298  func (st *yySymType) tableExprUnion() TableExpr {
  5299  	v, _ := st.union.(TableExpr)
  5300  	return v
  5301  }
  5302  
  5303  func (st *yySymType) tableExprsUnion() TableExprs {
  5304  	v, _ := st.union.(TableExprs)
  5305  	return v
  5306  }
  5307  
  5308  func (st *yySymType) tableNamesUnion() TableNames {
  5309  	v, _ := st.union.(TableNames)
  5310  	return v
  5311  }
  5312  
  5313  func (st *yySymType) tableOptionUnion() *TableOption {
  5314  	v, _ := st.union.(*TableOption)
  5315  	return v
  5316  }
  5317  
  5318  func (st *yySymType) tableOptionsUnion() TableOptions {
  5319  	v, _ := st.union.(TableOptions)
  5320  	return v
  5321  }
  5322  
  5323  func (st *yySymType) tableSpecUnion() *TableSpec {
  5324  	v, _ := st.union.(*TableSpec)
  5325  	return v
  5326  }
  5327  
  5328  func (st *yySymType) updateExprUnion() *UpdateExpr {
  5329  	v, _ := st.union.(*UpdateExpr)
  5330  	return v
  5331  }
  5332  
  5333  func (st *yySymType) updateExprsUnion() UpdateExprs {
  5334  	v, _ := st.union.(UpdateExprs)
  5335  	return v
  5336  }
  5337  
  5338  func (st *yySymType) valTupleUnion() ValTuple {
  5339  	v, _ := st.union.(ValTuple)
  5340  	return v
  5341  }
  5342  
  5343  func (st *yySymType) valuesUnion() Values {
  5344  	v, _ := st.union.(Values)
  5345  	return v
  5346  }
  5347  
  5348  func (st *yySymType) vindexParamsUnion() []VindexParam {
  5349  	v, _ := st.union.([]VindexParam)
  5350  	return v
  5351  }
  5352  
  5353  func (st *yySymType) whenUnion() *When {
  5354  	v, _ := st.union.(*When)
  5355  	return v
  5356  }
  5357  
  5358  func (st *yySymType) whensUnion() []*When {
  5359  	v, _ := st.union.([]*When)
  5360  	return v
  5361  }
  5362  
  5363  func (st *yySymType) withUnion() *With {
  5364  	v, _ := st.union.(*With)
  5365  	return v
  5366  }
  5367  
  5368  var yyR1 = [...]int{
  5369  	0, 314, 315, 315, 6, 6, 6, 6, 6, 6,
  5370  	6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
  5371  	6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
  5372  	6, 6, 6, 6, 6, 293, 293, 293, 296, 296,
  5373  	28, 62, 30, 30, 29, 29, 32, 32, 31, 7,
  5374  	7, 7, 8, 8, 8, 8, 8, 8, 8, 8,
  5375  	9, 9, 9, 9, 9, 10, 10, 10, 10, 12,
  5376  	12, 12, 12, 12, 15, 16, 11, 11, 17, 17,
  5377  	74, 74, 18, 19, 19, 19, 19, 318, 318, 129,
  5378  	129, 127, 127, 128, 128, 192, 192, 20, 21, 21,
  5379  	202, 202, 201, 201, 201, 203, 203, 203, 203, 237,
  5380  	237, 22, 22, 22, 22, 22, 88, 88, 295, 295,
  5381  	294, 292, 292, 291, 291, 290, 34, 35, 44, 44,
  5382  	44, 44, 45, 46, 297, 297, 268, 50, 50, 49,
  5383  	49, 49, 49, 51, 51, 48, 48, 47, 47, 270,
  5384  	270, 257, 257, 269, 269, 269, 269, 269, 269, 269,
  5385  	256, 256, 101, 101, 173, 173, 173, 173, 173, 173,
  5386  	173, 173, 173, 173, 173, 309, 309, 174, 174, 174,
  5387  	174, 174, 174, 106, 106, 115, 115, 115, 115, 115,
  5388  	104, 104, 105, 103, 103, 103, 109, 109, 109, 109,
  5389  	109, 109, 109, 109, 109, 109, 109, 109, 313, 313,
  5390  	313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
  5391  	313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
  5392  	313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
  5393  	313, 313, 313, 313, 313, 313, 313, 313, 313, 114,
  5394  	114, 110, 110, 110, 111, 111, 111, 112, 112, 112,
  5395  	112, 310, 310, 310, 310, 239, 239, 239, 239, 242,
  5396  	242, 240, 240, 240, 240, 240, 240, 240, 240, 240,
  5397  	241, 241, 241, 241, 241, 243, 243, 243, 243, 243,
  5398  	244, 244, 244, 244, 244, 244, 244, 244, 244, 244,
  5399  	244, 244, 244, 244, 244, 245, 245, 245, 245, 245,
  5400  	245, 245, 245, 255, 255, 246, 246, 250, 250, 251,
  5401  	251, 251, 252, 252, 252, 253, 253, 248, 248, 248,
  5402  	248, 249, 249, 249, 258, 282, 282, 281, 281, 279,
  5403  	279, 279, 279, 267, 267, 276, 276, 276, 276, 276,
  5404  	266, 266, 262, 262, 262, 263, 263, 264, 264, 261,
  5405  	261, 265, 265, 278, 278, 277, 259, 259, 260, 260,
  5406  	284, 311, 311, 311, 311, 312, 312, 285, 302, 303,
  5407  	301, 301, 301, 301, 301, 72, 72, 72, 214, 214,
  5408  	214, 274, 274, 273, 273, 273, 275, 275, 272, 272,
  5409  	272, 272, 272, 272, 272, 272, 272, 272, 272, 272,
  5410  	272, 272, 272, 272, 272, 272, 272, 272, 272, 272,
  5411  	272, 272, 272, 272, 272, 272, 209, 209, 209, 300,
  5412  	300, 300, 300, 300, 300, 299, 299, 299, 271, 271,
  5413  	271, 298, 298, 52, 52, 158, 158, 41, 41, 41,
  5414  	41, 41, 41, 40, 40, 40, 36, 36, 36, 36,
  5415  	36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
  5416  	36, 36, 36, 36, 36, 36, 36, 36, 36, 42,
  5417  	42, 37, 37, 37, 37, 37, 37, 37, 37, 37,
  5418  	23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  5419  	23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  5420  	76, 76, 76, 76, 78, 78, 78, 287, 287, 1,
  5421  	1, 5, 5, 2, 2, 77, 77, 3, 3, 4,
  5422  	4, 289, 289, 289, 289, 289, 289, 289, 289, 289,
  5423  	289, 289, 289, 289, 289, 289, 289, 289, 289, 289,
  5424  	289, 289, 289, 254, 254, 254, 286, 286, 288, 288,
  5425  	24, 33, 33, 25, 25, 25, 25, 26, 26, 53,
  5426  	54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
  5427  	54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
  5428  	54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
  5429  	54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
  5430  	54, 54, 54, 54, 54, 54, 54, 54, 304, 304,
  5431  	208, 208, 216, 216, 207, 207, 230, 230, 230, 210,
  5432  	210, 210, 211, 211, 308, 308, 308, 55, 55, 57,
  5433  	57, 58, 59, 59, 232, 232, 233, 233, 60, 61,
  5434  	73, 73, 73, 73, 73, 73, 75, 75, 75, 14,
  5435  	14, 14, 14, 69, 69, 69, 13, 13, 56, 56,
  5436  	63, 305, 305, 306, 307, 307, 307, 307, 64, 66,
  5437  	27, 27, 27, 27, 27, 27, 94, 94, 83, 83,
  5438  	83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
  5439  	89, 89, 89, 84, 84, 319, 67, 68, 68, 87,
  5440  	87, 87, 81, 81, 81, 86, 86, 86, 91, 91,
  5441  	93, 93, 93, 93, 93, 95, 95, 95, 95, 95,
  5442  	95, 95, 90, 90, 92, 92, 92, 92, 223, 223,
  5443  	223, 222, 222, 118, 118, 120, 119, 119, 121, 121,
  5444  	122, 122, 122, 156, 137, 137, 190, 190, 189, 189,
  5445  	191, 191, 191, 191, 193, 193, 123, 123, 123, 123,
  5446  	124, 124, 125, 125, 126, 126, 231, 231, 228, 228,
  5447  	228, 227, 227, 130, 130, 130, 132, 131, 131, 131,
  5448  	131, 133, 133, 135, 135, 134, 134, 136, 138, 138,
  5449  	138, 138, 138, 139, 139, 102, 102, 102, 102, 102,
  5450  	102, 113, 113, 113, 113, 116, 116, 116, 116, 116,
  5451  	116, 116, 116, 116, 116, 116, 107, 107, 107, 107,
  5452  	107, 107, 107, 107, 107, 107, 107, 107, 107, 108,
  5453  	108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
  5454  	108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
  5455  	108, 108, 205, 205, 140, 140, 148, 148, 148, 148,
  5456  	141, 141, 141, 141, 141, 141, 141, 149, 149, 149,
  5457  	155, 150, 150, 146, 146, 146, 146, 144, 144, 144,
  5458  	144, 144, 144, 144, 144, 144, 144, 145, 145, 145,
  5459  	145, 145, 145, 145, 145, 80, 80, 80, 80, 80,
  5460  	80, 80, 80, 80, 80, 80, 80, 79, 79, 79,
  5461  	79, 79, 79, 79, 79, 79, 320, 320, 247, 247,
  5462  	247, 247, 147, 147, 147, 147, 147, 85, 85, 85,
  5463  	85, 85, 236, 236, 236, 238, 238, 238, 238, 238,
  5464  	238, 238, 238, 238, 238, 238, 238, 238, 161, 161,
  5465  	82, 82, 159, 159, 160, 162, 162, 157, 157, 157,
  5466  	143, 143, 143, 163, 163, 164, 164, 165, 165, 167,
  5467  	166, 166, 168, 169, 169, 169, 170, 170, 171, 171,
  5468  	171, 43, 43, 43, 43, 43, 38, 38, 38, 38,
  5469  	39, 39, 39, 96, 96, 96, 96, 98, 98, 97,
  5470  	97, 70, 70, 71, 71, 71, 99, 99, 100, 100,
  5471  	100, 100, 187, 187, 172, 172, 172, 179, 179, 179,
  5472  	175, 175, 177, 177, 177, 178, 178, 178, 176, 184,
  5473  	184, 186, 186, 185, 185, 181, 181, 182, 182, 183,
  5474  	183, 183, 180, 180, 142, 142, 142, 142, 142, 188,
  5475  	188, 188, 188, 194, 194, 152, 152, 154, 154, 153,
  5476  	117, 195, 195, 199, 196, 196, 200, 200, 200, 200,
  5477  	200, 197, 197, 198, 198, 224, 224, 224, 204, 204,
  5478  	215, 215, 212, 212, 213, 213, 206, 206, 217, 217,
  5479  	217, 65, 151, 151, 283, 283, 280, 220, 220, 221,
  5480  	221, 225, 225, 229, 229, 226, 226, 218, 218, 218,
  5481  	218, 218, 218, 218, 218, 218, 218, 218, 218, 218,
  5482  	218, 218, 218, 218, 218, 218, 218, 218, 218, 218,
  5483  	218, 218, 218, 218, 218, 218, 218, 218, 218, 218,
  5484  	218, 218, 218, 218, 218, 218, 218, 218, 218, 218,
  5485  	218, 218, 218, 218, 218, 218, 218, 218, 218, 218,
  5486  	218, 218, 218, 218, 218, 218, 218, 218, 218, 218,
  5487  	218, 218, 218, 218, 218, 218, 218, 218, 218, 218,
  5488  	218, 218, 218, 218, 218, 218, 218, 218, 218, 218,
  5489  	218, 218, 218, 218, 218, 218, 218, 218, 218, 218,
  5490  	218, 218, 218, 218, 218, 218, 218, 218, 218, 218,
  5491  	218, 218, 218, 218, 218, 218, 218, 218, 218, 218,
  5492  	218, 218, 218, 218, 218, 218, 218, 218, 218, 218,
  5493  	218, 218, 218, 218, 218, 218, 218, 218, 218, 218,
  5494  	218, 218, 218, 218, 218, 218, 218, 218, 218, 219,
  5495  	219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
  5496  	219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
  5497  	219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
  5498  	219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
  5499  	219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
  5500  	219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
  5501  	219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
  5502  	219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
  5503  	219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
  5504  	219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
  5505  	219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
  5506  	219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
  5507  	219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
  5508  	219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
  5509  	219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
  5510  	219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
  5511  	219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
  5512  	219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
  5513  	219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
  5514  	219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
  5515  	219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
  5516  	219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
  5517  	219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
  5518  	219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
  5519  	219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
  5520  	219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
  5521  	219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
  5522  	219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
  5523  	219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
  5524  	219, 219, 219, 219, 219, 219, 219, 219, 219, 316,
  5525  	317, 234, 235, 235, 235,
  5526  }
  5527  
  5528  var yyR2 = [...]int{
  5529  	0, 2, 0, 1, 1, 1, 1, 1, 1, 1,
  5530  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  5531  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  5532  	1, 1, 1, 1, 0, 1, 1, 1, 0, 1,
  5533  	2, 3, 2, 3, 0, 1, 3, 1, 4, 3,
  5534  	3, 4, 3, 2, 3, 4, 3, 4, 2, 7,
  5535  	1, 3, 3, 3, 3, 1, 2, 1, 1, 3,
  5536  	2, 3, 3, 2, 5, 7, 9, 8, 7, 8,
  5537  	1, 1, 10, 11, 9, 8, 8, 1, 1, 1,
  5538  	3, 1, 3, 1, 3, 0, 4, 3, 5, 4,
  5539  	1, 3, 3, 2, 2, 2, 2, 2, 1, 1,
  5540  	1, 2, 2, 6, 12, 2, 0, 2, 0, 2,
  5541  	1, 0, 2, 1, 3, 3, 6, 4, 7, 8,
  5542  	8, 8, 6, 3, 1, 1, 5, 0, 1, 1,
  5543  	1, 2, 2, 0, 1, 4, 4, 4, 4, 2,
  5544  	4, 1, 3, 1, 1, 3, 4, 3, 3, 3,
  5545  	4, 9, 0, 2, 0, 2, 3, 5, 3, 4,
  5546  	2, 3, 2, 3, 3, 1, 1, 0, 2, 2,
  5547  	3, 3, 2, 1, 1, 2, 2, 2, 2, 2,
  5548  	1, 1, 1, 1, 2, 2, 1, 1, 1, 1,
  5549  	1, 1, 1, 2, 2, 2, 2, 2, 1, 1,
  5550  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  5551  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  5552  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  5553  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  5554  	1, 1, 1, 1, 1, 1, 2, 1, 1, 2,
  5555  	1, 2, 1, 2, 1, 3, 1, 1, 1, 2,
  5556  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  5557  	2, 2, 2, 2, 2, 1, 2, 2, 2, 2,
  5558  	3, 3, 2, 2, 2, 2, 2, 2, 1, 1,
  5559  	1, 1, 1, 5, 5, 1, 1, 1, 1, 1,
  5560  	1, 1, 1, 1, 3, 0, 3, 0, 5, 0,
  5561  	3, 5, 0, 1, 1, 0, 1, 0, 2, 2,
  5562  	2, 0, 2, 2, 5, 0, 1, 1, 2, 1,
  5563  	3, 2, 3, 0, 1, 4, 3, 3, 4, 2,
  5564  	0, 2, 1, 1, 1, 1, 1, 0, 1, 1,
  5565  	1, 0, 1, 1, 3, 3, 3, 1, 3, 1,
  5566  	7, 5, 6, 6, 7, 0, 1, 5, 3, 3,
  5567  	1, 1, 2, 2, 2, 0, 1, 1, 0, 1,
  5568  	2, 0, 1, 1, 3, 2, 1, 2, 3, 3,
  5569  	4, 4, 3, 3, 3, 3, 4, 4, 3, 3,
  5570  	3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
  5571  	3, 3, 3, 3, 4, 5, 0, 2, 2, 1,
  5572  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  5573  	1, 0, 1, 0, 1, 0, 2, 0, 1, 5,
  5574  	1, 3, 7, 1, 3, 3, 1, 2, 2, 2,
  5575  	5, 5, 5, 6, 8, 6, 5, 5, 2, 2,
  5576  	2, 2, 3, 3, 3, 4, 1, 3, 5, 1,
  5577  	3, 3, 3, 3, 3, 3, 3, 3, 2, 2,
  5578  	2, 4, 4, 2, 11, 3, 6, 8, 6, 6,
  5579  	6, 13, 8, 6, 10, 5, 5, 5, 5, 5,
  5580  	0, 10, 11, 7, 0, 8, 9, 0, 3, 0,
  5581  	1, 0, 3, 1, 1, 3, 4, 0, 2, 0,
  5582  	2, 5, 3, 7, 4, 4, 4, 4, 3, 3,
  5583  	3, 7, 3, 3, 3, 3, 3, 3, 3, 3,
  5584  	3, 3, 2, 0, 2, 2, 1, 3, 8, 8,
  5585  	3, 3, 5, 7, 7, 6, 5, 3, 2, 3,
  5586  	3, 3, 7, 3, 3, 3, 3, 4, 7, 5,
  5587  	2, 4, 4, 4, 4, 4, 5, 5, 4, 4,
  5588  	4, 4, 4, 4, 4, 4, 4, 4, 4, 2,
  5589  	4, 2, 4, 5, 4, 4, 4, 4, 4, 3,
  5590  	3, 3, 5, 2, 3, 3, 3, 3, 1, 1,
  5591  	0, 1, 0, 1, 1, 1, 0, 2, 2, 0,
  5592  	2, 2, 0, 2, 0, 1, 1, 2, 1, 1,
  5593  	2, 1, 1, 5, 0, 1, 0, 1, 2, 3,
  5594  	0, 3, 3, 3, 3, 1, 1, 1, 1, 1,
  5595  	1, 1, 1, 0, 1, 1, 3, 3, 2, 2,
  5596  	3, 1, 3, 2, 1, 2, 1, 2, 2, 4,
  5597  	3, 3, 6, 4, 7, 6, 1, 3, 2, 2,
  5598  	2, 2, 1, 1, 1, 3, 2, 1, 1, 1,
  5599  	0, 1, 1, 0, 3, 0, 2, 0, 2, 1,
  5600  	2, 2, 0, 1, 1, 0, 1, 1, 0, 1,
  5601  	0, 1, 2, 3, 4, 1, 1, 1, 1, 1,
  5602  	1, 1, 1, 3, 1, 2, 3, 5, 0, 1,
  5603  	2, 1, 1, 0, 1, 2, 1, 3, 1, 1,
  5604  	1, 4, 3, 3, 3, 7, 0, 3, 1, 3,
  5605  	1, 1, 3, 3, 1, 3, 4, 4, 4, 3,
  5606  	2, 4, 0, 1, 0, 2, 0, 1, 0, 1,
  5607  	2, 1, 1, 1, 2, 2, 1, 2, 3, 2,
  5608  	3, 2, 2, 2, 1, 1, 3, 3, 0, 5,
  5609  	4, 5, 5, 0, 2, 3, 3, 3, 2, 3,
  5610  	1, 3, 4, 3, 1, 3, 4, 5, 6, 3,
  5611  	4, 5, 6, 3, 4, 1, 3, 3, 3, 3,
  5612  	3, 3, 3, 3, 3, 3, 3, 3, 1, 1,
  5613  	1, 1, 1, 3, 1, 1, 2, 2, 2, 2,
  5614  	1, 1, 2, 9, 6, 6, 6, 2, 2, 3,
  5615  	3, 3, 0, 3, 1, 1, 1, 2, 1, 2,
  5616  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  5617  	1, 1, 3, 4, 5, 5, 6, 4, 4, 8,
  5618  	6, 8, 6, 8, 5, 4, 2, 2, 1, 2,
  5619  	2, 2, 8, 8, 6, 1, 1, 1, 1, 1,
  5620  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  5621  	1, 1, 1, 1, 1, 1, 0, 2, 0, 2,
  5622  	3, 3, 4, 4, 4, 4, 4, 0, 3, 4,
  5623  	7, 3, 1, 1, 1, 2, 3, 3, 1, 2,
  5624  	2, 1, 2, 1, 2, 2, 1, 2, 0, 1,
  5625  	0, 2, 1, 2, 4, 0, 2, 1, 3, 5,
  5626  	1, 2, 2, 0, 3, 0, 2, 0, 1, 3,
  5627  	1, 3, 2, 0, 1, 1, 0, 1, 2, 4,
  5628  	4, 0, 2, 2, 1, 1, 3, 3, 3, 3,
  5629  	3, 3, 3, 0, 3, 3, 3, 0, 3, 1,
  5630  	1, 0, 4, 0, 1, 1, 0, 3, 1, 3,
  5631  	2, 1, 2, 4, 9, 3, 5, 0, 3, 3,
  5632  	0, 1, 0, 2, 2, 0, 2, 2, 2, 0,
  5633  	2, 1, 2, 3, 3, 0, 2, 1, 2, 3,
  5634  	4, 3, 0, 1, 2, 1, 5, 4, 4, 1,
  5635  	3, 3, 5, 0, 5, 1, 3, 1, 2, 3,
  5636  	1, 1, 3, 3, 1, 3, 3, 3, 3, 3,
  5637  	2, 1, 2, 1, 1, 1, 1, 1, 1, 1,
  5638  	0, 1, 0, 2, 0, 3, 0, 1, 0, 1,
  5639  	1, 5, 0, 1, 0, 1, 2, 1, 1, 1,
  5640  	1, 1, 1, 0, 1, 1, 1, 1, 1, 1,
  5641  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  5642  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  5643  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  5644  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  5645  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  5646  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  5647  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  5648  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  5649  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  5650  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  5651  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  5652  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  5653  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  5654  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  5655  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  5656  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  5657  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  5658  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  5659  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  5660  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  5661  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  5662  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  5663  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  5664  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  5665  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  5666  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  5667  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  5668  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  5669  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  5670  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  5671  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  5672  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  5673  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  5674  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  5675  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  5676  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  5677  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  5678  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  5679  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  5680  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  5681  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  5682  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  5683  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  5684  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  5685  	1, 0, 0, 1, 1,
  5686  }
  5687  
  5688  var yyChk = [...]int{
  5689  	-1000, -314, -6, -10, -15, -16, -17, -18, -19, -20,
  5690  	-21, -22, -23, -24, -25, -26, -53, -54, -55, -57,
  5691  	-58, -59, -60, -61, -13, -56, -27, -28, -62, -63,
  5692  	-64, -65, -66, -8, -7, -12, 7, 8, -74, -29,
  5693  	30, -34, -44, 203, -45, -35, 204, -46, 206, 205,
  5694  	241, 207, 234, 72, 281, 282, 284, 285, 286, 287,
  5695  	-75, 239, 240, 209, 34, 43, 31, 32, 35, 212,
  5696  	-9, -30, 6, -316, 9, 406, 236, 235, 26, -11,
  5697  	419, 83, -315, 553, -187, -172, 20, 31, 27, -171,
  5698  	-167, -87, -172, 18, 16, 5, -67, -319, -67, -67,
  5699  	10, 11, -67, -268, -270, 83, 140, 83, -67, -50,
  5700  	-49, -48, -47, -51, 29, -41, -42, -289, -40, -37,
  5701  	208, 205, 249, 107, 108, 241, 242, 243, 207, 225,
  5702  	240, 244, 239, 258, -36, 78, 31, 419, 422, -275,
  5703  	204, 210, 211, 407, 110, 109, 73, 206, -272, 331,
  5704  	523, -51, 525, 99, 101, 524, 42, 215, 526, 527,
  5705  	528, 529, 224, 530, 531, 532, 533, 539, 540, 541,
  5706  	542, 111, 5, -67, -229, -225, -293, -219, 86, 87,
  5707  	88, 416, 227, 450, 451, 274, 78, 39, 331, 523,
  5708  	281, 295, 289, 316, 308, 417, 452, 277, 228, 262,
  5709  	520, 306, 116, 525, 280, 453, 242, 336, 337, 338,
  5710  	99, 284, 373, 538, 279, 454, 536, 101, 524, 77,
  5711  	49, 42, 237, 304, 300, 526, 263, 455, 427, 256,
  5712  	110, 107, 545, 34, 298, 48, 28, 535, 109, 47,
  5713  	527, 131, 456, 528, 340, 321, 514, 46, 341, 243,
  5714  	457, 81, 421, 522, 342, 299, 343, 273, 534, 209,
  5715  	458, 506, 344, 345, 515, 459, 322, 326, 460, 365,
  5716  	346, 552, 50, 461, 462, 516, 108, 463, 76, 529,
  5717  	293, 294, 464, 271, 226, 367, 320, 224, 33, 347,
  5718  	418, 275, 56, 250, 368, 44, 324, 549, 43, 510,
  5719  	465, 513, 319, 315, 51, 466, 467, 468, 469, 530,
  5720  	318, 292, 314, 544, 439, 268, 531, 60, 211, 328,
  5721  	327, 329, 257, 364, 311, 470, 471, 472, 231, 79,
  5722  	473, 301, 19, 474, 475, 348, 264, 476, 54, 477,
  5723  	478, 371, 240, 479, 52, 532, 37, 245, 546, 533,
  5724  	480, 481, 482, 483, 484, 350, 485, 349, 323, 325,
  5725  	252, 351, 420, 486, 297, 244, 537, 487, 232, 521,
  5726  	246, 249, 239, 372, 233, 488, 489, 490, 491, 492,
  5727  	278, 493, 494, 285, 539, 41, 495, 496, 497, 498,
  5728  	272, 267, 366, 375, 59, 80, 333, 499, 519, 291,
  5729  	265, 500, 282, 53, 540, 541, 542, 259, 543, 7,
  5730  	550, 551, 353, 111, 269, 270, 45, 312, 251, 501,
  5731  	502, 302, 303, 317, 290, 313, 283, 507, 253, 354,
  5732  	241, 503, 374, 266, 334, 424, 258, 355, 518, 423,
  5733  	310, 307, 260, 504, 356, 216, 254, 255, 505, 508,
  5734  	357, 358, 276, 359, 360, 361, 362, 363, 261, 422,
  5735  	288, 305, 335, 387, 388, 389, 390, 391, 392, 393,
  5736  	394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
  5737  	404, 214, -67, 214, -134, -225, 214, -197, 337, -216,
  5738  	339, 352, 347, 357, 345, -208, 348, 350, 252, -308,
  5739  	365, 214, 354, 203, 157, 340, 349, 358, 359, 276,
  5740  	360, 363, 261, -304, -293, 528, 543, 116, 309, 344,
  5741  	342, 366, 510, 362, 361, -225, 283, -232, 288, -220,
  5742  	-293, -219, 286, -134, -73, 506, 207, -234, -234, -89,
  5743  	510, 512, -150, -102, 124, -113, -116, -107, -108, -144,
  5744  	-145, -146, -147, -114, -157, 146, 147, 154, 125, -155,
  5745  	-117, 24, 415, 408, 407, 157, 29, 199, 66, 67,
  5746  	410, 411, 127, 55, 383, 384, -115, 378, 385, 380,
  5747  	413, 414, 102, -220, -225, 219, 377, 213, 152, 406,
  5748  	-109, -105, -7, -153, 376, 381, 382, 386, 379, -293,
  5749  	-219, -111, -110, -140, 89, 95, 100, 96, -313, 103,
  5750  	-316, 90, 91, 92, 93, 94, 104, 105, 158, 159,
  5751  	160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
  5752  	170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
  5753  	180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
  5754  	190, 191, 192, 193, 194, 195, 196, 197, 198, 42,
  5755  	353, 353, -134, -67, -165, -87, -167, -9, -7, -316,
  5756  	6, -67, -7, -8, -12, -30, -32, 446, -31, -225,
  5757  	-172, -187, 10, 142, 40, 48, -170, -171, -11, -7,
  5758  	-102, 17, 21, 22, -92, 148, -102, -225, -68, -92,
  5759  	-206, 218, -67, -67, -196, -237, 283, -200, 366, 365,
  5760  	-221, -198, -220, -218, -197, 364, 208, 425, 123, 23,
  5761  	25, 126, 157, 17, 127, 35, 210, 309, 225, 156,
  5762  	221, 407, 203, 70, 426, 378, 380, 376, 383, 409,
  5763  	410, 377, 339, 29, 11, 428, 26, 235, 22, 36,
  5764  	150, 205, 130, 238, 24, 236, 102, 105, 431, 20,
  5765  	73, 230, 12, 223, 38, 14, 432, 433, 15, 219,
  5766  	218, 142, 215, 68, 9, 199, 27, 139, 64, 434,
  5767  	118, 435, 436, 437, 438, 66, 140, 18, 547, 381,
  5768  	382, 31, 511, 415, 247, 152, 71, 57, 512, 124,
  5769  	379, 440, 441, 103, 442, 106, 74, 517, 120, 16,
  5770  	69, 40, 443, 248, 444, 220, 548, 445, 369, 446,
  5771  	141, 206, 406, 67, 447, 213, 352, 6, 412, 30,
  5772  	234, 222, 113, 65, 448, 214, 129, 413, 414, 217,
  5773  	104, 5, 117, 32, 10, 72, 75, 384, 385, 386,
  5774  	55, 112, 419, 128, 13, 449, 370, 122, 116, -269,
  5775  	140, -256, -260, -220, 229, -285, 225, -134, -278, -277,
  5776  	-220, -88, -215, 215, 223, 222, 117, -297, 120, 269,
  5777  	377, 213, -47, -48, -197, 156, 246, 84, 84, -260,
  5778  	-259, -258, -298, 248, 229, -284, -276, 221, 230, -266,
  5779  	222, 223, -261, 215, 118, -298, -261, 220, 230, 248,
  5780  	248, 111, 248, 111, 248, 248, 248, 248, 248, 248,
  5781  	248, 248, 248, 245, -267, 132, -267, 423, 423, -272,
  5782  	-298, -298, -298, 217, 33, 33, -217, -261, 217, 23,
  5783  	-267, -267, -197, 156, -267, -267, -267, -267, 256, 256,
  5784  	-267, -267, -267, -267, -267, -267, -267, -267, -267, -267,
  5785  	-267, -267, -267, -267, -267, 214, -297, -96, 363, 276,
  5786  	78, -49, 258, -33, -134, -215, 215, 216, -297, -134,
  5787  	200, -134, -210, 140, 13, -210, -207, 353, 351, 338,
  5788  	343, -210, -210, -210, -210, 259, 336, -262, 215, 33,
  5789  	226, 353, 259, 336, 259, 260, 259, 260, 346, 356,
  5790  	259, -230, 12, 142, 377, 341, 345, 252, 214, 253,
  5791  	216, 355, -293, 513, 260, -230, 90, -211, 140, 353,
  5792  	255, -210, -235, -316, -221, 309, -235, -235, 30, 217,
  5793  	-220, -69, -220, 90, -14, -10, -18, -17, -19, 132,
  5794  	-94, 353, -83, 157, 528, 514, 515, 516, 513, 350,
  5795  	521, 519, 517, 259, 518, 84, 120, 122, 123, -102,
  5796  	139, -141, 132, 133, 134, 135, 136, 137, 138, 142,
  5797  	124, 126, 140, 141, 121, 143, 144, 145, 146, 147,
  5798  	148, 149, 151, 150, 152, 153, 156, 201, 202, -108,
  5799  	-108, -108, -108, -155, -316, -316, -316, -108, -205, -316,
  5800  	-108, -316, -316, -316, -316, -161, -102, -316, -320, -316,
  5801  	-320, -320, -247, -316, -247, -316, -316, -316, -316, 200,
  5802  	-316, -316, -316, -316, -316, -247, -247, -247, -247, -247,
  5803  	100, 95, 89, -157, 96, 90, -220, -225, -7, -8,
  5804  	-150, -234, -305, -306, -137, -134, -316, 276, -170, -11,
  5805  	-7, -165, -171, -167, -7, -67, -81, -93, 61, 62,
  5806  	-95, 22, 36, 65, 63, 21, -317, 85, -317, -187,
  5807  	-317, 84, -32, -190, 83, 59, 41, 90, 90, 84,
  5808  	19, -166, -168, -102, 12, -223, -222, 23, -220, 90,
  5809  	200, 98, 12, -135, 27, -134, -206, -206, 84, 283,
  5810  	-200, -237, -202, -201, 367, 369, 132, -224, -220, 90,
  5811  	29, 85, 84, -134, -239, -242, -244, -243, -245, -240,
  5812  	-241, 306, 307, 157, 310, 312, 313, 314, 315, 316,
  5813  	317, 318, 319, 320, 321, 30, 237, 302, 303, 304,
  5814  	305, 322, 323, 324, 325, 326, 327, 328, 329, 289,
  5815  	308, 417, 290, 291, 292, 293, 294, 295, 297, 298,
  5816  	299, 300, 301, -296, -293, 83, 85, 84, -246, 83,
  5817  	-96, 214, -293, 215, 215, 215, -67, 406, -267, -267,
  5818  	245, -40, -37, -289, 16, -36, -37, 208, 107, 108,
  5819  	205, 83, -256, 83, -265, -296, -293, 83, 118, 220,
  5820  	117, -264, -261, -264, -265, -293, -157, -293, 118, 118,
  5821  	-193, -220, -193, -193, 21, -193, 21, -193, 21, 92,
  5822  	-220, -193, 21, -193, 21, -193, 21, -193, 21, -193,
  5823  	21, 29, 76, 77, 29, 79, 80, 81, -157, -157,
  5824  	-256, -197, -134, -293, 92, 92, -267, -267, 92, 90,
  5825  	90, 90, -267, -267, 92, 90, -227, -225, 90, -299,
  5826  	231, 273, 275, 92, 92, 92, 92, 29, 90, -300,
  5827  	29, 535, 534, 536, 537, 538, 92, 29, 92, 29,
  5828  	92, -220, 83, -134, -99, 263, 203, 205, 208, 74,
  5829  	90, 277, 132, 42, 84, 217, 214, -293, -212, 219,
  5830  	-212, -226, -225, -218, 90, -102, -263, 12, 142, -230,
  5831  	-230, -210, -134, -263, -230, -210, -134, -210, -210, -210,
  5832  	-210, -230, -230, -230, -210, -225, -225, -134, -134, -134,
  5833  	-134, -134, -134, -134, -235, -235, -235, -211, -210, 513,
  5834  	90, 74, -233, 286, 320, 507, 508, 509, 84, 419,
  5835  	-127, -134, 513, 513, 513, 513, 513, 513, -102, -102,
  5836  	-102, -102, -148, 103, 124, 104, 105, -116, -149, -153,
  5837  	-155, 97, 142, 126, 140, 141, -107, -108, -107, -107,
  5838  	-107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
  5839  	-107, -236, -293, 90, 157, -112, 90, 91, -313, 96,
  5840  	-112, -90, -92, -102, -102, -293, -220, -90, -90, -102,
  5841  	-86, 22, 36, -159, -160, 128, -157, -317, -317, 92,
  5842  	96, -220, -220, -80, -79, 388, 389, 390, 391, 393,
  5843  	394, 395, 398, 399, 403, 404, 387, 405, 392, 397,
  5844  	400, 401, 402, 396, 305, -91, 22, 36, -90, -221,
  5845  	-226, -218, -90, -91, -91, -90, -90, 200, -187, -317,
  5846  	84, -307, 369, 370, 511, -228, 248, -227, 23, -151,
  5847  	-150, 90, -170, -170, 61, 62, 57, -90, -95, -317,
  5848  	-31, 23, -189, -220, 60, 90, -248, -197, -102, -102,
  5849  	84, -169, 25, 26, -134, -222, 148, -226, -134, -192,
  5850  	248, -134, -119, -121, -122, -123, -137, -156, -316, 12,
  5851  	-127, -128, -136, -225, -200, -202, 84, 368, 370, 371,
  5852  	74, 106, -102, -249, 156, -274, -273, -272, -256, -258,
  5853  	-259, -260, 85, -173, -101, 38, -252, 334, 333, -246,
  5854  	-246, -246, -246, -246, -248, -248, -248, -248, 83, 83,
  5855  	-246, -246, -246, -246, -250, 83, -250, -250, -251, 83,
  5856  	-251, -285, -102, -282, -281, -279, -280, 224, 99, 419,
  5857  	75, -277, -169, 92, -99, -213, 219, -283, -280, -293,
  5858  	-293, -293, -213, -293, 90, -293, 90, 84, 17, -257,
  5859  	-256, -52, 273, -288, 248, -284, -278, -265, 118, -264,
  5860  	-265, -265, -293, 84, 27, 111, 111, 111, 111, 419,
  5861  	205, 30, -256, -52, -236, 217, -236, -236, 90, 90,
  5862  	-209, 543, -127, -98, 265, 132, 254, 254, 214, 214,
  5863  	267, -134, 278, 280, 279, 277, 21, 266, 268, 270,
  5864  	256, -134, -134, -212, 74, -129, -134, 24, -225, -134,
  5865  	-210, -210, -134, -210, -210, -134, -220, -83, 369, 84,
  5866  	419, 20, -84, 20, 103, 104, 105, -149, -107, -108,
  5867  	-107, 123, 238, 90, 84, -317, 23, 84, 75, -317,
  5868  	-317, -317, 84, 12, -90, -162, -160, 130, -102, -317,
  5869  	-317, -317, 84, 84, 12, -317, -90, -90, -316, 200,
  5870  	-317, -317, -317, -317, -317, -221, -306, 510, 370, -138,
  5871  	72, 218, 73, -316, -227, -317, -143, -220, 92, 96,
  5872  	-172, -118, -120, 12, -95, -155, 85, 84, -248, -176,
  5873  	-181, -207, -293, 90, 157, -168, 200, -139, 13, -142,
  5874  	30, 55, -10, -316, -316, 30, 84, -130, -132, -131,
  5875  	-133, 64, 68, 70, 65, 66, 67, 71, -231, 23,
  5876  	-119, -8, -7, -316, -134, -127, -318, 12, 75, -318,
  5877  	84, 200, -201, -203, 372, 369, 375, -293, 90, -76,
  5878  	248, 84, -272, -260, -312, 103, 124, 29, 74, 331,
  5879  	99, -310, 156, -311, 220, 117, 118, 232, 23, 39,
  5880  	-253, 335, -248, -248, -255, 90, -255, 92, 92, 85,
  5881  	-43, -38, -39, 31, 78, -279, -267, 90, 37, -220,
  5882  	85, -98, -134, 124, 74, -283, -283, -283, -225, 16,
  5883  	-189, 84, 85, -158, 274, 85, -220, 85, 83, -265,
  5884  	-265, -220, -316, 214, 29, 29, -52, -158, -249, -293,
  5885  	545, 544, 85, 216, 272, -100, 383, 90, 86, -134,
  5886  	-134, -134, -134, -134, 208, 205, 257, 217, -127, -134,
  5887  	84, -72, 233, 228, -230, -230, 31, -134, 369, 522,
  5888  	520, 123, 238, -116, -108, -92, 416, -238, 157, 306,
  5889  	237, 304, 300, 320, 311, 333, 302, 334, -238, -236,
  5890  	-102, -102, -165, 131, -102, 129, -102, -102, -102, -317,
  5891  	-317, -91, -221, 215, 215, 215, -193, -204, 20, 12,
  5892  	55, 55, -118, -139, -119, -95, -220, -179, 506, -184,
  5893  	44, -182, -183, 45, -180, 46, 54, 148, -170, -102,
  5894  	-194, 74, -195, -199, -157, -152, -154, -153, -316, -188,
  5895  	-317, -220, -193, -195, -121, -122, -122, -121, -122, 64,
  5896  	64, 64, 69, 64, 69, 64, -131, -225, -317, -317,
  5897  	-8, -228, 75, -119, -119, -136, -225, 148, 369, 373,
  5898  	374, 17, -272, 103, -316, -106, -115, -104, -103, -105,
  5899  	-109, 146, 147, 10, 90, 90, -293, 118, 118, -134,
  5900  	83, 85, 84, 85, 84, 85, 84, -214, 456, 124,
  5901  	-39, -38, -267, -267, 92, -293, 216, 24, -134, 74,
  5902  	74, 74, 17, -256, -157, 55, -282, -189, -286, -288,
  5903  	-134, -104, -316, -158, -134, -97, 263, 271, 83, 87,
  5904  	-295, 75, 254, 331, 254, -134, -72, -43, -134, -210,
  5905  	-210, 31, -293, -116, -108, -316, -317, -246, -246, -246,
  5906  	-251, -246, 294, -246, 294, -317, -317, 84, -317, 20,
  5907  	-317, -82, 412, -102, 84, 84, -317, -317, -316, -316,
  5908  	-316, -317, -134, -139, -163, 14, -176, 49, 312, -186,
  5909  	-185, 53, 45, -183, 17, 47, 17, 28, -194, 84,
  5910  	132, 84, -317, -317, 84, 55, 200, -317, -139, -125,
  5911  	-124, 74, 75, -126, 74, -124, 64, 64, -190, -317,
  5912  	-192, -119, -139, -139, 200, -1, -2, 547, 548, 549,
  5913  	-102, -110, -110, -145, 83, -102, -248, 90, -248, 92,
  5914  	92, 456, 29, 79, 80, 81, 29, 76, 77, -134,
  5915  	-134, -134, -134, -189, 250, 85, -317, 84, -254, 419,
  5916  	422, -102, -190, 85, -292, 419, -294, -220, -220, -220,
  5917  	-220, -107, -248, -293, -102, -102, -170, 90, -102, -102,
  5918  	-191, -317, -220, 220, -191, -191, -228, -163, -164, 15,
  5919  	17, -177, 51, -175, 50, -175, -185, 17, 17, 90,
  5920  	17, 90, 118, -199, -102, -154, 55, -10, -220, -152,
  5921  	-220, -165, -102, 83, -102, -139, -139, 552, 118, -77,
  5922  	83, 338, -317, -189, 85, 85, 85, -190, 251, -311,
  5923  	-288, 423, 423, -317, 23, -291, -290, -221, 83, 75,
  5924  	-85, 142, 419, -317, -317, -317, -317, -317, 84, -317,
  5925  	-317, -317, -138, -164, -102, -150, -178, 52, 74, 106,
  5926  	90, 90, 90, 10, -152, 200, -170, -189, -165, 83,
  5927  	-5, 78, -3, 546, -102, 83, 85, -174, 23, -316,
  5928  	-10, 84, 132, -189, -134, -317, 417, 71, 420, -220,
  5929  	220, 74, 106, -195, -220, 85, -170, -102, 83, 132,
  5930  	-78, 550, 92, 85, -189, -302, -303, 74, -312, -309,
  5931  	103, 124, 99, -310, 112, 113, -10, -102, 247, -70,
  5932  	419, -290, -271, -221, 90, 92, 85, 60, 418, 421,
  5933  	85, -189, 92, -287, 83, 17, 85, -303, 74, 11,
  5934  	10, 103, 90, -70, -317, -317, -71, 262, 510, -295,
  5935  	60, -3, 85, -286, -1, -301, 233, 228, 231, 30,
  5936  	-301, 225, -292, 419, -78, -3, 85, 552, 118, 227,
  5937  	29, 103, 264, 420, -287, -78, 83, -5, 421, -287,
  5938  	-102, 83, 85, -189, -4, 551, 85, 92, -4,
  5939  }
  5940  
  5941  var yyDef = [...]int{
  5942  	-2, -2, 2, 4, 5, 6, 7, 8, 9, 10,
  5943  	11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
  5944  	21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
  5945  	31, 32, 33, 65, 67, 68, 705, 705, 705, 0,
  5946  	705, 0, 0, 705, -2, -2, 705, 1113, 0, 705,
  5947  	0, 0, -2, 638, 639, 0, 641, -2, 0, 0,
  5948  	650, 1561, 1561, 700, 0, 0, 0, 0, 0, 705,
  5949  	977, 45, 705, 0, 80, 81, 656, 657, 658, 60,
  5950  	0, 1559, 1, 3, 66, 70, 0, 0, 0, 53,
  5951  	986, 0, 73, 0, 0, 709, 0, 707, 0, 1096,
  5952  	705, 705, 0, 111, 112, 0, 0, 0, -2, 115,
  5953  	-2, 139, 140, 0, 144, 490, 450, 493, 448, 479,
  5954  	-2, 441, 0, 0, 0, 0, 0, 0, 0, 0,
  5955  	0, 0, 0, 0, 453, 343, 343, 0, 0, -2,
  5956  	441, 441, 441, 0, 0, 0, 476, 1098, 396, 343,
  5957  	343, 0, 343, 343, 343, 343, 0, 0, 343, 343,
  5958  	343, 343, 343, 343, 343, 343, 343, 343, 343, 343,
  5959  	343, 343, 343, 1003, 143, 1114, 1111, 1112, 35, 36,
  5960  	37, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267,
  5961  	1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277,
  5962  	1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1287,
  5963  	1288, 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297,
  5964  	1298, 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307,
  5965  	1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317,
  5966  	1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327,
  5967  	1328, 1329, 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337,
  5968  	1338, 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347,
  5969  	1348, 1349, 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1357,
  5970  	1358, 1359, 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1367,
  5971  	1368, 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1377,
  5972  	1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387,
  5973  	1388, 1389, 1390, 1391, 1392, 1393, 1394, 1395, 1396, 1397,
  5974  	1398, 1399, 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407,
  5975  	1408, 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1416, 1417,
  5976  	1418, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427,
  5977  	1428, 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437,
  5978  	1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447,
  5979  	1448, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457,
  5980  	1458, 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1466, 1467,
  5981  	1468, 1469, 1470, 1471, 1472, 1473, 1474, 1475, 1476, 1477,
  5982  	1478, 1479, 1480, 1481, 1482, 1483, 1484, 1485, 1486, 1487,
  5983  	1488, 1489, 1490, 1491, 1492, 1493, 1494, 1495, 1496, 1497,
  5984  	1498, 1499, 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1507,
  5985  	1508, 1509, 1510, 1511, 1512, 1513, 1514, 1515, 1516, 1517,
  5986  	1518, 1519, 1520, 1521, 1522, 1523, 1524, 1525, 1526, 1527,
  5987  	1528, 1529, 1530, 1531, 1532, 1533, 1534, 1535, 1536, 1537,
  5988  	1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547,
  5989  	1548, 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557,
  5990  	1558, 0, 1090, 0, 568, 795, 0, 629, 629, 0,
  5991  	629, 629, 629, 629, 0, 0, 0, 580, 0, 0,
  5992  	0, 0, 626, 0, 0, 599, 601, 0, 626, 0,
  5993  	632, 0, 613, 629, 1562, 1562, 1562, 1081, 0, 623,
  5994  	621, 635, 636, 618, 619, 637, 640, 0, 645, 648,
  5995  	1107, 1108, 0, 663, 44, 1339, 655, 668, 669, 0,
  5996  	701, 702, 40, 881, 0, 810, 814, 825, 838, 839,
  5997  	840, 841, 842, 844, 845, 0, 0, 0, 0, 850,
  5998  	851, 0, 0, 0, 0, 0, 862, 0, 0, 0,
  5999  	0, 0, 958, 0, 926, 926, 898, 926, 928, 928,
  6000  	0, 0, 0, 967, 0, 0, 0, 0, 0, 0,
  6001  	249, 250, 880, 1070, 928, 928, 928, 928, 928, -2,
  6002  	-2, 196, 197, 198, 199, 200, 201, 202, 0, 192,
  6003  	0, 254, 255, 251, 252, 253, 864, 865, 208, 209,
  6004  	210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
  6005  	220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
  6006  	230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
  6007  	240, 241, 242, 243, 244, 245, 246, 247, 248, 1561,
  6008  	0, 678, 0, 0, 986, 0, 978, 977, 58, 0,
  6009  	705, -2, 0, 0, 0, 0, 42, 0, 47, 756,
  6010  	72, 71, 1022, 0, 0, 0, 54, 987, 62, 64,
  6011  	988, 0, 710, 711, 0, 734, 738, 0, 706, 0,
  6012  	0, 1097, 1096, 1096, 97, 0, 1504, 1074, -2, -2,
  6013  	0, 0, 1109, 1110, 1083, -2, 1117, 1118, 1119, 1120,
  6014  	1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130,
  6015  	1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140,
  6016  	1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150,
  6017  	1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160,
  6018  	1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170,
  6019  	1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180,
  6020  	1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190,
  6021  	1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200,
  6022  	1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210,
  6023  	1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220,
  6024  	1221, 1222, 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1230,
  6025  	1231, 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240,
  6026  	1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250,
  6027  	1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, -2, 0,
  6028  	0, 153, 154, 0, 38, 369, 0, 149, 0, 363,
  6029  	315, 1003, 0, 0, 0, 0, 0, 705, 0, 1091,
  6030  	134, 135, 141, 142, 343, 343, 0, 143, 143, 457,
  6031  	458, 459, 0, 0, -2, 367, 0, 442, 0, 0,
  6032  	357, 357, 361, 359, 360, 0, 0, 0, 0, 0,
  6033  	0, 470, 0, 471, 0, 0, 0, 0, 0, 0,
  6034  	0, 0, 0, 552, 0, 344, 0, 488, 489, 397,
  6035  	0, 0, 0, 0, 468, 469, 0, 0, 1099, 1100,
  6036  	0, 0, 343, 343, 0, 0, 0, 0, 343, 343,
  6037  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6038  	0, 0, 0, 0, 0, 0, 133, 1016, 0, 0,
  6039  	0, -2, 0, 560, 0, 0, 0, 1092, 1092, 567,
  6040  	0, 569, 570, 0, 0, 571, 0, 626, 626, 624,
  6041  	625, 573, 574, 575, 576, 629, 0, 0, 352, 353,
  6042  	354, 626, 629, 0, 629, 629, 629, 629, 626, 626,
  6043  	626, 629, 0, 0, 0, 0, 0, 0, 0, 0,
  6044  	0, 1562, 1562, 1562, 632, 629, 0, 609, 0, 610,
  6045  	611, 614, 615, 1563, 1564, 1128, 616, 617, 1082, 646,
  6046  	649, 666, 664, 665, 667, 659, 660, 661, 662, 0,
  6047  	680, 681, 686, 0, 0, 0, 0, 692, 693, 694,
  6048  	0, 0, 697, 698, 699, 0, 0, 0, 0, 808,
  6049  	0, 0, 870, 871, 872, 873, 874, 875, 876, 0,
  6050  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6051  	0, 0, 0, 0, 0, 0, 0, 0, 0, 846,
  6052  	847, 848, 849, 852, 0, 0, 0, 857, 858, 0,
  6053  	0, 0, 0, 0, 715, 0, 959, 0, 896, 0,
  6054  	897, 899, 900, 0, 901, 0, 0, 0, 718, 0,
  6055  	0, 718, 718, 0, 0, 185, 186, 187, 188, 189,
  6056  	203, 204, 205, 206, 207, 256, 967, 0, 880, 0,
  6057  	0, 41, 670, 671, 0, 778, 1102, 0, 52, 61,
  6058  	63, 986, 56, 986, 0, 720, 0, 0, -2, -2,
  6059  	721, 727, 728, 729, 730, 731, 49, 1560, 50, 0,
  6060  	69, 0, 43, 0, 0, 0, 0, 327, 1025, 0,
  6061  	0, 979, 980, 983, 0, 735, 739, 0, 741, 742,
  6062  	0, 708, 0, 95, 0, 794, 0, 0, 0, 1504,
  6063  	1080, 0, 99, 100, 0, 0, 0, 331, 1085, 1086,
  6064  	1087, -2, 350, 0, -2, 322, 266, 267, 268, 315,
  6065  	270, 315, 315, 315, 315, 327, 327, 327, 327, 298,
  6066  	299, 300, 301, 302, 0, 0, 285, 315, 315, 315,
  6067  	315, 305, 306, 307, 308, 309, 310, 311, 312, 271,
  6068  	272, 273, 274, 275, 276, 277, 278, 279, 317, 317,
  6069  	317, 319, 319, 0, 39, 0, 335, 0, 983, 0,
  6070  	1016, 1094, 1104, 0, 0, 0, 1094, 117, 0, 0,
  6071  	491, 451, 480, 492, 0, 454, 455, -2, 0, 0,
  6072  	441, 0, 443, 0, 351, 0, -2, 0, 361, 0,
  6073  	357, 361, 358, 361, 349, 362, 472, 473, 474, 0,
  6074  	532, 764, 0, 0, 0, 0, 0, 538, 539, 540,
  6075  	0, 542, 543, 544, 545, 546, 547, 548, 549, 550,
  6076  	551, 481, 482, 483, 484, 485, 486, 487, 0, 0,
  6077  	443, 0, 477, 0, 398, 399, 0, 0, 402, 403,
  6078  	404, 405, 0, 0, 408, 409, 410, 781, 782, 411,
  6079  	435, 436, 437, 412, 413, 414, 415, 416, 417, 418,
  6080  	429, 430, 431, 432, 433, 434, 419, 420, 421, 422,
  6081  	423, 426, 0, 127, 1007, 0, 0, 0, 0, 0,
  6082  	0, 0, 0, 0, 0, 0, 1092, 0, 0, 0,
  6083  	0, 796, 1115, 1116, 630, 631, 0, 355, 356, 629,
  6084  	629, 577, 600, 0, 629, 581, 602, 582, 584, 583,
  6085  	585, 604, 605, 629, 588, 627, 628, 589, 590, 591,
  6086  	592, 593, 594, 595, 596, 597, 598, 606, 607, 608,
  6087  	633, 0, 0, 647, 651, 652, 653, 654, 0, 0,
  6088  	683, 91, 688, 689, 690, 691, 703, 696, 882, 805,
  6089  	806, 807, 809, 811, 0, 866, 868, 813, 815, 877,
  6090  	878, 879, 0, 0, 0, 0, 0, 819, 823, 826,
  6091  	827, 828, 829, 830, 831, 832, 833, 834, 835, 836,
  6092  	837, 843, 942, 943, 944, 860, 257, 258, 0, 260,
  6093  	861, 0, 732, 0, 0, 0, 859, 0, 0, 0,
  6094  	0, 716, 717, 965, 962, 0, 0, 927, 929, 0,
  6095  	0, 0, 0, 0, 905, 906, 907, 908, 909, 910,
  6096  	911, 912, 913, 914, 915, 916, 917, 918, 919, 920,
  6097  	921, 922, 923, 924, 925, 0, 0, 0, 719, 968,
  6098  	0, -2, 0, 0, 0, 0, 0, 0, 0, 1069,
  6099  	0, 673, 674, 676, 0, 798, 0, 779, 0, 0,
  6100  	1103, 679, 55, 57, 725, 726, 0, 743, 722, 51,
  6101  	46, 0, 0, 758, 1023, 327, 1045, 0, 989, 990,
  6102  	0, 982, 984, 985, 74, 740, 736, 0, 803, 0,
  6103  	0, 793, 0, 746, 748, 749, 750, 776, 0, 0,
  6104  	0, 0, 93, 795, 1075, 98, 0, 0, 103, 104,
  6105  	1076, 1077, 1078, 1079, 0, 510, -2, 393, 155, 157,
  6106  	158, 159, 150, 375, 0, 0, 325, 323, 324, 269,
  6107  	327, 327, 292, 293, 294, 295, 296, 297, 0, 0,
  6108  	286, 287, 288, 289, 280, 0, 281, 282, 283, 0,
  6109  	284, 368, 0, 991, 336, 337, 339, 343, 0, 0,
  6110  	0, 364, 365, 0, 1007, 0, 0, 0, 1105, 1104,
  6111  	1104, 1104, 0, 145, 146, 147, 148, 143, 0, 0,
  6112  	151, 445, 444, 0, 0, 366, 0, 0, 361, 361,
  6113  	346, 347, 475, 0, 0, 534, 535, 536, 537, 0,
  6114  	0, 0, 443, 445, 331, 0, 400, 401, 406, 407,
  6115  	424, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6116  	0, 0, 505, 506, 507, 508, 509, 1004, 1005, 1006,
  6117  	0, 0, 561, 0, 0, 385, 89, 1093, 566, 626,
  6118  	587, 603, 626, 579, 586, 612, 643, 687, 0, 0,
  6119  	0, 0, 695, 0, 812, 867, 869, 816, 0, 820,
  6120  	824, 0, 0, 259, 0, 0, 0, 0, 0, 863,
  6121  	887, 888, 0, 0, 977, 0, 963, 0, 0, 895,
  6122  	930, 931, 0, 0, 0, 883, 0, 0, 718, 0,
  6123  	932, 933, 934, 935, 936, 968, 672, 675, 677, 754,
  6124  	0, 0, 0, 0, 780, 1101, 0, 970, 0, 0,
  6125  	743, 803, 744, 0, 723, 48, 757, 0, 1027, 1026,
  6126  	1039, 1052, 328, 329, 330, 981, 0, 986, 0, 1063,
  6127  	0, 0, 1055, 0, 0, 0, 0, 0, 0, 0,
  6128  	0, 783, 0, 0, 786, 0, 0, 0, 0, 777,
  6129  	0, 0, 0, 0, -2, 0, 0, 87, 88, 0,
  6130  	0, 0, 101, 102, 0, 0, 108, 332, 333, 136,
  6131  	0, 143, 395, 156, 160, 165, 0, 0, 0, 170,
  6132  	0, 172, 0, 376, 0, 262, 264, 0, 0, 163,
  6133  	265, 326, 290, 291, 0, 313, 0, 0, 0, 388,
  6134  	113, 995, 994, 343, 343, 338, 0, 341, 0, 1106,
  6135  	316, 0, 126, 0, 0, 0, 0, 0, 132, 0,
  6136  	449, 0, 460, 461, 0, 531, 0, 335, 0, 345,
  6137  	348, 765, 0, 0, 462, 0, 445, 466, 467, 478,
  6138  	427, 428, 425, 0, 0, 1017, 1018, 0, 1021, 118,
  6139  	498, 500, 499, 503, 0, 0, 496, 0, 385, 991,
  6140  	0, 565, 386, 387, 629, 629, 682, 92, 0, 685,
  6141  	0, 0, 0, 817, 821, 733, 0, 0, 315, 315,
  6142  	948, 315, 319, 951, 315, 953, 315, 956, 0, 0,
  6143  	0, 0, 960, 894, 966, 0, 0, 0, 0, 884,
  6144  	885, 0, 969, 0, 0, 0, 0, 0, 1088, 1089,
  6145  	971, 972, 803, 973, 745, 724, 759, 1045, 0, 1038,
  6146  	0, -2, 1047, 0, 0, 0, 1053, 737, 75, 804,
  6147  	78, 0, 1063, 1071, 0, 1054, 1065, 1067, 0, 0,
  6148  	0, 1059, 0, 803, 747, 772, 774, 0, 769, 784,
  6149  	785, 787, 0, 789, 0, 791, 792, 756, 752, 753,
  6150  	0, 95, 0, 803, 803, 94, 0, 797, 105, 106,
  6151  	107, 519, 394, 166, 0, 168, 183, 184, 190, 191,
  6152  	193, 0, 0, 0, 171, 173, 174, 261, 263, 0,
  6153  	0, 327, 0, 327, 0, 320, 0, 377, 389, 0,
  6154  	992, 993, 0, 0, 340, 342, 0, 1095, 128, 0,
  6155  	0, 0, 0, 152, 446, 0, 334, 0, 0, 556,
  6156  	553, 463, 0, 465, 756, 1008, 1009, 1010, 0, 1020,
  6157  	121, 0, 0, 0, 0, 562, 563, 564, 90, 572,
  6158  	578, 684, 704, 818, 822, 0, 854, 945, 327, 949,
  6159  	950, 952, 954, 955, 957, 855, 856, 0, 890, 0,
  6160  	892, 986, 0, 964, 0, 0, 904, 886, 0, 0,
  6161  	0, 778, 59, 973, 975, 0, 1032, 1030, 1030, 1040,
  6162  	1041, 0, 0, 1048, 0, 0, 0, 0, 79, 0,
  6163  	0, 0, 1068, 0, 0, 0, 0, 96, 977, 766,
  6164  	773, 0, 0, 767, 0, 768, 788, 790, 751, -2,
  6165  	803, 803, 85, 86, 0, 0, 0, 520, 523, 524,
  6166  	0, 194, 195, 169, 0, 0, 303, 314, 304, 0,
  6167  	0, 390, 996, 997, 998, 999, 1000, 1001, 1002, 756,
  6168  	129, 130, 131, 452, 0, 0, 533, 0, 541, 0,
  6169  	0, 0, 0, 1019, 497, 0, 119, 120, 0, 0,
  6170  	502, 937, 946, 947, 0, 0, 0, 961, 0, 0,
  6171  	0, 800, 760, 761, 0, 0, 798, 975, 77, 0,
  6172  	0, 1035, 0, 1028, 1031, 1029, 1042, 0, 0, 1049,
  6173  	0, 1051, 0, 1072, 1073, 1066, 0, 1058, 1061, 1057,
  6174  	1060, 986, 770, 0, 775, 977, 84, 0, 521, 527,
  6175  	0, 0, 167, 0, 177, 318, 321, 0, 0, 370,
  6176  	557, 554, 555, 464, 0, 122, 123, 0, 0, 0,
  6177  	0, 0, 0, 889, 891, 893, 902, 903, 0, 799,
  6178  	801, 802, 755, 76, 976, 974, 1024, 0, 1033, 1034,
  6179  	1043, 1044, 1050, 0, 1056, 0, 82, 0, 986, 0,
  6180  	0, 0, 514, 0, 0, 0, 371, 375, 0, 0,
  6181  	1011, 0, 0, 0, 504, 853, 0, 0, 0, 762,
  6182  	763, 1036, 1037, 1064, 1062, 771, 83, 0, 0, 0,
  6183  	517, 0, 528, 525, 0, 372, 373, 0, 161, 178,
  6184  	179, 0, 0, 182, 175, 176, 1011, 0, 0, 494,
  6185  	1013, 124, 125, 438, 439, 440, 118, 938, 0, 941,
  6186  	527, 0, 522, 513, 0, 519, 526, 374, 0, 0,
  6187  	0, 180, 181, 114, 558, 559, 0, 1014, 1015, 121,
  6188  	939, 514, 527, 0, 0, 378, 380, 381, 0, 0,
  6189  	379, 0, 501, 0, 517, 514, 518, 0, 521, 382,
  6190  	383, 384, 1012, 0, 511, 517, 0, 0, 940, 512,
  6191  	0, 0, 529, 0, 515, 0, 529, 530, 516,
  6192  }
  6193  
  6194  var yyTok1 = [...]int{
  6195  	1, 3, 3, 3, 3, 3, 3, 3, 3, 3,
  6196  	3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
  6197  	3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
  6198  	3, 3, 3, 125, 3, 3, 3, 151, 143, 3,
  6199  	83, 85, 148, 146, 84, 147, 200, 149, 3, 3,
  6200  	3, 3, 3, 3, 3, 3, 3, 3, 3, 553,
  6201  	133, 132, 134, 3, 3, 3, 3, 3, 3, 3,
  6202  	3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
  6203  	3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
  6204  	3, 3, 3, 3, 153, 3, 3, 3, 3, 3,
  6205  	3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
  6206  	3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
  6207  	3, 3, 3, 3, 121, 3, 154,
  6208  }
  6209  
  6210  var yyTok2 = [...]int{
  6211  	2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
  6212  	12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
  6213  	22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
  6214  	32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
  6215  	42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
  6216  	52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
  6217  	62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
  6218  	72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
  6219  	82, 86, 87, 88, 89, 90, 91, 92, 93, 94,
  6220  	95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
  6221  	105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
  6222  	115, 116, 117, 118, 119, 120, 122, 123, 124, 126,
  6223  	127, 128, 129, 130, 131, 135, 136, 137, 138, 139,
  6224  	140, 141, 142, 144, 145, 150, 152, 155, 156, 157,
  6225  	158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
  6226  	168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
  6227  	178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
  6228  	188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
  6229  	198, 199, 201, 202, 203, 204, 205, 206, 207, 208,
  6230  	209, 210, 211, 212, 213, 214, 215, 216, 217, 218,
  6231  	219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
  6232  	229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
  6233  	239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
  6234  	249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
  6235  	259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
  6236  	269, 270, 271, 272, 273, 274,
  6237  }
  6238  
  6239  var yyTok3 = [...]int{
  6240  	57600, 275, 57601, 276, 57602, 277, 57603, 278, 57604, 279,
  6241  	57605, 280, 57606, 281, 57607, 282, 57608, 283, 57609, 284,
  6242  	57610, 285, 57611, 286, 57612, 287, 57613, 288, 57614, 289,
  6243  	57615, 290, 57616, 291, 57617, 292, 57618, 293, 57619, 294,
  6244  	57620, 295, 57621, 296, 57622, 297, 57623, 298, 57624, 299,
  6245  	57625, 300, 57626, 301, 57627, 302, 57628, 303, 57629, 304,
  6246  	57630, 305, 57631, 306, 57632, 307, 57633, 308, 57634, 309,
  6247  	57635, 310, 57636, 311, 57637, 312, 57638, 313, 57639, 314,
  6248  	57640, 315, 57641, 316, 57642, 317, 57643, 318, 57644, 319,
  6249  	57645, 320, 57646, 321, 57647, 322, 57648, 323, 57649, 324,
  6250  	57650, 325, 57651, 326, 57652, 327, 57653, 328, 57654, 329,
  6251  	57655, 330, 57656, 331, 57657, 332, 57658, 333, 57659, 334,
  6252  	57660, 335, 57661, 336, 57662, 337, 57663, 338, 57664, 339,
  6253  	57665, 340, 57666, 341, 57667, 342, 57668, 343, 57669, 344,
  6254  	57670, 345, 57671, 346, 57672, 347, 57673, 348, 57674, 349,
  6255  	57675, 350, 57676, 351, 57677, 352, 57678, 353, 57679, 354,
  6256  	57680, 355, 57681, 356, 57682, 357, 57683, 358, 57684, 359,
  6257  	57685, 360, 57686, 361, 57687, 362, 57688, 363, 57689, 364,
  6258  	57690, 365, 57691, 366, 57692, 367, 57693, 368, 57694, 369,
  6259  	57695, 370, 57696, 371, 57697, 372, 57698, 373, 57699, 374,
  6260  	57700, 375, 57701, 376, 57702, 377, 57703, 378, 57704, 379,
  6261  	57705, 380, 57706, 381, 57707, 382, 57708, 383, 57709, 384,
  6262  	57710, 385, 57711, 386, 57712, 387, 57713, 388, 57714, 389,
  6263  	57715, 390, 57716, 391, 57717, 392, 57718, 393, 57719, 394,
  6264  	57720, 395, 57721, 396, 57722, 397, 57723, 398, 57724, 399,
  6265  	57725, 400, 57726, 401, 57727, 402, 57728, 403, 57729, 404,
  6266  	57730, 405, 57731, 406, 57732, 407, 57733, 408, 57734, 409,
  6267  	57735, 410, 57736, 411, 57737, 412, 57738, 413, 57739, 414,
  6268  	57740, 415, 57741, 416, 57742, 417, 57743, 418, 57744, 419,
  6269  	57745, 420, 57746, 421, 57747, 422, 57748, 423, 57749, 424,
  6270  	57750, 425, 57751, 426, 57752, 427, 57753, 428, 57754, 429,
  6271  	57755, 430, 57756, 431, 57757, 432, 57758, 433, 57759, 434,
  6272  	57760, 435, 57761, 436, 57762, 437, 57763, 438, 57764, 439,
  6273  	57765, 440, 57766, 441, 57767, 442, 57768, 443, 57769, 444,
  6274  	57770, 445, 57771, 446, 57772, 447, 57773, 448, 57774, 449,
  6275  	57775, 450, 57776, 451, 57777, 452, 57778, 453, 57779, 454,
  6276  	57780, 455, 57781, 456, 57782, 457, 57783, 458, 57784, 459,
  6277  	57785, 460, 57786, 461, 57787, 462, 57788, 463, 57789, 464,
  6278  	57790, 465, 57791, 466, 57792, 467, 57793, 468, 57794, 469,
  6279  	57795, 470, 57796, 471, 57797, 472, 57798, 473, 57799, 474,
  6280  	57800, 475, 57801, 476, 57802, 477, 57803, 478, 57804, 479,
  6281  	57805, 480, 57806, 481, 57807, 482, 57808, 483, 57809, 484,
  6282  	57810, 485, 57811, 486, 57812, 487, 57813, 488, 57814, 489,
  6283  	57815, 490, 57816, 491, 57817, 492, 57818, 493, 57819, 494,
  6284  	57820, 495, 57821, 496, 57822, 497, 57823, 498, 57824, 499,
  6285  	57825, 500, 57826, 501, 57827, 502, 57828, 503, 57829, 504,
  6286  	57830, 505, 57831, 506, 57832, 507, 57833, 508, 57834, 509,
  6287  	57835, 510, 57836, 511, 57837, 512, 57838, 513, 57839, 514,
  6288  	57840, 515, 57841, 516, 57842, 517, 57843, 518, 57844, 519,
  6289  	57845, 520, 57846, 521, 57847, 522, 57848, 523, 57849, 524,
  6290  	57850, 525, 57851, 526, 57852, 527, 57853, 528, 57854, 529,
  6291  	57855, 530, 57856, 531, 57857, 532, 57858, 533, 57859, 534,
  6292  	57860, 535, 57861, 536, 57862, 537, 57863, 538, 57864, 539,
  6293  	57865, 540, 57866, 541, 57867, 542, 57868, 543, 57869, 544,
  6294  	57870, 545, 57871, 546, 57872, 547, 57873, 548, 57874, 549,
  6295  	57875, 550, 57876, 551, 57877, 552, 0,
  6296  }
  6297  
  6298  var yyErrorMessages = [...]struct {
  6299  	state int
  6300  	token int
  6301  	msg   string
  6302  }{}
  6303  
  6304  //line yaccpar:1
  6305  
  6306  /*	parser for yacc output	*/
  6307  
  6308  func yyIaddr(v interface{}) __yyunsafe__.Pointer {
  6309  	type h struct {
  6310  		t __yyunsafe__.Pointer
  6311  		p __yyunsafe__.Pointer
  6312  	}
  6313  	return (*h)(__yyunsafe__.Pointer(&v)).p
  6314  }
  6315  
  6316  var (
  6317  	yyDebug        = 0
  6318  	yyErrorVerbose = false
  6319  )
  6320  
  6321  type yyLexer interface {
  6322  	Lex(lval *yySymType) int
  6323  	Error(s string)
  6324  }
  6325  
  6326  type yyParser interface {
  6327  	Parse(yyLexer) int
  6328  	Lookahead() int
  6329  }
  6330  
  6331  type yyParserImpl struct {
  6332  	lval  yySymType
  6333  	stack [yyInitialStackSize]yySymType
  6334  	char  int
  6335  }
  6336  
  6337  func (p *yyParserImpl) Lookahead() int {
  6338  	return p.char
  6339  }
  6340  
  6341  func yyNewParser() yyParser {
  6342  	return &yyParserImpl{}
  6343  }
  6344  
  6345  const yyFlag = -1000
  6346  
  6347  func yyTokname(c int) string {
  6348  	if c >= 1 && c-1 < len(yyToknames) {
  6349  		if yyToknames[c-1] != "" {
  6350  			return yyToknames[c-1]
  6351  		}
  6352  	}
  6353  	return __yyfmt__.Sprintf("tok-%v", c)
  6354  }
  6355  
  6356  func yyStatname(s int) string {
  6357  	if s >= 0 && s < len(yyStatenames) {
  6358  		if yyStatenames[s] != "" {
  6359  			return yyStatenames[s]
  6360  		}
  6361  	}
  6362  	return __yyfmt__.Sprintf("state-%v", s)
  6363  }
  6364  
  6365  func yyErrorMessage(state, lookAhead int) string {
  6366  	const TOKSTART = 4
  6367  
  6368  	if !yyErrorVerbose {
  6369  		return "syntax error"
  6370  	}
  6371  
  6372  	for _, e := range yyErrorMessages {
  6373  		if e.state == state && e.token == lookAhead {
  6374  			return "syntax error: " + e.msg
  6375  		}
  6376  	}
  6377  
  6378  	res := "syntax error: unexpected " + yyTokname(lookAhead)
  6379  
  6380  	// To match Bison, suggest at most four expected tokens.
  6381  	expected := make([]int, 0, 4)
  6382  
  6383  	// Look for shiftable tokens.
  6384  	base := yyPact[state]
  6385  	for tok := TOKSTART; tok-1 < len(yyToknames); tok++ {
  6386  		if n := base + tok; n >= 0 && n < yyLast && yyChk[yyAct[n]] == tok {
  6387  			if len(expected) == cap(expected) {
  6388  				return res
  6389  			}
  6390  			expected = append(expected, tok)
  6391  		}
  6392  	}
  6393  
  6394  	if yyDef[state] == -2 {
  6395  		i := 0
  6396  		for yyExca[i] != -1 || yyExca[i+1] != state {
  6397  			i += 2
  6398  		}
  6399  
  6400  		// Look for tokens that we accept or reduce.
  6401  		for i += 2; yyExca[i] >= 0; i += 2 {
  6402  			tok := yyExca[i]
  6403  			if tok < TOKSTART || yyExca[i+1] == 0 {
  6404  				continue
  6405  			}
  6406  			if len(expected) == cap(expected) {
  6407  				return res
  6408  			}
  6409  			expected = append(expected, tok)
  6410  		}
  6411  
  6412  		// If the default action is to accept or reduce, give up.
  6413  		if yyExca[i+1] != 0 {
  6414  			return res
  6415  		}
  6416  	}
  6417  
  6418  	for i, tok := range expected {
  6419  		if i == 0 {
  6420  			res += ", expecting "
  6421  		} else {
  6422  			res += " or "
  6423  		}
  6424  		res += yyTokname(tok)
  6425  	}
  6426  	return res
  6427  }
  6428  
  6429  func yylex1(lex yyLexer, lval *yySymType) (char, token int) {
  6430  	token = 0
  6431  	char = lex.Lex(lval)
  6432  	if char <= 0 {
  6433  		token = yyTok1[0]
  6434  		goto out
  6435  	}
  6436  	if char < len(yyTok1) {
  6437  		token = yyTok1[char]
  6438  		goto out
  6439  	}
  6440  	if char >= yyPrivate {
  6441  		if char < yyPrivate+len(yyTok2) {
  6442  			token = yyTok2[char-yyPrivate]
  6443  			goto out
  6444  		}
  6445  	}
  6446  	for i := 0; i < len(yyTok3); i += 2 {
  6447  		token = yyTok3[i+0]
  6448  		if token == char {
  6449  			token = yyTok3[i+1]
  6450  			goto out
  6451  		}
  6452  	}
  6453  
  6454  out:
  6455  	if token == 0 {
  6456  		token = yyTok2[1] /* unknown char */
  6457  	}
  6458  	if yyDebug >= 3 {
  6459  		__yyfmt__.Printf("lex %s(%d)\n", yyTokname(token), uint(char))
  6460  	}
  6461  	return char, token
  6462  }
  6463  
  6464  func yyParse(yylex yyLexer) int {
  6465  	return yyNewParser().Parse(yylex)
  6466  }
  6467  
  6468  func (yyrcvr *yyParserImpl) Parse(yylex yyLexer) int {
  6469  	var yyn int
  6470  	var yyVAL yySymType
  6471  	var yyDollar []yySymType
  6472  	_ = yyDollar // silence set and not used
  6473  	yyS := yyrcvr.stack[:]
  6474  
  6475  	Nerrs := 0   /* number of errors */
  6476  	Errflag := 0 /* error recovery flag */
  6477  	yystate := 0
  6478  	yyrcvr.char = -1
  6479  	yytoken := -1 // yyrcvr.char translated into internal numbering
  6480  	defer func() {
  6481  		// Make sure we report no lookahead when not parsing.
  6482  		yystate = -1
  6483  		yyrcvr.char = -1
  6484  		yytoken = -1
  6485  	}()
  6486  	yyp := -1
  6487  	goto yystack
  6488  
  6489  ret0:
  6490  	return 0
  6491  
  6492  ret1:
  6493  	return 1
  6494  
  6495  yystack:
  6496  	/* put a state and value onto the stack */
  6497  	if yyDebug >= 4 {
  6498  		__yyfmt__.Printf("char %v in %v\n", yyTokname(yytoken), yyStatname(yystate))
  6499  	}
  6500  
  6501  	yyp++
  6502  	if yyp >= len(yyS) {
  6503  		nyys := make([]yySymType, len(yyS)*2)
  6504  		copy(nyys, yyS)
  6505  		yyS = nyys
  6506  	}
  6507  	yyS[yyp] = yyVAL
  6508  	yyS[yyp].yys = yystate
  6509  
  6510  yynewstate:
  6511  	yyn = yyPact[yystate]
  6512  	if yyn <= yyFlag {
  6513  		goto yydefault /* simple state */
  6514  	}
  6515  	if yyrcvr.char < 0 {
  6516  		yyrcvr.char, yytoken = yylex1(yylex, &yyrcvr.lval)
  6517  	}
  6518  	yyn += yytoken
  6519  	if yyn < 0 || yyn >= yyLast {
  6520  		goto yydefault
  6521  	}
  6522  	yyn = yyAct[yyn]
  6523  	if yyChk[yyn] == yytoken { /* valid shift */
  6524  		yyrcvr.char = -1
  6525  		yytoken = -1
  6526  		yyVAL = yyrcvr.lval
  6527  		yystate = yyn
  6528  		if Errflag > 0 {
  6529  			Errflag--
  6530  		}
  6531  		goto yystack
  6532  	}
  6533  
  6534  yydefault:
  6535  	/* default state action */
  6536  	yyn = yyDef[yystate]
  6537  	if yyn == -2 {
  6538  		if yyrcvr.char < 0 {
  6539  			yyrcvr.char, yytoken = yylex1(yylex, &yyrcvr.lval)
  6540  		}
  6541  
  6542  		/* look through exception table */
  6543  		xi := 0
  6544  		for {
  6545  			if yyExca[xi+0] == -1 && yyExca[xi+1] == yystate {
  6546  				break
  6547  			}
  6548  			xi += 2
  6549  		}
  6550  		for xi += 2; ; xi += 2 {
  6551  			yyn = yyExca[xi+0]
  6552  			if yyn < 0 || yyn == yytoken {
  6553  				break
  6554  			}
  6555  		}
  6556  		yyn = yyExca[xi+1]
  6557  		if yyn < 0 {
  6558  			goto ret0
  6559  		}
  6560  	}
  6561  	if yyn == 0 {
  6562  		/* error ... attempt to resume parsing */
  6563  		switch Errflag {
  6564  		case 0: /* brand new error */
  6565  			yylex.Error(yyErrorMessage(yystate, yytoken))
  6566  			Nerrs++
  6567  			if yyDebug >= 1 {
  6568  				__yyfmt__.Printf("%s", yyStatname(yystate))
  6569  				__yyfmt__.Printf(" saw %s\n", yyTokname(yytoken))
  6570  			}
  6571  			fallthrough
  6572  
  6573  		case 1, 2: /* incompletely recovered error ... try again */
  6574  			Errflag = 3
  6575  
  6576  			/* find a state where "error" is a legal shift action */
  6577  			for yyp >= 0 {
  6578  				yyn = yyPact[yyS[yyp].yys] + yyErrCode
  6579  				if yyn >= 0 && yyn < yyLast {
  6580  					yystate = yyAct[yyn] /* simulate a shift of "error" */
  6581  					if yyChk[yystate] == yyErrCode {
  6582  						goto yystack
  6583  					}
  6584  				}
  6585  
  6586  				/* the current p has no shift on "error", pop stack */
  6587  				if yyDebug >= 2 {
  6588  					__yyfmt__.Printf("error recovery pops state %d\n", yyS[yyp].yys)
  6589  				}
  6590  				yyp--
  6591  			}
  6592  			/* there is no state on the stack with an error shift ... abort */
  6593  			goto ret1
  6594  
  6595  		case 3: /* no shift yet; clobber input char */
  6596  			if yyDebug >= 2 {
  6597  				__yyfmt__.Printf("error recovery discards %s\n", yyTokname(yytoken))
  6598  			}
  6599  			if yytoken == yyEofCode {
  6600  				goto ret1
  6601  			}
  6602  			yyrcvr.char = -1
  6603  			yytoken = -1
  6604  			goto yynewstate /* try again in the same state */
  6605  		}
  6606  	}
  6607  
  6608  	/* reduction by production yyn */
  6609  	if yyDebug >= 2 {
  6610  		__yyfmt__.Printf("reduce %v in:\n\t%v\n", yyn, yyStatname(yystate))
  6611  	}
  6612  
  6613  	yynt := yyn
  6614  	yypt := yyp
  6615  	_ = yypt // guard against "declared and not used"
  6616  
  6617  	yyp -= yyR2[yyn]
  6618  	// yyp is now the index of $0. Perform the default action. Iff the
  6619  	// reduced production is ε, $1 is possibly out of range.
  6620  	if yyp+1 >= len(yyS) {
  6621  		nyys := make([]yySymType, len(yyS)*2)
  6622  		copy(nyys, yyS)
  6623  		yyS = nyys
  6624  	}
  6625  	yyVAL = yyS[yyp+1]
  6626  
  6627  	/* consult goto table to find next state */
  6628  	yyn = yyR1[yyn]
  6629  	yyg := yyPgo[yyn]
  6630  	yyj := yyg + yyS[yyp].yys + 1
  6631  
  6632  	if yyj >= yyLast {
  6633  		yystate = yyAct[yyg]
  6634  	} else {
  6635  		yystate = yyAct[yyj]
  6636  		if yyChk[yystate] != -yyn {
  6637  			yystate = yyAct[yyg]
  6638  		}
  6639  	}
  6640  	// dummy call; replaced with literal code
  6641  	switch yynt {
  6642  
  6643  	case 1:
  6644  		yyDollar = yyS[yypt-2 : yypt+1]
  6645  //line sql.y:463
  6646  		{
  6647  			setParseTree(yylex, yyDollar[1].statementUnion())
  6648  		}
  6649  	case 2:
  6650  		yyDollar = yyS[yypt-0 : yypt+1]
  6651  //line sql.y:468
  6652  		{
  6653  		}
  6654  	case 3:
  6655  		yyDollar = yyS[yypt-1 : yypt+1]
  6656  //line sql.y:469
  6657  		{
  6658  		}
  6659  	case 4:
  6660  		yyDollar = yyS[yypt-1 : yypt+1]
  6661  		var yyLOCAL Statement
  6662  //line sql.y:473
  6663  		{
  6664  			yyLOCAL = yyDollar[1].selStmtUnion()
  6665  		}
  6666  		yyVAL.union = yyLOCAL
  6667  	case 34:
  6668  		yyDollar = yyS[yypt-0 : yypt+1]
  6669  //line sql.y:506
  6670  		{
  6671  			setParseTree(yylex, nil)
  6672  		}
  6673  	case 35:
  6674  		yyDollar = yyS[yypt-1 : yypt+1]
  6675  //line sql.y:512
  6676  		{
  6677  			yyVAL.colIdent = NewColIdentWithAt(string(yyDollar[1].str), NoAt)
  6678  		}
  6679  	case 36:
  6680  		yyDollar = yyS[yypt-1 : yypt+1]
  6681  //line sql.y:516
  6682  		{
  6683  			yyVAL.colIdent = NewColIdentWithAt(string(yyDollar[1].str), SingleAt)
  6684  		}
  6685  	case 37:
  6686  		yyDollar = yyS[yypt-1 : yypt+1]
  6687  //line sql.y:520
  6688  		{
  6689  			yyVAL.colIdent = NewColIdentWithAt(string(yyDollar[1].str), DoubleAt)
  6690  		}
  6691  	case 38:
  6692  		yyDollar = yyS[yypt-0 : yypt+1]
  6693  //line sql.y:525
  6694  		{
  6695  			yyVAL.colIdent = NewColIdentWithAt("", NoAt)
  6696  		}
  6697  	case 39:
  6698  		yyDollar = yyS[yypt-1 : yypt+1]
  6699  //line sql.y:529
  6700  		{
  6701  			yyVAL.colIdent = yyDollar[1].colIdent
  6702  		}
  6703  	case 40:
  6704  		yyDollar = yyS[yypt-2 : yypt+1]
  6705  		var yyLOCAL Statement
  6706  //line sql.y:535
  6707  		{
  6708  			yyLOCAL = &OtherAdmin{}
  6709  		}
  6710  		yyVAL.union = yyLOCAL
  6711  	case 41:
  6712  		yyDollar = yyS[yypt-3 : yypt+1]
  6713  		var yyLOCAL Statement
  6714  //line sql.y:541
  6715  		{
  6716  			yyLOCAL = &Load{}
  6717  		}
  6718  		yyVAL.union = yyLOCAL
  6719  	case 42:
  6720  		yyDollar = yyS[yypt-2 : yypt+1]
  6721  		var yyLOCAL *With
  6722  //line sql.y:547
  6723  		{
  6724  			yyLOCAL = &With{ctes: yyDollar[2].ctesUnion(), Recursive: false}
  6725  		}
  6726  		yyVAL.union = yyLOCAL
  6727  	case 43:
  6728  		yyDollar = yyS[yypt-3 : yypt+1]
  6729  		var yyLOCAL *With
  6730  //line sql.y:551
  6731  		{
  6732  			yyLOCAL = &With{ctes: yyDollar[3].ctesUnion(), Recursive: true}
  6733  		}
  6734  		yyVAL.union = yyLOCAL
  6735  	case 44:
  6736  		yyDollar = yyS[yypt-0 : yypt+1]
  6737  		var yyLOCAL *With
  6738  //line sql.y:556
  6739  		{
  6740  			yyLOCAL = nil
  6741  		}
  6742  		yyVAL.union = yyLOCAL
  6743  	case 45:
  6744  		yyDollar = yyS[yypt-1 : yypt+1]
  6745  		var yyLOCAL *With
  6746  //line sql.y:560
  6747  		{
  6748  			yyLOCAL = yyDollar[1].withUnion()
  6749  		}
  6750  		yyVAL.union = yyLOCAL
  6751  	case 46:
  6752  		yyDollar = yyS[yypt-3 : yypt+1]
  6753  //line sql.y:566
  6754  		{
  6755  			yySLICE := (*[]*CommonTableExpr)(yyIaddr(yyVAL.union))
  6756  			*yySLICE = append(*yySLICE, yyDollar[3].cteUnion())
  6757  		}
  6758  	case 47:
  6759  		yyDollar = yyS[yypt-1 : yypt+1]
  6760  		var yyLOCAL []*CommonTableExpr
  6761  //line sql.y:570
  6762  		{
  6763  			yyLOCAL = []*CommonTableExpr{yyDollar[1].cteUnion()}
  6764  		}
  6765  		yyVAL.union = yyLOCAL
  6766  	case 48:
  6767  		yyDollar = yyS[yypt-4 : yypt+1]
  6768  		var yyLOCAL *CommonTableExpr
  6769  //line sql.y:576
  6770  		{
  6771  			yyLOCAL = &CommonTableExpr{TableID: yyDollar[1].tableIdent, Columns: yyDollar[2].columnsUnion(), Subquery: yyDollar[4].subqueryUnion()}
  6772  		}
  6773  		yyVAL.union = yyLOCAL
  6774  	case 49:
  6775  		yyDollar = yyS[yypt-3 : yypt+1]
  6776  		var yyLOCAL SelectStatement
  6777  //line sql.y:582
  6778  		{
  6779  			yyLOCAL = yyDollar[2].selStmtUnion()
  6780  		}
  6781  		yyVAL.union = yyLOCAL
  6782  	case 50:
  6783  		yyDollar = yyS[yypt-3 : yypt+1]
  6784  		var yyLOCAL SelectStatement
  6785  //line sql.y:586
  6786  		{
  6787  			yyLOCAL = yyDollar[2].selStmtUnion()
  6788  		}
  6789  		yyVAL.union = yyLOCAL
  6790  	case 51:
  6791  		yyDollar = yyS[yypt-4 : yypt+1]
  6792  		var yyLOCAL SelectStatement
  6793  //line sql.y:590
  6794  		{
  6795  			setLockInSelect(yyDollar[2].selStmtUnion(), yyDollar[3].lockUnion())
  6796  			yyLOCAL = yyDollar[2].selStmtUnion()
  6797  		}
  6798  		yyVAL.union = yyLOCAL
  6799  	case 52:
  6800  		yyDollar = yyS[yypt-3 : yypt+1]
  6801  		var yyLOCAL SelectStatement
  6802  //line sql.y:613
  6803  		{
  6804  			yyDollar[1].selStmtUnion().SetOrderBy(yyDollar[2].orderByUnion())
  6805  			yyDollar[1].selStmtUnion().SetLimit(yyDollar[3].limitUnion())
  6806  			yyLOCAL = yyDollar[1].selStmtUnion()
  6807  		}
  6808  		yyVAL.union = yyLOCAL
  6809  	case 53:
  6810  		yyDollar = yyS[yypt-2 : yypt+1]
  6811  		var yyLOCAL SelectStatement
  6812  //line sql.y:619
  6813  		{
  6814  			yyDollar[1].selStmtUnion().SetLimit(yyDollar[2].limitUnion())
  6815  			yyLOCAL = yyDollar[1].selStmtUnion()
  6816  		}
  6817  		yyVAL.union = yyLOCAL
  6818  	case 54:
  6819  		yyDollar = yyS[yypt-3 : yypt+1]
  6820  		var yyLOCAL SelectStatement
  6821  //line sql.y:624
  6822  		{
  6823  			yyDollar[1].selStmtUnion().SetOrderBy(yyDollar[2].orderByUnion())
  6824  			yyDollar[1].selStmtUnion().SetLimit(yyDollar[3].limitUnion())
  6825  			yyLOCAL = yyDollar[1].selStmtUnion()
  6826  		}
  6827  		yyVAL.union = yyLOCAL
  6828  	case 55:
  6829  		yyDollar = yyS[yypt-4 : yypt+1]
  6830  		var yyLOCAL SelectStatement
  6831  //line sql.y:630
  6832  		{
  6833  			yyDollar[2].selStmtUnion().SetWith(yyDollar[1].withUnion())
  6834  			yyDollar[2].selStmtUnion().SetOrderBy(yyDollar[3].orderByUnion())
  6835  			yyDollar[2].selStmtUnion().SetLimit(yyDollar[4].limitUnion())
  6836  			yyLOCAL = yyDollar[2].selStmtUnion()
  6837  		}
  6838  		yyVAL.union = yyLOCAL
  6839  	case 56:
  6840  		yyDollar = yyS[yypt-3 : yypt+1]
  6841  		var yyLOCAL SelectStatement
  6842  //line sql.y:637
  6843  		{
  6844  			yyDollar[2].selStmtUnion().SetWith(yyDollar[1].withUnion())
  6845  			yyDollar[2].selStmtUnion().SetLimit(yyDollar[3].limitUnion())
  6846  			yyLOCAL = yyDollar[2].selStmtUnion()
  6847  		}
  6848  		yyVAL.union = yyLOCAL
  6849  	case 57:
  6850  		yyDollar = yyS[yypt-4 : yypt+1]
  6851  		var yyLOCAL SelectStatement
  6852  //line sql.y:643
  6853  		{
  6854  			yyDollar[2].selStmtUnion().SetWith(yyDollar[1].withUnion())
  6855  			yyDollar[2].selStmtUnion().SetOrderBy(yyDollar[3].orderByUnion())
  6856  			yyDollar[2].selStmtUnion().SetLimit(yyDollar[4].limitUnion())
  6857  			yyLOCAL = yyDollar[2].selStmtUnion()
  6858  		}
  6859  		yyVAL.union = yyLOCAL
  6860  	case 58:
  6861  		yyDollar = yyS[yypt-2 : yypt+1]
  6862  //line sql.y:650
  6863  		{
  6864  			yyDollar[2].selStmtUnion().SetWith(yyDollar[1].withUnion())
  6865  		}
  6866  	case 59:
  6867  		yyDollar = yyS[yypt-7 : yypt+1]
  6868  		var yyLOCAL SelectStatement
  6869  //line sql.y:654
  6870  		{
  6871  			yyLOCAL = NewSelect(Comments(yyDollar[2].strs), SelectExprs{&Nextval{Expr: yyDollar[5].exprUnion()}}, []string{yyDollar[3].str} /*options*/, nil, TableExprs{&AliasedTableExpr{Expr: yyDollar[7].tableName}}, nil /*where*/, nil /*groupBy*/, nil /*having*/)
  6872  		}
  6873  		yyVAL.union = yyLOCAL
  6874  	case 60:
  6875  		yyDollar = yyS[yypt-1 : yypt+1]
  6876  		var yyLOCAL SelectStatement
  6877  //line sql.y:660
  6878  		{
  6879  			yyLOCAL = yyDollar[1].selStmtUnion()
  6880  		}
  6881  		yyVAL.union = yyLOCAL
  6882  	case 61:
  6883  		yyDollar = yyS[yypt-3 : yypt+1]
  6884  		var yyLOCAL SelectStatement
  6885  //line sql.y:664
  6886  		{
  6887  			yyLOCAL = &Union{Left: yyDollar[1].selStmtUnion(), Distinct: yyDollar[2].booleanUnion(), Right: yyDollar[3].selStmtUnion()}
  6888  		}
  6889  		yyVAL.union = yyLOCAL
  6890  	case 62:
  6891  		yyDollar = yyS[yypt-3 : yypt+1]
  6892  		var yyLOCAL SelectStatement
  6893  //line sql.y:668
  6894  		{
  6895  			yyLOCAL = &Union{Left: yyDollar[1].selStmtUnion(), Distinct: yyDollar[2].booleanUnion(), Right: yyDollar[3].selStmtUnion()}
  6896  		}
  6897  		yyVAL.union = yyLOCAL
  6898  	case 63:
  6899  		yyDollar = yyS[yypt-3 : yypt+1]
  6900  		var yyLOCAL SelectStatement
  6901  //line sql.y:672
  6902  		{
  6903  			yyLOCAL = &Union{Left: yyDollar[1].selStmtUnion(), Distinct: yyDollar[2].booleanUnion(), Right: yyDollar[3].selStmtUnion()}
  6904  		}
  6905  		yyVAL.union = yyLOCAL
  6906  	case 64:
  6907  		yyDollar = yyS[yypt-3 : yypt+1]
  6908  		var yyLOCAL SelectStatement
  6909  //line sql.y:676
  6910  		{
  6911  			yyLOCAL = &Union{Left: yyDollar[1].selStmtUnion(), Distinct: yyDollar[2].booleanUnion(), Right: yyDollar[3].selStmtUnion()}
  6912  		}
  6913  		yyVAL.union = yyLOCAL
  6914  	case 65:
  6915  		yyDollar = yyS[yypt-1 : yypt+1]
  6916  		var yyLOCAL SelectStatement
  6917  //line sql.y:682
  6918  		{
  6919  			yyLOCAL = yyDollar[1].selStmtUnion()
  6920  		}
  6921  		yyVAL.union = yyLOCAL
  6922  	case 66:
  6923  		yyDollar = yyS[yypt-2 : yypt+1]
  6924  		var yyLOCAL SelectStatement
  6925  //line sql.y:686
  6926  		{
  6927  			setLockInSelect(yyDollar[1].selStmtUnion(), yyDollar[2].lockUnion())
  6928  			yyLOCAL = yyDollar[1].selStmtUnion()
  6929  		}
  6930  		yyVAL.union = yyLOCAL
  6931  	case 67:
  6932  		yyDollar = yyS[yypt-1 : yypt+1]
  6933  		var yyLOCAL SelectStatement
  6934  //line sql.y:691
  6935  		{
  6936  			yyLOCAL = yyDollar[1].selStmtUnion()
  6937  		}
  6938  		yyVAL.union = yyLOCAL
  6939  	case 68:
  6940  		yyDollar = yyS[yypt-1 : yypt+1]
  6941  		var yyLOCAL SelectStatement
  6942  //line sql.y:695
  6943  		{
  6944  			yyLOCAL = yyDollar[1].selStmtUnion()
  6945  		}
  6946  		yyVAL.union = yyLOCAL
  6947  	case 69:
  6948  		yyDollar = yyS[yypt-3 : yypt+1]
  6949  		var yyLOCAL SelectStatement
  6950  //line sql.y:701
  6951  		{
  6952  			yyLOCAL = yyDollar[2].selStmtUnion()
  6953  		}
  6954  		yyVAL.union = yyLOCAL
  6955  	case 70:
  6956  		yyDollar = yyS[yypt-2 : yypt+1]
  6957  		var yyLOCAL SelectStatement
  6958  //line sql.y:705
  6959  		{
  6960  			yyDollar[1].selStmtUnion().SetInto(yyDollar[2].selectIntoUnion())
  6961  			yyLOCAL = yyDollar[1].selStmtUnion()
  6962  		}
  6963  		yyVAL.union = yyLOCAL
  6964  	case 71:
  6965  		yyDollar = yyS[yypt-3 : yypt+1]
  6966  		var yyLOCAL SelectStatement
  6967  //line sql.y:710
  6968  		{
  6969  			yyDollar[1].selStmtUnion().SetInto(yyDollar[2].selectIntoUnion())
  6970  			yyDollar[1].selStmtUnion().SetLock(yyDollar[3].lockUnion())
  6971  			yyLOCAL = yyDollar[1].selStmtUnion()
  6972  		}
  6973  		yyVAL.union = yyLOCAL
  6974  	case 72:
  6975  		yyDollar = yyS[yypt-3 : yypt+1]
  6976  		var yyLOCAL SelectStatement
  6977  //line sql.y:716
  6978  		{
  6979  			yyDollar[1].selStmtUnion().SetInto(yyDollar[3].selectIntoUnion())
  6980  			yyDollar[1].selStmtUnion().SetLock(yyDollar[2].lockUnion())
  6981  			yyLOCAL = yyDollar[1].selStmtUnion()
  6982  		}
  6983  		yyVAL.union = yyLOCAL
  6984  	case 73:
  6985  		yyDollar = yyS[yypt-2 : yypt+1]
  6986  		var yyLOCAL SelectStatement
  6987  //line sql.y:722
  6988  		{
  6989  			yyDollar[1].selStmtUnion().SetInto(yyDollar[2].selectIntoUnion())
  6990  			yyLOCAL = yyDollar[1].selStmtUnion()
  6991  		}
  6992  		yyVAL.union = yyLOCAL
  6993  	case 74:
  6994  		yyDollar = yyS[yypt-5 : yypt+1]
  6995  		var yyLOCAL Statement
  6996  //line sql.y:729
  6997  		{
  6998  			yyLOCAL = &Stream{Comments: Comments(yyDollar[2].strs), SelectExpr: yyDollar[3].selectExprUnion(), Table: yyDollar[5].tableName}
  6999  		}
  7000  		yyVAL.union = yyLOCAL
  7001  	case 75:
  7002  		yyDollar = yyS[yypt-7 : yypt+1]
  7003  		var yyLOCAL Statement
  7004  //line sql.y:735
  7005  		{
  7006  			yyLOCAL = &VStream{Comments: Comments(yyDollar[2].strs), SelectExpr: yyDollar[3].selectExprUnion(), Table: yyDollar[5].tableName, Where: NewWhere(WhereClause, yyDollar[6].exprUnion()), Limit: yyDollar[7].limitUnion()}
  7007  		}
  7008  		yyVAL.union = yyLOCAL
  7009  	case 76:
  7010  		yyDollar = yyS[yypt-9 : yypt+1]
  7011  		var yyLOCAL SelectStatement
  7012  //line sql.y:743
  7013  		{
  7014  			yyLOCAL = NewSelect(Comments(yyDollar[2].strs), yyDollar[4].selectExprsUnion() /*SelectExprs*/, yyDollar[3].strs /*options*/, yyDollar[5].selectIntoUnion() /*into*/, yyDollar[6].tableExprsUnion() /*from*/, NewWhere(WhereClause, yyDollar[7].exprUnion()), GroupBy(yyDollar[8].exprsUnion()), NewWhere(HavingClause, yyDollar[9].exprUnion()))
  7015  		}
  7016  		yyVAL.union = yyLOCAL
  7017  	case 77:
  7018  		yyDollar = yyS[yypt-8 : yypt+1]
  7019  		var yyLOCAL SelectStatement
  7020  //line sql.y:747
  7021  		{
  7022  			yyLOCAL = NewSelect(Comments(yyDollar[2].strs), yyDollar[4].selectExprsUnion() /*SelectExprs*/, yyDollar[3].strs /*options*/, nil, yyDollar[5].tableExprsUnion() /*from*/, NewWhere(WhereClause, yyDollar[6].exprUnion()), GroupBy(yyDollar[7].exprsUnion()), NewWhere(HavingClause, yyDollar[8].exprUnion()))
  7023  		}
  7024  		yyVAL.union = yyLOCAL
  7025  	case 78:
  7026  		yyDollar = yyS[yypt-7 : yypt+1]
  7027  		var yyLOCAL Statement
  7028  //line sql.y:755
  7029  		{
  7030  			// insert_data returns a *Insert pre-filled with Columns & Values
  7031  			ins := yyDollar[6].insUnion()
  7032  			ins.Action = yyDollar[1].insertActionUnion()
  7033  			ins.Comments = yyDollar[2].strs
  7034  			ins.Ignore = yyDollar[3].ignoreUnion()
  7035  			ins.Table = yyDollar[4].tableName
  7036  			ins.Partitions = yyDollar[5].partitionsUnion()
  7037  			ins.OnDup = OnDup(yyDollar[7].updateExprsUnion())
  7038  			yyLOCAL = ins
  7039  		}
  7040  		yyVAL.union = yyLOCAL
  7041  	case 79:
  7042  		yyDollar = yyS[yypt-8 : yypt+1]
  7043  		var yyLOCAL Statement
  7044  //line sql.y:767
  7045  		{
  7046  			cols := make(Columns, 0, len(yyDollar[7].updateExprsUnion()))
  7047  			vals := make(ValTuple, 0, len(yyDollar[8].updateExprsUnion()))
  7048  			for _, updateList := range yyDollar[7].updateExprsUnion() {
  7049  				cols = append(cols, updateList.Name.Name)
  7050  				vals = append(vals, updateList.Expr)
  7051  			}
  7052  			yyLOCAL = &Insert{Action: yyDollar[1].insertActionUnion(), Comments: Comments(yyDollar[2].strs), Ignore: yyDollar[3].ignoreUnion(), Table: yyDollar[4].tableName, Partitions: yyDollar[5].partitionsUnion(), Columns: cols, Rows: Values{vals}, OnDup: OnDup(yyDollar[8].updateExprsUnion())}
  7053  		}
  7054  		yyVAL.union = yyLOCAL
  7055  	case 80:
  7056  		yyDollar = yyS[yypt-1 : yypt+1]
  7057  		var yyLOCAL InsertAction
  7058  //line sql.y:779
  7059  		{
  7060  			yyLOCAL = InsertAct
  7061  		}
  7062  		yyVAL.union = yyLOCAL
  7063  	case 81:
  7064  		yyDollar = yyS[yypt-1 : yypt+1]
  7065  		var yyLOCAL InsertAction
  7066  //line sql.y:783
  7067  		{
  7068  			yyLOCAL = ReplaceAct
  7069  		}
  7070  		yyVAL.union = yyLOCAL
  7071  	case 82:
  7072  		yyDollar = yyS[yypt-10 : yypt+1]
  7073  		var yyLOCAL Statement
  7074  //line sql.y:789
  7075  		{
  7076  			yyLOCAL = &Update{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs), Ignore: yyDollar[4].ignoreUnion(), TableExprs: yyDollar[5].tableExprsUnion(), Exprs: yyDollar[7].updateExprsUnion(), Where: NewWhere(WhereClause, yyDollar[8].exprUnion()), OrderBy: yyDollar[9].orderByUnion(), Limit: yyDollar[10].limitUnion()}
  7077  		}
  7078  		yyVAL.union = yyLOCAL
  7079  	case 83:
  7080  		yyDollar = yyS[yypt-11 : yypt+1]
  7081  		var yyLOCAL Statement
  7082  //line sql.y:795
  7083  		{
  7084  			yyLOCAL = &Delete{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs), Ignore: yyDollar[4].ignoreUnion(), TableExprs: TableExprs{&AliasedTableExpr{Expr: yyDollar[6].tableName, As: yyDollar[7].tableIdent}}, Partitions: yyDollar[8].partitionsUnion(), Where: NewWhere(WhereClause, yyDollar[9].exprUnion()), OrderBy: yyDollar[10].orderByUnion(), Limit: yyDollar[11].limitUnion()}
  7085  		}
  7086  		yyVAL.union = yyLOCAL
  7087  	case 84:
  7088  		yyDollar = yyS[yypt-9 : yypt+1]
  7089  		var yyLOCAL Statement
  7090  //line sql.y:799
  7091  		{
  7092  			yyLOCAL = &Delete{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs), Ignore: yyDollar[4].ignoreUnion(), Targets: yyDollar[6].tableNamesUnion(), TableExprs: yyDollar[8].tableExprsUnion(), Where: NewWhere(WhereClause, yyDollar[9].exprUnion())}
  7093  		}
  7094  		yyVAL.union = yyLOCAL
  7095  	case 85:
  7096  		yyDollar = yyS[yypt-8 : yypt+1]
  7097  		var yyLOCAL Statement
  7098  //line sql.y:803
  7099  		{
  7100  			yyLOCAL = &Delete{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs), Ignore: yyDollar[4].ignoreUnion(), Targets: yyDollar[5].tableNamesUnion(), TableExprs: yyDollar[7].tableExprsUnion(), Where: NewWhere(WhereClause, yyDollar[8].exprUnion())}
  7101  		}
  7102  		yyVAL.union = yyLOCAL
  7103  	case 86:
  7104  		yyDollar = yyS[yypt-8 : yypt+1]
  7105  		var yyLOCAL Statement
  7106  //line sql.y:807
  7107  		{
  7108  			yyLOCAL = &Delete{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs), Ignore: yyDollar[4].ignoreUnion(), Targets: yyDollar[5].tableNamesUnion(), TableExprs: yyDollar[7].tableExprsUnion(), Where: NewWhere(WhereClause, yyDollar[8].exprUnion())}
  7109  		}
  7110  		yyVAL.union = yyLOCAL
  7111  	case 87:
  7112  		yyDollar = yyS[yypt-1 : yypt+1]
  7113  //line sql.y:812
  7114  		{
  7115  		}
  7116  	case 88:
  7117  		yyDollar = yyS[yypt-1 : yypt+1]
  7118  //line sql.y:813
  7119  		{
  7120  		}
  7121  	case 89:
  7122  		yyDollar = yyS[yypt-1 : yypt+1]
  7123  		var yyLOCAL TableNames
  7124  //line sql.y:817
  7125  		{
  7126  			yyLOCAL = TableNames{yyDollar[1].tableName.ToViewName()}
  7127  		}
  7128  		yyVAL.union = yyLOCAL
  7129  	case 90:
  7130  		yyDollar = yyS[yypt-3 : yypt+1]
  7131  //line sql.y:821
  7132  		{
  7133  			yySLICE := (*TableNames)(yyIaddr(yyVAL.union))
  7134  			*yySLICE = append(*yySLICE, yyDollar[3].tableName.ToViewName())
  7135  		}
  7136  	case 91:
  7137  		yyDollar = yyS[yypt-1 : yypt+1]
  7138  		var yyLOCAL TableNames
  7139  //line sql.y:827
  7140  		{
  7141  			yyLOCAL = TableNames{yyDollar[1].tableName}
  7142  		}
  7143  		yyVAL.union = yyLOCAL
  7144  	case 92:
  7145  		yyDollar = yyS[yypt-3 : yypt+1]
  7146  //line sql.y:831
  7147  		{
  7148  			yySLICE := (*TableNames)(yyIaddr(yyVAL.union))
  7149  			*yySLICE = append(*yySLICE, yyDollar[3].tableName)
  7150  		}
  7151  	case 93:
  7152  		yyDollar = yyS[yypt-1 : yypt+1]
  7153  		var yyLOCAL TableNames
  7154  //line sql.y:837
  7155  		{
  7156  			yyLOCAL = TableNames{yyDollar[1].tableName}
  7157  		}
  7158  		yyVAL.union = yyLOCAL
  7159  	case 94:
  7160  		yyDollar = yyS[yypt-3 : yypt+1]
  7161  //line sql.y:841
  7162  		{
  7163  			yySLICE := (*TableNames)(yyIaddr(yyVAL.union))
  7164  			*yySLICE = append(*yySLICE, yyDollar[3].tableName)
  7165  		}
  7166  	case 95:
  7167  		yyDollar = yyS[yypt-0 : yypt+1]
  7168  		var yyLOCAL Partitions
  7169  //line sql.y:846
  7170  		{
  7171  			yyLOCAL = nil
  7172  		}
  7173  		yyVAL.union = yyLOCAL
  7174  	case 96:
  7175  		yyDollar = yyS[yypt-4 : yypt+1]
  7176  		var yyLOCAL Partitions
  7177  //line sql.y:850
  7178  		{
  7179  			yyLOCAL = yyDollar[3].partitionsUnion()
  7180  		}
  7181  		yyVAL.union = yyLOCAL
  7182  	case 97:
  7183  		yyDollar = yyS[yypt-3 : yypt+1]
  7184  		var yyLOCAL Statement
  7185  //line sql.y:856
  7186  		{
  7187  			yyLOCAL = &Set{Comments: Comments(yyDollar[2].strs), Exprs: yyDollar[3].setExprsUnion()}
  7188  		}
  7189  		yyVAL.union = yyLOCAL
  7190  	case 98:
  7191  		yyDollar = yyS[yypt-5 : yypt+1]
  7192  		var yyLOCAL Statement
  7193  //line sql.y:862
  7194  		{
  7195  			yyLOCAL = &SetTransaction{Comments: Comments(yyDollar[2].strs), Scope: yyDollar[3].scopeUnion(), Characteristics: yyDollar[5].characteristicsUnion()}
  7196  		}
  7197  		yyVAL.union = yyLOCAL
  7198  	case 99:
  7199  		yyDollar = yyS[yypt-4 : yypt+1]
  7200  		var yyLOCAL Statement
  7201  //line sql.y:866
  7202  		{
  7203  			yyLOCAL = &SetTransaction{Comments: Comments(yyDollar[2].strs), Characteristics: yyDollar[4].characteristicsUnion(), Scope: ImplicitScope}
  7204  		}
  7205  		yyVAL.union = yyLOCAL
  7206  	case 100:
  7207  		yyDollar = yyS[yypt-1 : yypt+1]
  7208  		var yyLOCAL []Characteristic
  7209  //line sql.y:872
  7210  		{
  7211  			yyLOCAL = []Characteristic{yyDollar[1].characteristicUnion()}
  7212  		}
  7213  		yyVAL.union = yyLOCAL
  7214  	case 101:
  7215  		yyDollar = yyS[yypt-3 : yypt+1]
  7216  //line sql.y:876
  7217  		{
  7218  			yySLICE := (*[]Characteristic)(yyIaddr(yyVAL.union))
  7219  			*yySLICE = append(*yySLICE, yyDollar[3].characteristicUnion())
  7220  		}
  7221  	case 102:
  7222  		yyDollar = yyS[yypt-3 : yypt+1]
  7223  		var yyLOCAL Characteristic
  7224  //line sql.y:882
  7225  		{
  7226  			yyLOCAL = yyDollar[3].isolationLevelUnion()
  7227  		}
  7228  		yyVAL.union = yyLOCAL
  7229  	case 103:
  7230  		yyDollar = yyS[yypt-2 : yypt+1]
  7231  		var yyLOCAL Characteristic
  7232  //line sql.y:886
  7233  		{
  7234  			yyLOCAL = ReadWrite
  7235  		}
  7236  		yyVAL.union = yyLOCAL
  7237  	case 104:
  7238  		yyDollar = yyS[yypt-2 : yypt+1]
  7239  		var yyLOCAL Characteristic
  7240  //line sql.y:890
  7241  		{
  7242  			yyLOCAL = ReadOnly
  7243  		}
  7244  		yyVAL.union = yyLOCAL
  7245  	case 105:
  7246  		yyDollar = yyS[yypt-2 : yypt+1]
  7247  		var yyLOCAL IsolationLevel
  7248  //line sql.y:896
  7249  		{
  7250  			yyLOCAL = RepeatableRead
  7251  		}
  7252  		yyVAL.union = yyLOCAL
  7253  	case 106:
  7254  		yyDollar = yyS[yypt-2 : yypt+1]
  7255  		var yyLOCAL IsolationLevel
  7256  //line sql.y:900
  7257  		{
  7258  			yyLOCAL = ReadCommitted
  7259  		}
  7260  		yyVAL.union = yyLOCAL
  7261  	case 107:
  7262  		yyDollar = yyS[yypt-2 : yypt+1]
  7263  		var yyLOCAL IsolationLevel
  7264  //line sql.y:904
  7265  		{
  7266  			yyLOCAL = ReadUncommitted
  7267  		}
  7268  		yyVAL.union = yyLOCAL
  7269  	case 108:
  7270  		yyDollar = yyS[yypt-1 : yypt+1]
  7271  		var yyLOCAL IsolationLevel
  7272  //line sql.y:908
  7273  		{
  7274  			yyLOCAL = Serializable
  7275  		}
  7276  		yyVAL.union = yyLOCAL
  7277  	case 109:
  7278  		yyDollar = yyS[yypt-1 : yypt+1]
  7279  		var yyLOCAL Scope
  7280  //line sql.y:914
  7281  		{
  7282  			yyLOCAL = SessionScope
  7283  		}
  7284  		yyVAL.union = yyLOCAL
  7285  	case 110:
  7286  		yyDollar = yyS[yypt-1 : yypt+1]
  7287  		var yyLOCAL Scope
  7288  //line sql.y:918
  7289  		{
  7290  			yyLOCAL = GlobalScope
  7291  		}
  7292  		yyVAL.union = yyLOCAL
  7293  	case 111:
  7294  		yyDollar = yyS[yypt-2 : yypt+1]
  7295  		var yyLOCAL Statement
  7296  //line sql.y:924
  7297  		{
  7298  			yyDollar[1].createTableUnion().TableSpec = yyDollar[2].tableSpecUnion()
  7299  			yyDollar[1].createTableUnion().FullyParsed = true
  7300  			yyLOCAL = yyDollar[1].createTableUnion()
  7301  		}
  7302  		yyVAL.union = yyLOCAL
  7303  	case 112:
  7304  		yyDollar = yyS[yypt-2 : yypt+1]
  7305  		var yyLOCAL Statement
  7306  //line sql.y:930
  7307  		{
  7308  			// Create table [name] like [name]
  7309  			yyDollar[1].createTableUnion().OptLike = yyDollar[2].optLikeUnion()
  7310  			yyDollar[1].createTableUnion().FullyParsed = true
  7311  			yyLOCAL = yyDollar[1].createTableUnion()
  7312  		}
  7313  		yyVAL.union = yyLOCAL
  7314  	case 113:
  7315  		yyDollar = yyS[yypt-6 : yypt+1]
  7316  		var yyLOCAL Statement
  7317  //line sql.y:937
  7318  		{
  7319  			indexDef := yyDollar[1].alterTableUnion().AlterOptions[0].(*AddIndexDefinition).IndexDefinition
  7320  			indexDef.Columns = yyDollar[3].indexColumnsUnion()
  7321  			indexDef.Options = append(indexDef.Options, yyDollar[5].indexOptionsUnion()...)
  7322  			yyDollar[1].alterTableUnion().AlterOptions = append(yyDollar[1].alterTableUnion().AlterOptions, yyDollar[6].alterOptionsUnion()...)
  7323  			yyDollar[1].alterTableUnion().FullyParsed = true
  7324  			yyLOCAL = yyDollar[1].alterTableUnion()
  7325  		}
  7326  		yyVAL.union = yyLOCAL
  7327  	case 114:
  7328  		yyDollar = yyS[yypt-12 : yypt+1]
  7329  		var yyLOCAL Statement
  7330  //line sql.y:946
  7331  		{
  7332  			yyLOCAL = &CreateView{ViewName: yyDollar[8].tableName.ToViewName(), IsReplace: yyDollar[3].booleanUnion(), Algorithm: yyDollar[4].str, Definer: yyDollar[5].str, Security: yyDollar[6].str, Columns: yyDollar[9].columnsUnion(), Select: yyDollar[11].selStmtUnion(), CheckOption: yyDollar[12].str}
  7333  		}
  7334  		yyVAL.union = yyLOCAL
  7335  	case 115:
  7336  		yyDollar = yyS[yypt-2 : yypt+1]
  7337  		var yyLOCAL Statement
  7338  //line sql.y:950
  7339  		{
  7340  			yyDollar[1].createDatabaseUnion().FullyParsed = true
  7341  			yyDollar[1].createDatabaseUnion().CreateOptions = yyDollar[2].collateAndCharsetsUnion()
  7342  			yyLOCAL = yyDollar[1].createDatabaseUnion()
  7343  		}
  7344  		yyVAL.union = yyLOCAL
  7345  	case 116:
  7346  		yyDollar = yyS[yypt-0 : yypt+1]
  7347  		var yyLOCAL bool
  7348  //line sql.y:957
  7349  		{
  7350  			yyLOCAL = false
  7351  		}
  7352  		yyVAL.union = yyLOCAL
  7353  	case 117:
  7354  		yyDollar = yyS[yypt-2 : yypt+1]
  7355  		var yyLOCAL bool
  7356  //line sql.y:961
  7357  		{
  7358  			yyLOCAL = true
  7359  		}
  7360  		yyVAL.union = yyLOCAL
  7361  	case 118:
  7362  		yyDollar = yyS[yypt-0 : yypt+1]
  7363  //line sql.y:966
  7364  		{
  7365  			yyVAL.colIdent = NewColIdent("")
  7366  		}
  7367  	case 119:
  7368  		yyDollar = yyS[yypt-2 : yypt+1]
  7369  //line sql.y:970
  7370  		{
  7371  			yyVAL.colIdent = yyDollar[2].colIdent
  7372  		}
  7373  	case 120:
  7374  		yyDollar = yyS[yypt-1 : yypt+1]
  7375  //line sql.y:976
  7376  		{
  7377  			yyVAL.colIdent = yyDollar[1].colIdent
  7378  		}
  7379  	case 121:
  7380  		yyDollar = yyS[yypt-0 : yypt+1]
  7381  		var yyLOCAL []VindexParam
  7382  //line sql.y:981
  7383  		{
  7384  			var v []VindexParam
  7385  			yyLOCAL = v
  7386  		}
  7387  		yyVAL.union = yyLOCAL
  7388  	case 122:
  7389  		yyDollar = yyS[yypt-2 : yypt+1]
  7390  		var yyLOCAL []VindexParam
  7391  //line sql.y:986
  7392  		{
  7393  			yyLOCAL = yyDollar[2].vindexParamsUnion()
  7394  		}
  7395  		yyVAL.union = yyLOCAL
  7396  	case 123:
  7397  		yyDollar = yyS[yypt-1 : yypt+1]
  7398  		var yyLOCAL []VindexParam
  7399  //line sql.y:992
  7400  		{
  7401  			yyLOCAL = make([]VindexParam, 0, 4)
  7402  			yyLOCAL = append(yyLOCAL, yyDollar[1].vindexParam)
  7403  		}
  7404  		yyVAL.union = yyLOCAL
  7405  	case 124:
  7406  		yyDollar = yyS[yypt-3 : yypt+1]
  7407  //line sql.y:997
  7408  		{
  7409  			yySLICE := (*[]VindexParam)(yyIaddr(yyVAL.union))
  7410  			*yySLICE = append(*yySLICE, yyDollar[3].vindexParam)
  7411  		}
  7412  	case 125:
  7413  		yyDollar = yyS[yypt-3 : yypt+1]
  7414  //line sql.y:1003
  7415  		{
  7416  			yyVAL.vindexParam = VindexParam{Key: yyDollar[1].colIdent, Val: yyDollar[3].str}
  7417  		}
  7418  	case 126:
  7419  		yyDollar = yyS[yypt-6 : yypt+1]
  7420  		var yyLOCAL *CreateTable
  7421  //line sql.y:1009
  7422  		{
  7423  			yyLOCAL = &CreateTable{Comments: Comments(yyDollar[2].strs), Table: yyDollar[6].tableName, IfNotExists: yyDollar[5].booleanUnion(), Temp: yyDollar[3].booleanUnion()}
  7424  			setDDL(yylex, yyLOCAL)
  7425  		}
  7426  		yyVAL.union = yyLOCAL
  7427  	case 127:
  7428  		yyDollar = yyS[yypt-4 : yypt+1]
  7429  		var yyLOCAL *AlterTable
  7430  //line sql.y:1016
  7431  		{
  7432  			yyLOCAL = &AlterTable{Comments: Comments(yyDollar[2].strs), Table: yyDollar[4].tableName}
  7433  			setDDL(yylex, yyLOCAL)
  7434  		}
  7435  		yyVAL.union = yyLOCAL
  7436  	case 128:
  7437  		yyDollar = yyS[yypt-7 : yypt+1]
  7438  		var yyLOCAL *AlterTable
  7439  //line sql.y:1023
  7440  		{
  7441  			yyLOCAL = &AlterTable{Table: yyDollar[7].tableName, AlterOptions: []AlterOption{&AddIndexDefinition{IndexDefinition: &IndexDefinition{Info: &IndexInfo{Name: yyDollar[4].colIdent, Type: string(yyDollar[3].str)}, Options: yyDollar[5].indexOptionsUnion()}}}}
  7442  			setDDL(yylex, yyLOCAL)
  7443  		}
  7444  		yyVAL.union = yyLOCAL
  7445  	case 129:
  7446  		yyDollar = yyS[yypt-8 : yypt+1]
  7447  		var yyLOCAL *AlterTable
  7448  //line sql.y:1028
  7449  		{
  7450  			yyLOCAL = &AlterTable{Table: yyDollar[8].tableName, AlterOptions: []AlterOption{&AddIndexDefinition{IndexDefinition: &IndexDefinition{Info: &IndexInfo{Name: yyDollar[5].colIdent, Type: string(yyDollar[3].str) + " " + string(yyDollar[4].str), Fulltext: true}, Options: yyDollar[6].indexOptionsUnion()}}}}
  7451  			setDDL(yylex, yyLOCAL)
  7452  		}
  7453  		yyVAL.union = yyLOCAL
  7454  	case 130:
  7455  		yyDollar = yyS[yypt-8 : yypt+1]
  7456  		var yyLOCAL *AlterTable
  7457  //line sql.y:1033
  7458  		{
  7459  			yyLOCAL = &AlterTable{Table: yyDollar[8].tableName, AlterOptions: []AlterOption{&AddIndexDefinition{IndexDefinition: &IndexDefinition{Info: &IndexInfo{Name: yyDollar[5].colIdent, Type: string(yyDollar[3].str) + " " + string(yyDollar[4].str), Spatial: true}, Options: yyDollar[6].indexOptionsUnion()}}}}
  7460  			setDDL(yylex, yyLOCAL)
  7461  		}
  7462  		yyVAL.union = yyLOCAL
  7463  	case 131:
  7464  		yyDollar = yyS[yypt-8 : yypt+1]
  7465  		var yyLOCAL *AlterTable
  7466  //line sql.y:1038
  7467  		{
  7468  			yyLOCAL = &AlterTable{Table: yyDollar[8].tableName, AlterOptions: []AlterOption{&AddIndexDefinition{IndexDefinition: &IndexDefinition{Info: &IndexInfo{Name: yyDollar[5].colIdent, Type: string(yyDollar[3].str) + " " + string(yyDollar[4].str), Unique: true}, Options: yyDollar[6].indexOptionsUnion()}}}}
  7469  			setDDL(yylex, yyLOCAL)
  7470  		}
  7471  		yyVAL.union = yyLOCAL
  7472  	case 132:
  7473  		yyDollar = yyS[yypt-6 : yypt+1]
  7474  		var yyLOCAL *CreateDatabase
  7475  //line sql.y:1045
  7476  		{
  7477  			yyLOCAL = &CreateDatabase{Comments: Comments(yyDollar[4].strs), DBName: yyDollar[6].tableIdent, IfNotExists: yyDollar[5].booleanUnion()}
  7478  			setDDL(yylex, yyLOCAL)
  7479  		}
  7480  		yyVAL.union = yyLOCAL
  7481  	case 133:
  7482  		yyDollar = yyS[yypt-3 : yypt+1]
  7483  		var yyLOCAL *AlterDatabase
  7484  //line sql.y:1052
  7485  		{
  7486  			yyLOCAL = &AlterDatabase{}
  7487  			setDDL(yylex, yyLOCAL)
  7488  		}
  7489  		yyVAL.union = yyLOCAL
  7490  	case 136:
  7491  		yyDollar = yyS[yypt-5 : yypt+1]
  7492  		var yyLOCAL *TableSpec
  7493  //line sql.y:1063
  7494  		{
  7495  			yyLOCAL = yyDollar[2].tableSpecUnion()
  7496  			yyLOCAL.Options = yyDollar[4].tableOptionsUnion()
  7497  			yyLOCAL.PartitionOption = yyDollar[5].partitionOptionUnion()
  7498  		}
  7499  		yyVAL.union = yyLOCAL
  7500  	case 137:
  7501  		yyDollar = yyS[yypt-0 : yypt+1]
  7502  		var yyLOCAL []CollateAndCharset
  7503  //line sql.y:1070
  7504  		{
  7505  			yyLOCAL = nil
  7506  		}
  7507  		yyVAL.union = yyLOCAL
  7508  	case 138:
  7509  		yyDollar = yyS[yypt-1 : yypt+1]
  7510  		var yyLOCAL []CollateAndCharset
  7511  //line sql.y:1074
  7512  		{
  7513  			yyLOCAL = yyDollar[1].collateAndCharsetsUnion()
  7514  		}
  7515  		yyVAL.union = yyLOCAL
  7516  	case 139:
  7517  		yyDollar = yyS[yypt-1 : yypt+1]
  7518  		var yyLOCAL []CollateAndCharset
  7519  //line sql.y:1080
  7520  		{
  7521  			yyLOCAL = []CollateAndCharset{yyDollar[1].collateAndCharset}
  7522  		}
  7523  		yyVAL.union = yyLOCAL
  7524  	case 140:
  7525  		yyDollar = yyS[yypt-1 : yypt+1]
  7526  		var yyLOCAL []CollateAndCharset
  7527  //line sql.y:1084
  7528  		{
  7529  			yyLOCAL = []CollateAndCharset{yyDollar[1].collateAndCharset}
  7530  		}
  7531  		yyVAL.union = yyLOCAL
  7532  	case 141:
  7533  		yyDollar = yyS[yypt-2 : yypt+1]
  7534  //line sql.y:1088
  7535  		{
  7536  			yySLICE := (*[]CollateAndCharset)(yyIaddr(yyVAL.union))
  7537  			*yySLICE = append(*yySLICE, yyDollar[2].collateAndCharset)
  7538  		}
  7539  	case 142:
  7540  		yyDollar = yyS[yypt-2 : yypt+1]
  7541  //line sql.y:1092
  7542  		{
  7543  			yySLICE := (*[]CollateAndCharset)(yyIaddr(yyVAL.union))
  7544  			*yySLICE = append(*yySLICE, yyDollar[2].collateAndCharset)
  7545  		}
  7546  	case 143:
  7547  		yyDollar = yyS[yypt-0 : yypt+1]
  7548  		var yyLOCAL bool
  7549  //line sql.y:1098
  7550  		{
  7551  			yyLOCAL = false
  7552  		}
  7553  		yyVAL.union = yyLOCAL
  7554  	case 144:
  7555  		yyDollar = yyS[yypt-1 : yypt+1]
  7556  		var yyLOCAL bool
  7557  //line sql.y:1102
  7558  		{
  7559  			yyLOCAL = true
  7560  		}
  7561  		yyVAL.union = yyLOCAL
  7562  	case 145:
  7563  		yyDollar = yyS[yypt-4 : yypt+1]
  7564  //line sql.y:1108
  7565  		{
  7566  			yyVAL.collateAndCharset = CollateAndCharset{Type: CharacterSetType, Value: (yyDollar[4].colIdent.String()), IsDefault: yyDollar[1].booleanUnion()}
  7567  		}
  7568  	case 146:
  7569  		yyDollar = yyS[yypt-4 : yypt+1]
  7570  //line sql.y:1112
  7571  		{
  7572  			yyVAL.collateAndCharset = CollateAndCharset{Type: CharacterSetType, Value: (encodeSQLString(yyDollar[4].str)), IsDefault: yyDollar[1].booleanUnion()}
  7573  		}
  7574  	case 147:
  7575  		yyDollar = yyS[yypt-4 : yypt+1]
  7576  //line sql.y:1118
  7577  		{
  7578  			yyVAL.collateAndCharset = CollateAndCharset{Type: CollateType, Value: (yyDollar[4].colIdent.String()), IsDefault: yyDollar[1].booleanUnion()}
  7579  		}
  7580  	case 148:
  7581  		yyDollar = yyS[yypt-4 : yypt+1]
  7582  //line sql.y:1122
  7583  		{
  7584  			yyVAL.collateAndCharset = CollateAndCharset{Type: CollateType, Value: (encodeSQLString(yyDollar[4].str)), IsDefault: yyDollar[1].booleanUnion()}
  7585  		}
  7586  	case 149:
  7587  		yyDollar = yyS[yypt-2 : yypt+1]
  7588  		var yyLOCAL *OptLike
  7589  //line sql.y:1129
  7590  		{
  7591  			yyLOCAL = &OptLike{LikeTable: yyDollar[2].tableName}
  7592  		}
  7593  		yyVAL.union = yyLOCAL
  7594  	case 150:
  7595  		yyDollar = yyS[yypt-4 : yypt+1]
  7596  		var yyLOCAL *OptLike
  7597  //line sql.y:1133
  7598  		{
  7599  			yyLOCAL = &OptLike{LikeTable: yyDollar[3].tableName}
  7600  		}
  7601  		yyVAL.union = yyLOCAL
  7602  	case 151:
  7603  		yyDollar = yyS[yypt-1 : yypt+1]
  7604  		var yyLOCAL []*ColumnDefinition
  7605  //line sql.y:1139
  7606  		{
  7607  			yyLOCAL = []*ColumnDefinition{yyDollar[1].columnDefinitionUnion()}
  7608  		}
  7609  		yyVAL.union = yyLOCAL
  7610  	case 152:
  7611  		yyDollar = yyS[yypt-3 : yypt+1]
  7612  //line sql.y:1143
  7613  		{
  7614  			yySLICE := (*[]*ColumnDefinition)(yyIaddr(yyVAL.union))
  7615  			*yySLICE = append(*yySLICE, yyDollar[3].columnDefinitionUnion())
  7616  		}
  7617  	case 153:
  7618  		yyDollar = yyS[yypt-1 : yypt+1]
  7619  		var yyLOCAL *TableSpec
  7620  //line sql.y:1149
  7621  		{
  7622  			yyLOCAL = &TableSpec{}
  7623  			yyLOCAL.AddColumn(yyDollar[1].columnDefinitionUnion())
  7624  		}
  7625  		yyVAL.union = yyLOCAL
  7626  	case 154:
  7627  		yyDollar = yyS[yypt-1 : yypt+1]
  7628  		var yyLOCAL *TableSpec
  7629  //line sql.y:1154
  7630  		{
  7631  			yyLOCAL = &TableSpec{}
  7632  			yyLOCAL.AddConstraint(yyDollar[1].constraintDefinitionUnion())
  7633  		}
  7634  		yyVAL.union = yyLOCAL
  7635  	case 155:
  7636  		yyDollar = yyS[yypt-3 : yypt+1]
  7637  //line sql.y:1159
  7638  		{
  7639  			yyVAL.tableSpecUnion().AddColumn(yyDollar[3].columnDefinitionUnion())
  7640  		}
  7641  	case 156:
  7642  		yyDollar = yyS[yypt-4 : yypt+1]
  7643  //line sql.y:1163
  7644  		{
  7645  			yyVAL.tableSpecUnion().AddColumn(yyDollar[3].columnDefinitionUnion())
  7646  			yyVAL.tableSpecUnion().AddConstraint(yyDollar[4].constraintDefinitionUnion())
  7647  		}
  7648  	case 157:
  7649  		yyDollar = yyS[yypt-3 : yypt+1]
  7650  //line sql.y:1168
  7651  		{
  7652  			yyVAL.tableSpecUnion().AddIndex(yyDollar[3].indexDefinitionUnion())
  7653  		}
  7654  	case 158:
  7655  		yyDollar = yyS[yypt-3 : yypt+1]
  7656  //line sql.y:1172
  7657  		{
  7658  			yyVAL.tableSpecUnion().AddConstraint(yyDollar[3].constraintDefinitionUnion())
  7659  		}
  7660  	case 159:
  7661  		yyDollar = yyS[yypt-3 : yypt+1]
  7662  //line sql.y:1176
  7663  		{
  7664  			yyVAL.tableSpecUnion().AddConstraint(yyDollar[3].constraintDefinitionUnion())
  7665  		}
  7666  	case 160:
  7667  		yyDollar = yyS[yypt-4 : yypt+1]
  7668  		var yyLOCAL *ColumnDefinition
  7669  //line sql.y:1182
  7670  		{
  7671  			yyDollar[2].columnType.Options = yyDollar[3].columnTypeOptionsUnion()
  7672  			yyDollar[2].columnType.Options.Reference = yyDollar[4].referenceDefinitionUnion()
  7673  			yyLOCAL = &ColumnDefinition{Name: yyDollar[1].colIdent, Type: yyDollar[2].columnType}
  7674  		}
  7675  		yyVAL.union = yyLOCAL
  7676  	case 161:
  7677  		yyDollar = yyS[yypt-9 : yypt+1]
  7678  		var yyLOCAL *ColumnDefinition
  7679  //line sql.y:1188
  7680  		{
  7681  			yyDollar[2].columnType.Options = yyDollar[8].columnTypeOptionsUnion()
  7682  			yyDollar[2].columnType.Options.As = yyDollar[6].exprUnion()
  7683  			yyDollar[2].columnType.Options.Reference = yyDollar[9].referenceDefinitionUnion()
  7684  			yyLOCAL = &ColumnDefinition{Name: yyDollar[1].colIdent, Type: yyDollar[2].columnType}
  7685  		}
  7686  		yyVAL.union = yyLOCAL
  7687  	case 162:
  7688  		yyDollar = yyS[yypt-0 : yypt+1]
  7689  //line sql.y:1196
  7690  		{
  7691  			yyVAL.str = ""
  7692  		}
  7693  	case 163:
  7694  		yyDollar = yyS[yypt-2 : yypt+1]
  7695  //line sql.y:1200
  7696  		{
  7697  			yyVAL.str = ""
  7698  		}
  7699  	case 164:
  7700  		yyDollar = yyS[yypt-0 : yypt+1]
  7701  		var yyLOCAL *ColumnTypeOptions
  7702  //line sql.y:1209
  7703  		{
  7704  			yyLOCAL = &ColumnTypeOptions{Null: nil, Default: nil, OnUpdate: nil, Autoincrement: false, KeyOpt: colKeyNone, Comment: nil, As: nil}
  7705  		}
  7706  		yyVAL.union = yyLOCAL
  7707  	case 165:
  7708  		yyDollar = yyS[yypt-2 : yypt+1]
  7709  		var yyLOCAL *ColumnTypeOptions
  7710  //line sql.y:1213
  7711  		{
  7712  			val := true
  7713  			yyDollar[1].columnTypeOptionsUnion().Null = &val
  7714  			yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
  7715  		}
  7716  		yyVAL.union = yyLOCAL
  7717  	case 166:
  7718  		yyDollar = yyS[yypt-3 : yypt+1]
  7719  		var yyLOCAL *ColumnTypeOptions
  7720  //line sql.y:1219
  7721  		{
  7722  			val := false
  7723  			yyDollar[1].columnTypeOptionsUnion().Null = &val
  7724  			yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
  7725  		}
  7726  		yyVAL.union = yyLOCAL
  7727  	case 167:
  7728  		yyDollar = yyS[yypt-5 : yypt+1]
  7729  		var yyLOCAL *ColumnTypeOptions
  7730  //line sql.y:1225
  7731  		{
  7732  			yyDollar[1].columnTypeOptionsUnion().Default = yyDollar[4].exprUnion()
  7733  			yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
  7734  		}
  7735  		yyVAL.union = yyLOCAL
  7736  	case 168:
  7737  		yyDollar = yyS[yypt-3 : yypt+1]
  7738  		var yyLOCAL *ColumnTypeOptions
  7739  //line sql.y:1230
  7740  		{
  7741  			yyDollar[1].columnTypeOptionsUnion().Default = yyDollar[3].exprUnion()
  7742  			yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
  7743  		}
  7744  		yyVAL.union = yyLOCAL
  7745  	case 169:
  7746  		yyDollar = yyS[yypt-4 : yypt+1]
  7747  		var yyLOCAL *ColumnTypeOptions
  7748  //line sql.y:1235
  7749  		{
  7750  			yyDollar[1].columnTypeOptionsUnion().OnUpdate = yyDollar[4].exprUnion()
  7751  			yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
  7752  		}
  7753  		yyVAL.union = yyLOCAL
  7754  	case 170:
  7755  		yyDollar = yyS[yypt-2 : yypt+1]
  7756  		var yyLOCAL *ColumnTypeOptions
  7757  //line sql.y:1240
  7758  		{
  7759  			yyDollar[1].columnTypeOptionsUnion().Autoincrement = true
  7760  			yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
  7761  		}
  7762  		yyVAL.union = yyLOCAL
  7763  	case 171:
  7764  		yyDollar = yyS[yypt-3 : yypt+1]
  7765  		var yyLOCAL *ColumnTypeOptions
  7766  //line sql.y:1245
  7767  		{
  7768  			yyDollar[1].columnTypeOptionsUnion().Comment = NewStrLiteral(yyDollar[3].str)
  7769  			yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
  7770  		}
  7771  		yyVAL.union = yyLOCAL
  7772  	case 172:
  7773  		yyDollar = yyS[yypt-2 : yypt+1]
  7774  		var yyLOCAL *ColumnTypeOptions
  7775  //line sql.y:1250
  7776  		{
  7777  			yyDollar[1].columnTypeOptionsUnion().KeyOpt = yyDollar[2].colKeyOptUnion()
  7778  			yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
  7779  		}
  7780  		yyVAL.union = yyLOCAL
  7781  	case 173:
  7782  		yyDollar = yyS[yypt-3 : yypt+1]
  7783  //line sql.y:1255
  7784  		{
  7785  			yyDollar[1].columnTypeOptionsUnion().Collate = encodeSQLString(yyDollar[3].str)
  7786  		}
  7787  	case 174:
  7788  		yyDollar = yyS[yypt-3 : yypt+1]
  7789  		var yyLOCAL *ColumnTypeOptions
  7790  //line sql.y:1259
  7791  		{
  7792  			yyDollar[1].columnTypeOptionsUnion().Collate = string(yyDollar[3].colIdent.String())
  7793  			yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
  7794  		}
  7795  		yyVAL.union = yyLOCAL
  7796  	case 175:
  7797  		yyDollar = yyS[yypt-1 : yypt+1]
  7798  		var yyLOCAL ColumnStorage
  7799  //line sql.y:1266
  7800  		{
  7801  			yyLOCAL = VirtualStorage
  7802  		}
  7803  		yyVAL.union = yyLOCAL
  7804  	case 176:
  7805  		yyDollar = yyS[yypt-1 : yypt+1]
  7806  		var yyLOCAL ColumnStorage
  7807  //line sql.y:1270
  7808  		{
  7809  			yyLOCAL = StoredStorage
  7810  		}
  7811  		yyVAL.union = yyLOCAL
  7812  	case 177:
  7813  		yyDollar = yyS[yypt-0 : yypt+1]
  7814  		var yyLOCAL *ColumnTypeOptions
  7815  //line sql.y:1275
  7816  		{
  7817  			yyLOCAL = &ColumnTypeOptions{}
  7818  		}
  7819  		yyVAL.union = yyLOCAL
  7820  	case 178:
  7821  		yyDollar = yyS[yypt-2 : yypt+1]
  7822  		var yyLOCAL *ColumnTypeOptions
  7823  //line sql.y:1279
  7824  		{
  7825  			yyDollar[1].columnTypeOptionsUnion().Storage = yyDollar[2].columnStorageUnion()
  7826  			yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
  7827  		}
  7828  		yyVAL.union = yyLOCAL
  7829  	case 179:
  7830  		yyDollar = yyS[yypt-2 : yypt+1]
  7831  		var yyLOCAL *ColumnTypeOptions
  7832  //line sql.y:1284
  7833  		{
  7834  			val := true
  7835  			yyDollar[1].columnTypeOptionsUnion().Null = &val
  7836  			yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
  7837  		}
  7838  		yyVAL.union = yyLOCAL
  7839  	case 180:
  7840  		yyDollar = yyS[yypt-3 : yypt+1]
  7841  		var yyLOCAL *ColumnTypeOptions
  7842  //line sql.y:1290
  7843  		{
  7844  			val := false
  7845  			yyDollar[1].columnTypeOptionsUnion().Null = &val
  7846  			yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
  7847  		}
  7848  		yyVAL.union = yyLOCAL
  7849  	case 181:
  7850  		yyDollar = yyS[yypt-3 : yypt+1]
  7851  		var yyLOCAL *ColumnTypeOptions
  7852  //line sql.y:1296
  7853  		{
  7854  			yyDollar[1].columnTypeOptionsUnion().Comment = NewStrLiteral(yyDollar[3].str)
  7855  			yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
  7856  		}
  7857  		yyVAL.union = yyLOCAL
  7858  	case 182:
  7859  		yyDollar = yyS[yypt-2 : yypt+1]
  7860  		var yyLOCAL *ColumnTypeOptions
  7861  //line sql.y:1301
  7862  		{
  7863  			yyDollar[1].columnTypeOptionsUnion().KeyOpt = yyDollar[2].colKeyOptUnion()
  7864  			yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
  7865  		}
  7866  		yyVAL.union = yyLOCAL
  7867  	case 183:
  7868  		yyDollar = yyS[yypt-1 : yypt+1]
  7869  		var yyLOCAL Expr
  7870  //line sql.y:1308
  7871  		{
  7872  			yyLOCAL = yyDollar[1].exprUnion()
  7873  		}
  7874  		yyVAL.union = yyLOCAL
  7875  	case 185:
  7876  		yyDollar = yyS[yypt-2 : yypt+1]
  7877  		var yyLOCAL Expr
  7878  //line sql.y:1315
  7879  		{
  7880  			yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("current_timestamp"), Fsp: yyDollar[2].exprUnion()}
  7881  		}
  7882  		yyVAL.union = yyLOCAL
  7883  	case 186:
  7884  		yyDollar = yyS[yypt-2 : yypt+1]
  7885  		var yyLOCAL Expr
  7886  //line sql.y:1319
  7887  		{
  7888  			yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("localtime"), Fsp: yyDollar[2].exprUnion()}
  7889  		}
  7890  		yyVAL.union = yyLOCAL
  7891  	case 187:
  7892  		yyDollar = yyS[yypt-2 : yypt+1]
  7893  		var yyLOCAL Expr
  7894  //line sql.y:1323
  7895  		{
  7896  			yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("localtimestamp"), Fsp: yyDollar[2].exprUnion()}
  7897  		}
  7898  		yyVAL.union = yyLOCAL
  7899  	case 188:
  7900  		yyDollar = yyS[yypt-2 : yypt+1]
  7901  		var yyLOCAL Expr
  7902  //line sql.y:1327
  7903  		{
  7904  			yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("utc_timestamp"), Fsp: yyDollar[2].exprUnion()}
  7905  		}
  7906  		yyVAL.union = yyLOCAL
  7907  	case 189:
  7908  		yyDollar = yyS[yypt-2 : yypt+1]
  7909  		var yyLOCAL Expr
  7910  //line sql.y:1331
  7911  		{
  7912  			yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("now"), Fsp: yyDollar[2].exprUnion()}
  7913  		}
  7914  		yyVAL.union = yyLOCAL
  7915  	case 192:
  7916  		yyDollar = yyS[yypt-1 : yypt+1]
  7917  		var yyLOCAL Expr
  7918  //line sql.y:1342
  7919  		{
  7920  			yyLOCAL = &NullVal{}
  7921  		}
  7922  		yyVAL.union = yyLOCAL
  7923  	case 194:
  7924  		yyDollar = yyS[yypt-2 : yypt+1]
  7925  		var yyLOCAL Expr
  7926  //line sql.y:1349
  7927  		{
  7928  			yyLOCAL = yyDollar[2].exprUnion()
  7929  		}
  7930  		yyVAL.union = yyLOCAL
  7931  	case 195:
  7932  		yyDollar = yyS[yypt-2 : yypt+1]
  7933  		var yyLOCAL Expr
  7934  //line sql.y:1353
  7935  		{
  7936  			yyLOCAL = &UnaryExpr{Operator: UMinusOp, Expr: yyDollar[2].exprUnion()}
  7937  		}
  7938  		yyVAL.union = yyLOCAL
  7939  	case 196:
  7940  		yyDollar = yyS[yypt-1 : yypt+1]
  7941  		var yyLOCAL Expr
  7942  //line sql.y:1359
  7943  		{
  7944  			yyLOCAL = yyDollar[1].exprUnion()
  7945  		}
  7946  		yyVAL.union = yyLOCAL
  7947  	case 197:
  7948  		yyDollar = yyS[yypt-1 : yypt+1]
  7949  		var yyLOCAL Expr
  7950  //line sql.y:1363
  7951  		{
  7952  			yyLOCAL = yyDollar[1].exprUnion()
  7953  		}
  7954  		yyVAL.union = yyLOCAL
  7955  	case 198:
  7956  		yyDollar = yyS[yypt-1 : yypt+1]
  7957  		var yyLOCAL Expr
  7958  //line sql.y:1367
  7959  		{
  7960  			yyLOCAL = yyDollar[1].boolValUnion()
  7961  		}
  7962  		yyVAL.union = yyLOCAL
  7963  	case 199:
  7964  		yyDollar = yyS[yypt-1 : yypt+1]
  7965  		var yyLOCAL Expr
  7966  //line sql.y:1371
  7967  		{
  7968  			yyLOCAL = NewHexLiteral(yyDollar[1].str)
  7969  		}
  7970  		yyVAL.union = yyLOCAL
  7971  	case 200:
  7972  		yyDollar = yyS[yypt-1 : yypt+1]
  7973  		var yyLOCAL Expr
  7974  //line sql.y:1375
  7975  		{
  7976  			yyLOCAL = NewHexNumLiteral(yyDollar[1].str)
  7977  		}
  7978  		yyVAL.union = yyLOCAL
  7979  	case 201:
  7980  		yyDollar = yyS[yypt-1 : yypt+1]
  7981  		var yyLOCAL Expr
  7982  //line sql.y:1379
  7983  		{
  7984  			yyLOCAL = NewBitLiteral(yyDollar[1].str)
  7985  		}
  7986  		yyVAL.union = yyLOCAL
  7987  	case 202:
  7988  		yyDollar = yyS[yypt-1 : yypt+1]
  7989  		var yyLOCAL Expr
  7990  //line sql.y:1383
  7991  		{
  7992  			yyLOCAL = NewArgument(yyDollar[1].str[1:])
  7993  			bindVariable(yylex, yyDollar[1].str[1:])
  7994  		}
  7995  		yyVAL.union = yyLOCAL
  7996  	case 203:
  7997  		yyDollar = yyS[yypt-2 : yypt+1]
  7998  		var yyLOCAL Expr
  7999  //line sql.y:1388
  8000  		{
  8001  			yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewBitLiteral(yyDollar[2].str)}
  8002  		}
  8003  		yyVAL.union = yyLOCAL
  8004  	case 204:
  8005  		yyDollar = yyS[yypt-2 : yypt+1]
  8006  		var yyLOCAL Expr
  8007  //line sql.y:1392
  8008  		{
  8009  			yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewHexNumLiteral(yyDollar[2].str)}
  8010  		}
  8011  		yyVAL.union = yyLOCAL
  8012  	case 205:
  8013  		yyDollar = yyS[yypt-2 : yypt+1]
  8014  		var yyLOCAL Expr
  8015  //line sql.y:1396
  8016  		{
  8017  			yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewHexLiteral(yyDollar[2].str)}
  8018  		}
  8019  		yyVAL.union = yyLOCAL
  8020  	case 206:
  8021  		yyDollar = yyS[yypt-2 : yypt+1]
  8022  		var yyLOCAL Expr
  8023  //line sql.y:1400
  8024  		{
  8025  			yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: yyDollar[2].colNameUnion()}
  8026  		}
  8027  		yyVAL.union = yyLOCAL
  8028  	case 207:
  8029  		yyDollar = yyS[yypt-2 : yypt+1]
  8030  		var yyLOCAL Expr
  8031  //line sql.y:1404
  8032  		{
  8033  			bindVariable(yylex, yyDollar[2].str[1:])
  8034  			yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewArgument(yyDollar[2].str[1:])}
  8035  		}
  8036  		yyVAL.union = yyLOCAL
  8037  	case 208:
  8038  		yyDollar = yyS[yypt-1 : yypt+1]
  8039  //line sql.y:1411
  8040  		{
  8041  			yyVAL.str = Armscii8Str
  8042  		}
  8043  	case 209:
  8044  		yyDollar = yyS[yypt-1 : yypt+1]
  8045  //line sql.y:1415
  8046  		{
  8047  			yyVAL.str = ASCIIStr
  8048  		}
  8049  	case 210:
  8050  		yyDollar = yyS[yypt-1 : yypt+1]
  8051  //line sql.y:1419
  8052  		{
  8053  			yyVAL.str = Big5Str
  8054  		}
  8055  	case 211:
  8056  		yyDollar = yyS[yypt-1 : yypt+1]
  8057  //line sql.y:1423
  8058  		{
  8059  			yyVAL.str = UBinaryStr
  8060  		}
  8061  	case 212:
  8062  		yyDollar = yyS[yypt-1 : yypt+1]
  8063  //line sql.y:1427
  8064  		{
  8065  			yyVAL.str = Cp1250Str
  8066  		}
  8067  	case 213:
  8068  		yyDollar = yyS[yypt-1 : yypt+1]
  8069  //line sql.y:1431
  8070  		{
  8071  			yyVAL.str = Cp1251Str
  8072  		}
  8073  	case 214:
  8074  		yyDollar = yyS[yypt-1 : yypt+1]
  8075  //line sql.y:1435
  8076  		{
  8077  			yyVAL.str = Cp1256Str
  8078  		}
  8079  	case 215:
  8080  		yyDollar = yyS[yypt-1 : yypt+1]
  8081  //line sql.y:1439
  8082  		{
  8083  			yyVAL.str = Cp1257Str
  8084  		}
  8085  	case 216:
  8086  		yyDollar = yyS[yypt-1 : yypt+1]
  8087  //line sql.y:1443
  8088  		{
  8089  			yyVAL.str = Cp850Str
  8090  		}
  8091  	case 217:
  8092  		yyDollar = yyS[yypt-1 : yypt+1]
  8093  //line sql.y:1447
  8094  		{
  8095  			yyVAL.str = Cp852Str
  8096  		}
  8097  	case 218:
  8098  		yyDollar = yyS[yypt-1 : yypt+1]
  8099  //line sql.y:1451
  8100  		{
  8101  			yyVAL.str = Cp866Str
  8102  		}
  8103  	case 219:
  8104  		yyDollar = yyS[yypt-1 : yypt+1]
  8105  //line sql.y:1455
  8106  		{
  8107  			yyVAL.str = Cp932Str
  8108  		}
  8109  	case 220:
  8110  		yyDollar = yyS[yypt-1 : yypt+1]
  8111  //line sql.y:1459
  8112  		{
  8113  			yyVAL.str = Dec8Str
  8114  		}
  8115  	case 221:
  8116  		yyDollar = yyS[yypt-1 : yypt+1]
  8117  //line sql.y:1463
  8118  		{
  8119  			yyVAL.str = EucjpmsStr
  8120  		}
  8121  	case 222:
  8122  		yyDollar = yyS[yypt-1 : yypt+1]
  8123  //line sql.y:1467
  8124  		{
  8125  			yyVAL.str = EuckrStr
  8126  		}
  8127  	case 223:
  8128  		yyDollar = yyS[yypt-1 : yypt+1]
  8129  //line sql.y:1471
  8130  		{
  8131  			yyVAL.str = Gb18030Str
  8132  		}
  8133  	case 224:
  8134  		yyDollar = yyS[yypt-1 : yypt+1]
  8135  //line sql.y:1475
  8136  		{
  8137  			yyVAL.str = Gb2312Str
  8138  		}
  8139  	case 225:
  8140  		yyDollar = yyS[yypt-1 : yypt+1]
  8141  //line sql.y:1479
  8142  		{
  8143  			yyVAL.str = GbkStr
  8144  		}
  8145  	case 226:
  8146  		yyDollar = yyS[yypt-1 : yypt+1]
  8147  //line sql.y:1483
  8148  		{
  8149  			yyVAL.str = Geostd8Str
  8150  		}
  8151  	case 227:
  8152  		yyDollar = yyS[yypt-1 : yypt+1]
  8153  //line sql.y:1487
  8154  		{
  8155  			yyVAL.str = GreekStr
  8156  		}
  8157  	case 228:
  8158  		yyDollar = yyS[yypt-1 : yypt+1]
  8159  //line sql.y:1491
  8160  		{
  8161  			yyVAL.str = HebrewStr
  8162  		}
  8163  	case 229:
  8164  		yyDollar = yyS[yypt-1 : yypt+1]
  8165  //line sql.y:1495
  8166  		{
  8167  			yyVAL.str = Hp8Str
  8168  		}
  8169  	case 230:
  8170  		yyDollar = yyS[yypt-1 : yypt+1]
  8171  //line sql.y:1499
  8172  		{
  8173  			yyVAL.str = Keybcs2Str
  8174  		}
  8175  	case 231:
  8176  		yyDollar = yyS[yypt-1 : yypt+1]
  8177  //line sql.y:1503
  8178  		{
  8179  			yyVAL.str = Koi8rStr
  8180  		}
  8181  	case 232:
  8182  		yyDollar = yyS[yypt-1 : yypt+1]
  8183  //line sql.y:1507
  8184  		{
  8185  			yyVAL.str = Koi8uStr
  8186  		}
  8187  	case 233:
  8188  		yyDollar = yyS[yypt-1 : yypt+1]
  8189  //line sql.y:1511
  8190  		{
  8191  			yyVAL.str = Latin1Str
  8192  		}
  8193  	case 234:
  8194  		yyDollar = yyS[yypt-1 : yypt+1]
  8195  //line sql.y:1515
  8196  		{
  8197  			yyVAL.str = Latin2Str
  8198  		}
  8199  	case 235:
  8200  		yyDollar = yyS[yypt-1 : yypt+1]
  8201  //line sql.y:1519
  8202  		{
  8203  			yyVAL.str = Latin5Str
  8204  		}
  8205  	case 236:
  8206  		yyDollar = yyS[yypt-1 : yypt+1]
  8207  //line sql.y:1523
  8208  		{
  8209  			yyVAL.str = Latin7Str
  8210  		}
  8211  	case 237:
  8212  		yyDollar = yyS[yypt-1 : yypt+1]
  8213  //line sql.y:1527
  8214  		{
  8215  			yyVAL.str = MacceStr
  8216  		}
  8217  	case 238:
  8218  		yyDollar = yyS[yypt-1 : yypt+1]
  8219  //line sql.y:1531
  8220  		{
  8221  			yyVAL.str = MacromanStr
  8222  		}
  8223  	case 239:
  8224  		yyDollar = yyS[yypt-1 : yypt+1]
  8225  //line sql.y:1535
  8226  		{
  8227  			yyVAL.str = SjisStr
  8228  		}
  8229  	case 240:
  8230  		yyDollar = yyS[yypt-1 : yypt+1]
  8231  //line sql.y:1539
  8232  		{
  8233  			yyVAL.str = Swe7Str
  8234  		}
  8235  	case 241:
  8236  		yyDollar = yyS[yypt-1 : yypt+1]
  8237  //line sql.y:1543
  8238  		{
  8239  			yyVAL.str = Tis620Str
  8240  		}
  8241  	case 242:
  8242  		yyDollar = yyS[yypt-1 : yypt+1]
  8243  //line sql.y:1547
  8244  		{
  8245  			yyVAL.str = Ucs2Str
  8246  		}
  8247  	case 243:
  8248  		yyDollar = yyS[yypt-1 : yypt+1]
  8249  //line sql.y:1551
  8250  		{
  8251  			yyVAL.str = UjisStr
  8252  		}
  8253  	case 244:
  8254  		yyDollar = yyS[yypt-1 : yypt+1]
  8255  //line sql.y:1555
  8256  		{
  8257  			yyVAL.str = Utf16Str
  8258  		}
  8259  	case 245:
  8260  		yyDollar = yyS[yypt-1 : yypt+1]
  8261  //line sql.y:1559
  8262  		{
  8263  			yyVAL.str = Utf16leStr
  8264  		}
  8265  	case 246:
  8266  		yyDollar = yyS[yypt-1 : yypt+1]
  8267  //line sql.y:1563
  8268  		{
  8269  			yyVAL.str = Utf32Str
  8270  		}
  8271  	case 247:
  8272  		yyDollar = yyS[yypt-1 : yypt+1]
  8273  //line sql.y:1567
  8274  		{
  8275  			yyVAL.str = Utf8Str
  8276  		}
  8277  	case 248:
  8278  		yyDollar = yyS[yypt-1 : yypt+1]
  8279  //line sql.y:1571
  8280  		{
  8281  			yyVAL.str = Utf8mb4Str
  8282  		}
  8283  	case 251:
  8284  		yyDollar = yyS[yypt-1 : yypt+1]
  8285  		var yyLOCAL Expr
  8286  //line sql.y:1581
  8287  		{
  8288  			yyLOCAL = NewIntLiteral(yyDollar[1].str)
  8289  		}
  8290  		yyVAL.union = yyLOCAL
  8291  	case 252:
  8292  		yyDollar = yyS[yypt-1 : yypt+1]
  8293  		var yyLOCAL Expr
  8294  //line sql.y:1585
  8295  		{
  8296  			yyLOCAL = NewFloatLiteral(yyDollar[1].str)
  8297  		}
  8298  		yyVAL.union = yyLOCAL
  8299  	case 253:
  8300  		yyDollar = yyS[yypt-1 : yypt+1]
  8301  		var yyLOCAL Expr
  8302  //line sql.y:1589
  8303  		{
  8304  			yyLOCAL = NewDecimalLiteral(yyDollar[1].str)
  8305  		}
  8306  		yyVAL.union = yyLOCAL
  8307  	case 254:
  8308  		yyDollar = yyS[yypt-1 : yypt+1]
  8309  		var yyLOCAL Expr
  8310  //line sql.y:1596
  8311  		{
  8312  			yyLOCAL = NewStrLiteral(yyDollar[1].str)
  8313  		}
  8314  		yyVAL.union = yyLOCAL
  8315  	case 255:
  8316  		yyDollar = yyS[yypt-1 : yypt+1]
  8317  		var yyLOCAL Expr
  8318  //line sql.y:1600
  8319  		{
  8320  			yyLOCAL = &UnaryExpr{Operator: NStringOp, Expr: NewStrLiteral(yyDollar[1].str)}
  8321  		}
  8322  		yyVAL.union = yyLOCAL
  8323  	case 256:
  8324  		yyDollar = yyS[yypt-2 : yypt+1]
  8325  		var yyLOCAL Expr
  8326  //line sql.y:1604
  8327  		{
  8328  			yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewStrLiteral(yyDollar[2].str)}
  8329  		}
  8330  		yyVAL.union = yyLOCAL
  8331  	case 257:
  8332  		yyDollar = yyS[yypt-1 : yypt+1]
  8333  		var yyLOCAL Expr
  8334  //line sql.y:1610
  8335  		{
  8336  			yyLOCAL = NewStrLiteral(yyDollar[1].str)
  8337  		}
  8338  		yyVAL.union = yyLOCAL
  8339  	case 258:
  8340  		yyDollar = yyS[yypt-1 : yypt+1]
  8341  		var yyLOCAL Expr
  8342  //line sql.y:1614
  8343  		{
  8344  			yyLOCAL = &UnaryExpr{Operator: NStringOp, Expr: NewStrLiteral(yyDollar[1].str)}
  8345  		}
  8346  		yyVAL.union = yyLOCAL
  8347  	case 259:
  8348  		yyDollar = yyS[yypt-2 : yypt+1]
  8349  		var yyLOCAL Expr
  8350  //line sql.y:1618
  8351  		{
  8352  			yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewStrLiteral(yyDollar[2].str)}
  8353  		}
  8354  		yyVAL.union = yyLOCAL
  8355  	case 260:
  8356  		yyDollar = yyS[yypt-1 : yypt+1]
  8357  		var yyLOCAL Expr
  8358  //line sql.y:1622
  8359  		{
  8360  			yyLOCAL = NewArgument(yyDollar[1].str[1:])
  8361  			bindVariable(yylex, yyDollar[1].str[1:])
  8362  		}
  8363  		yyVAL.union = yyLOCAL
  8364  	case 261:
  8365  		yyDollar = yyS[yypt-2 : yypt+1]
  8366  		var yyLOCAL ColumnKeyOption
  8367  //line sql.y:1629
  8368  		{
  8369  			yyLOCAL = colKeyPrimary
  8370  		}
  8371  		yyVAL.union = yyLOCAL
  8372  	case 262:
  8373  		yyDollar = yyS[yypt-1 : yypt+1]
  8374  		var yyLOCAL ColumnKeyOption
  8375  //line sql.y:1633
  8376  		{
  8377  			yyLOCAL = colKeyUnique
  8378  		}
  8379  		yyVAL.union = yyLOCAL
  8380  	case 263:
  8381  		yyDollar = yyS[yypt-2 : yypt+1]
  8382  		var yyLOCAL ColumnKeyOption
  8383  //line sql.y:1637
  8384  		{
  8385  			yyLOCAL = colKeyUniqueKey
  8386  		}
  8387  		yyVAL.union = yyLOCAL
  8388  	case 264:
  8389  		yyDollar = yyS[yypt-1 : yypt+1]
  8390  		var yyLOCAL ColumnKeyOption
  8391  //line sql.y:1641
  8392  		{
  8393  			yyLOCAL = colKey
  8394  		}
  8395  		yyVAL.union = yyLOCAL
  8396  	case 265:
  8397  		yyDollar = yyS[yypt-3 : yypt+1]
  8398  //line sql.y:1647
  8399  		{
  8400  			yyVAL.columnType = yyDollar[1].columnType
  8401  			yyVAL.columnType.Unsigned = yyDollar[2].booleanUnion()
  8402  			yyVAL.columnType.Zerofill = yyDollar[3].booleanUnion()
  8403  		}
  8404  	case 269:
  8405  		yyDollar = yyS[yypt-2 : yypt+1]
  8406  //line sql.y:1658
  8407  		{
  8408  			yyVAL.columnType = yyDollar[1].columnType
  8409  			yyVAL.columnType.Length = yyDollar[2].literalUnion()
  8410  		}
  8411  	case 270:
  8412  		yyDollar = yyS[yypt-1 : yypt+1]
  8413  //line sql.y:1663
  8414  		{
  8415  			yyVAL.columnType = yyDollar[1].columnType
  8416  		}
  8417  	case 271:
  8418  		yyDollar = yyS[yypt-1 : yypt+1]
  8419  //line sql.y:1669
  8420  		{
  8421  			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)}
  8422  		}
  8423  	case 272:
  8424  		yyDollar = yyS[yypt-1 : yypt+1]
  8425  //line sql.y:1673
  8426  		{
  8427  			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)}
  8428  		}
  8429  	case 273:
  8430  		yyDollar = yyS[yypt-1 : yypt+1]
  8431  //line sql.y:1677
  8432  		{
  8433  			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)}
  8434  		}
  8435  	case 274:
  8436  		yyDollar = yyS[yypt-1 : yypt+1]
  8437  //line sql.y:1681
  8438  		{
  8439  			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)}
  8440  		}
  8441  	case 275:
  8442  		yyDollar = yyS[yypt-1 : yypt+1]
  8443  //line sql.y:1685
  8444  		{
  8445  			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)}
  8446  		}
  8447  	case 276:
  8448  		yyDollar = yyS[yypt-1 : yypt+1]
  8449  //line sql.y:1689
  8450  		{
  8451  			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)}
  8452  		}
  8453  	case 277:
  8454  		yyDollar = yyS[yypt-1 : yypt+1]
  8455  //line sql.y:1693
  8456  		{
  8457  			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)}
  8458  		}
  8459  	case 278:
  8460  		yyDollar = yyS[yypt-1 : yypt+1]
  8461  //line sql.y:1697
  8462  		{
  8463  			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)}
  8464  		}
  8465  	case 279:
  8466  		yyDollar = yyS[yypt-1 : yypt+1]
  8467  //line sql.y:1701
  8468  		{
  8469  			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)}
  8470  		}
  8471  	case 280:
  8472  		yyDollar = yyS[yypt-2 : yypt+1]
  8473  //line sql.y:1707
  8474  		{
  8475  			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)}
  8476  			yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length
  8477  			yyVAL.columnType.Scale = yyDollar[2].LengthScaleOption.Scale
  8478  		}
  8479  	case 281:
  8480  		yyDollar = yyS[yypt-2 : yypt+1]
  8481  //line sql.y:1713
  8482  		{
  8483  			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)}
  8484  			yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length
  8485  			yyVAL.columnType.Scale = yyDollar[2].LengthScaleOption.Scale
  8486  		}
  8487  	case 282:
  8488  		yyDollar = yyS[yypt-2 : yypt+1]
  8489  //line sql.y:1719
  8490  		{
  8491  			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)}
  8492  			yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length
  8493  			yyVAL.columnType.Scale = yyDollar[2].LengthScaleOption.Scale
  8494  		}
  8495  	case 283:
  8496  		yyDollar = yyS[yypt-2 : yypt+1]
  8497  //line sql.y:1725
  8498  		{
  8499  			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)}
  8500  			yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length
  8501  			yyVAL.columnType.Scale = yyDollar[2].LengthScaleOption.Scale
  8502  		}
  8503  	case 284:
  8504  		yyDollar = yyS[yypt-2 : yypt+1]
  8505  //line sql.y:1731
  8506  		{
  8507  			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)}
  8508  			yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length
  8509  			yyVAL.columnType.Scale = yyDollar[2].LengthScaleOption.Scale
  8510  		}
  8511  	case 285:
  8512  		yyDollar = yyS[yypt-1 : yypt+1]
  8513  //line sql.y:1739
  8514  		{
  8515  			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)}
  8516  		}
  8517  	case 286:
  8518  		yyDollar = yyS[yypt-2 : yypt+1]
  8519  //line sql.y:1743
  8520  		{
  8521  			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()}
  8522  		}
  8523  	case 287:
  8524  		yyDollar = yyS[yypt-2 : yypt+1]
  8525  //line sql.y:1747
  8526  		{
  8527  			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()}
  8528  		}
  8529  	case 288:
  8530  		yyDollar = yyS[yypt-2 : yypt+1]
  8531  //line sql.y:1751
  8532  		{
  8533  			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()}
  8534  		}
  8535  	case 289:
  8536  		yyDollar = yyS[yypt-2 : yypt+1]
  8537  //line sql.y:1755
  8538  		{
  8539  			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()}
  8540  		}
  8541  	case 290:
  8542  		yyDollar = yyS[yypt-3 : yypt+1]
  8543  //line sql.y:1761
  8544  		{
  8545  			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion(), Charset: yyDollar[3].str}
  8546  		}
  8547  	case 291:
  8548  		yyDollar = yyS[yypt-3 : yypt+1]
  8549  //line sql.y:1765
  8550  		{
  8551  			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion(), Charset: yyDollar[3].str}
  8552  		}
  8553  	case 292:
  8554  		yyDollar = yyS[yypt-2 : yypt+1]
  8555  //line sql.y:1769
  8556  		{
  8557  			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()}
  8558  		}
  8559  	case 293:
  8560  		yyDollar = yyS[yypt-2 : yypt+1]
  8561  //line sql.y:1773
  8562  		{
  8563  			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()}
  8564  		}
  8565  	case 294:
  8566  		yyDollar = yyS[yypt-2 : yypt+1]
  8567  //line sql.y:1777
  8568  		{
  8569  			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Charset: yyDollar[2].str}
  8570  		}
  8571  	case 295:
  8572  		yyDollar = yyS[yypt-2 : yypt+1]
  8573  //line sql.y:1781
  8574  		{
  8575  			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Charset: yyDollar[2].str}
  8576  		}
  8577  	case 296:
  8578  		yyDollar = yyS[yypt-2 : yypt+1]
  8579  //line sql.y:1785
  8580  		{
  8581  			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Charset: yyDollar[2].str}
  8582  		}
  8583  	case 297:
  8584  		yyDollar = yyS[yypt-2 : yypt+1]
  8585  //line sql.y:1789
  8586  		{
  8587  			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Charset: yyDollar[2].str}
  8588  		}
  8589  	case 298:
  8590  		yyDollar = yyS[yypt-1 : yypt+1]
  8591  //line sql.y:1793
  8592  		{
  8593  			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)}
  8594  		}
  8595  	case 299:
  8596  		yyDollar = yyS[yypt-1 : yypt+1]
  8597  //line sql.y:1797
  8598  		{
  8599  			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)}
  8600  		}
  8601  	case 300:
  8602  		yyDollar = yyS[yypt-1 : yypt+1]
  8603  //line sql.y:1801
  8604  		{
  8605  			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)}
  8606  		}
  8607  	case 301:
  8608  		yyDollar = yyS[yypt-1 : yypt+1]
  8609  //line sql.y:1805
  8610  		{
  8611  			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)}
  8612  		}
  8613  	case 302:
  8614  		yyDollar = yyS[yypt-1 : yypt+1]
  8615  //line sql.y:1809
  8616  		{
  8617  			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)}
  8618  		}
  8619  	case 303:
  8620  		yyDollar = yyS[yypt-5 : yypt+1]
  8621  //line sql.y:1813
  8622  		{
  8623  			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), EnumValues: yyDollar[3].strs, Charset: yyDollar[5].str}
  8624  		}
  8625  	case 304:
  8626  		yyDollar = yyS[yypt-5 : yypt+1]
  8627  //line sql.y:1818
  8628  		{
  8629  			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), EnumValues: yyDollar[3].strs, Charset: yyDollar[5].str}
  8630  		}
  8631  	case 305:
  8632  		yyDollar = yyS[yypt-1 : yypt+1]
  8633  //line sql.y:1824
  8634  		{
  8635  			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)}
  8636  		}
  8637  	case 306:
  8638  		yyDollar = yyS[yypt-1 : yypt+1]
  8639  //line sql.y:1828
  8640  		{
  8641  			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)}
  8642  		}
  8643  	case 307:
  8644  		yyDollar = yyS[yypt-1 : yypt+1]
  8645  //line sql.y:1832
  8646  		{
  8647  			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)}
  8648  		}
  8649  	case 308:
  8650  		yyDollar = yyS[yypt-1 : yypt+1]
  8651  //line sql.y:1836
  8652  		{
  8653  			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)}
  8654  		}
  8655  	case 309:
  8656  		yyDollar = yyS[yypt-1 : yypt+1]
  8657  //line sql.y:1840
  8658  		{
  8659  			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)}
  8660  		}
  8661  	case 310:
  8662  		yyDollar = yyS[yypt-1 : yypt+1]
  8663  //line sql.y:1844
  8664  		{
  8665  			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)}
  8666  		}
  8667  	case 311:
  8668  		yyDollar = yyS[yypt-1 : yypt+1]
  8669  //line sql.y:1848
  8670  		{
  8671  			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)}
  8672  		}
  8673  	case 312:
  8674  		yyDollar = yyS[yypt-1 : yypt+1]
  8675  //line sql.y:1852
  8676  		{
  8677  			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)}
  8678  		}
  8679  	case 313:
  8680  		yyDollar = yyS[yypt-1 : yypt+1]
  8681  //line sql.y:1858
  8682  		{
  8683  			yyVAL.strs = make([]string, 0, 4)
  8684  			yyVAL.strs = append(yyVAL.strs, encodeSQLString(yyDollar[1].str))
  8685  		}
  8686  	case 314:
  8687  		yyDollar = yyS[yypt-3 : yypt+1]
  8688  //line sql.y:1863
  8689  		{
  8690  			yyVAL.strs = append(yyDollar[1].strs, encodeSQLString(yyDollar[3].str))
  8691  		}
  8692  	case 315:
  8693  		yyDollar = yyS[yypt-0 : yypt+1]
  8694  		var yyLOCAL *Literal
  8695  //line sql.y:1868
  8696  		{
  8697  			yyLOCAL = nil
  8698  		}
  8699  		yyVAL.union = yyLOCAL
  8700  	case 316:
  8701  		yyDollar = yyS[yypt-3 : yypt+1]
  8702  		var yyLOCAL *Literal
  8703  //line sql.y:1872
  8704  		{
  8705  			yyLOCAL = NewIntLiteral(yyDollar[2].str)
  8706  		}
  8707  		yyVAL.union = yyLOCAL
  8708  	case 317:
  8709  		yyDollar = yyS[yypt-0 : yypt+1]
  8710  //line sql.y:1877
  8711  		{
  8712  			yyVAL.LengthScaleOption = LengthScaleOption{}
  8713  		}
  8714  	case 318:
  8715  		yyDollar = yyS[yypt-5 : yypt+1]
  8716  //line sql.y:1881
  8717  		{
  8718  			yyVAL.LengthScaleOption = LengthScaleOption{
  8719  				Length: NewIntLiteral(yyDollar[2].str),
  8720  				Scale:  NewIntLiteral(yyDollar[4].str),
  8721  			}
  8722  		}
  8723  	case 319:
  8724  		yyDollar = yyS[yypt-0 : yypt+1]
  8725  //line sql.y:1889
  8726  		{
  8727  			yyVAL.LengthScaleOption = LengthScaleOption{}
  8728  		}
  8729  	case 320:
  8730  		yyDollar = yyS[yypt-3 : yypt+1]
  8731  //line sql.y:1893
  8732  		{
  8733  			yyVAL.LengthScaleOption = LengthScaleOption{
  8734  				Length: NewIntLiteral(yyDollar[2].str),
  8735  			}
  8736  		}
  8737  	case 321:
  8738  		yyDollar = yyS[yypt-5 : yypt+1]
  8739  //line sql.y:1899
  8740  		{
  8741  			yyVAL.LengthScaleOption = LengthScaleOption{
  8742  				Length: NewIntLiteral(yyDollar[2].str),
  8743  				Scale:  NewIntLiteral(yyDollar[4].str),
  8744  			}
  8745  		}
  8746  	case 322:
  8747  		yyDollar = yyS[yypt-0 : yypt+1]
  8748  		var yyLOCAL bool
  8749  //line sql.y:1907
  8750  		{
  8751  			yyLOCAL = false
  8752  		}
  8753  		yyVAL.union = yyLOCAL
  8754  	case 323:
  8755  		yyDollar = yyS[yypt-1 : yypt+1]
  8756  		var yyLOCAL bool
  8757  //line sql.y:1911
  8758  		{
  8759  			yyLOCAL = true
  8760  		}
  8761  		yyVAL.union = yyLOCAL
  8762  	case 324:
  8763  		yyDollar = yyS[yypt-1 : yypt+1]
  8764  		var yyLOCAL bool
  8765  //line sql.y:1915
  8766  		{
  8767  			yyLOCAL = false
  8768  		}
  8769  		yyVAL.union = yyLOCAL
  8770  	case 325:
  8771  		yyDollar = yyS[yypt-0 : yypt+1]
  8772  		var yyLOCAL bool
  8773  //line sql.y:1920
  8774  		{
  8775  			yyLOCAL = false
  8776  		}
  8777  		yyVAL.union = yyLOCAL
  8778  	case 326:
  8779  		yyDollar = yyS[yypt-1 : yypt+1]
  8780  		var yyLOCAL bool
  8781  //line sql.y:1924
  8782  		{
  8783  			yyLOCAL = true
  8784  		}
  8785  		yyVAL.union = yyLOCAL
  8786  	case 327:
  8787  		yyDollar = yyS[yypt-0 : yypt+1]
  8788  //line sql.y:1929
  8789  		{
  8790  			yyVAL.str = ""
  8791  		}
  8792  	case 328:
  8793  		yyDollar = yyS[yypt-2 : yypt+1]
  8794  //line sql.y:1933
  8795  		{
  8796  			yyVAL.str = string(yyDollar[2].colIdent.String())
  8797  		}
  8798  	case 329:
  8799  		yyDollar = yyS[yypt-2 : yypt+1]
  8800  //line sql.y:1937
  8801  		{
  8802  			yyVAL.str = encodeSQLString(yyDollar[2].str)
  8803  		}
  8804  	case 330:
  8805  		yyDollar = yyS[yypt-2 : yypt+1]
  8806  //line sql.y:1941
  8807  		{
  8808  			yyVAL.str = string(yyDollar[2].str)
  8809  		}
  8810  	case 331:
  8811  		yyDollar = yyS[yypt-0 : yypt+1]
  8812  //line sql.y:1946
  8813  		{
  8814  			yyVAL.str = ""
  8815  		}
  8816  	case 332:
  8817  		yyDollar = yyS[yypt-2 : yypt+1]
  8818  //line sql.y:1950
  8819  		{
  8820  			yyVAL.str = string(yyDollar[2].colIdent.String())
  8821  		}
  8822  	case 333:
  8823  		yyDollar = yyS[yypt-2 : yypt+1]
  8824  //line sql.y:1954
  8825  		{
  8826  			yyVAL.str = encodeSQLString(yyDollar[2].str)
  8827  		}
  8828  	case 334:
  8829  		yyDollar = yyS[yypt-5 : yypt+1]
  8830  		var yyLOCAL *IndexDefinition
  8831  //line sql.y:1961
  8832  		{
  8833  			yyLOCAL = &IndexDefinition{Info: yyDollar[1].indexInfoUnion(), Columns: yyDollar[3].indexColumnsUnion(), Options: yyDollar[5].indexOptionsUnion()}
  8834  		}
  8835  		yyVAL.union = yyLOCAL
  8836  	case 335:
  8837  		yyDollar = yyS[yypt-0 : yypt+1]
  8838  		var yyLOCAL []*IndexOption
  8839  //line sql.y:1966
  8840  		{
  8841  			yyLOCAL = nil
  8842  		}
  8843  		yyVAL.union = yyLOCAL
  8844  	case 336:
  8845  		yyDollar = yyS[yypt-1 : yypt+1]
  8846  		var yyLOCAL []*IndexOption
  8847  //line sql.y:1970
  8848  		{
  8849  			yyLOCAL = yyDollar[1].indexOptionsUnion()
  8850  		}
  8851  		yyVAL.union = yyLOCAL
  8852  	case 337:
  8853  		yyDollar = yyS[yypt-1 : yypt+1]
  8854  		var yyLOCAL []*IndexOption
  8855  //line sql.y:1976
  8856  		{
  8857  			yyLOCAL = []*IndexOption{yyDollar[1].indexOptionUnion()}
  8858  		}
  8859  		yyVAL.union = yyLOCAL
  8860  	case 338:
  8861  		yyDollar = yyS[yypt-2 : yypt+1]
  8862  //line sql.y:1980
  8863  		{
  8864  			yySLICE := (*[]*IndexOption)(yyIaddr(yyVAL.union))
  8865  			*yySLICE = append(*yySLICE, yyDollar[2].indexOptionUnion())
  8866  		}
  8867  	case 339:
  8868  		yyDollar = yyS[yypt-1 : yypt+1]
  8869  		var yyLOCAL *IndexOption
  8870  //line sql.y:1986
  8871  		{
  8872  			yyLOCAL = yyDollar[1].indexOptionUnion()
  8873  		}
  8874  		yyVAL.union = yyLOCAL
  8875  	case 340:
  8876  		yyDollar = yyS[yypt-3 : yypt+1]
  8877  		var yyLOCAL *IndexOption
  8878  //line sql.y:1990
  8879  		{
  8880  			// should not be string
  8881  			yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)}
  8882  		}
  8883  		yyVAL.union = yyLOCAL
  8884  	case 341:
  8885  		yyDollar = yyS[yypt-2 : yypt+1]
  8886  		var yyLOCAL *IndexOption
  8887  //line sql.y:1995
  8888  		{
  8889  			yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[2].str)}
  8890  		}
  8891  		yyVAL.union = yyLOCAL
  8892  	case 342:
  8893  		yyDollar = yyS[yypt-3 : yypt+1]
  8894  		var yyLOCAL *IndexOption
  8895  //line sql.y:1999
  8896  		{
  8897  			yyLOCAL = &IndexOption{Name: string(yyDollar[1].str) + " " + string(yyDollar[2].str), String: yyDollar[3].colIdent.String()}
  8898  		}
  8899  		yyVAL.union = yyLOCAL
  8900  	case 343:
  8901  		yyDollar = yyS[yypt-0 : yypt+1]
  8902  //line sql.y:2005
  8903  		{
  8904  			yyVAL.str = ""
  8905  		}
  8906  	case 344:
  8907  		yyDollar = yyS[yypt-1 : yypt+1]
  8908  //line sql.y:2009
  8909  		{
  8910  			yyVAL.str = string(yyDollar[1].str)
  8911  		}
  8912  	case 345:
  8913  		yyDollar = yyS[yypt-4 : yypt+1]
  8914  		var yyLOCAL *IndexInfo
  8915  //line sql.y:2015
  8916  		{
  8917  			yyLOCAL = &IndexInfo{Type: string(yyDollar[2].str) + " " + string(yyDollar[3].str), ConstraintName: NewColIdent(yyDollar[1].str), Name: NewColIdent("PRIMARY"), Primary: true, Unique: true}
  8918  		}
  8919  		yyVAL.union = yyLOCAL
  8920  	case 346:
  8921  		yyDollar = yyS[yypt-3 : yypt+1]
  8922  		var yyLOCAL *IndexInfo
  8923  //line sql.y:2019
  8924  		{
  8925  			yyLOCAL = &IndexInfo{Type: string(yyDollar[1].str) + " " + string(yyDollar[2].str), Name: NewColIdent(yyDollar[3].str), Spatial: true, Unique: false}
  8926  		}
  8927  		yyVAL.union = yyLOCAL
  8928  	case 347:
  8929  		yyDollar = yyS[yypt-3 : yypt+1]
  8930  		var yyLOCAL *IndexInfo
  8931  //line sql.y:2023
  8932  		{
  8933  			yyLOCAL = &IndexInfo{Type: string(yyDollar[1].str) + " " + string(yyDollar[2].str), Name: NewColIdent(yyDollar[3].str), Fulltext: true, Unique: false}
  8934  		}
  8935  		yyVAL.union = yyLOCAL
  8936  	case 348:
  8937  		yyDollar = yyS[yypt-4 : yypt+1]
  8938  		var yyLOCAL *IndexInfo
  8939  //line sql.y:2027
  8940  		{
  8941  			yyLOCAL = &IndexInfo{Type: string(yyDollar[2].str) + " " + string(yyDollar[3].str), ConstraintName: NewColIdent(yyDollar[1].str), Name: NewColIdent(yyDollar[4].str), Unique: true}
  8942  		}
  8943  		yyVAL.union = yyLOCAL
  8944  	case 349:
  8945  		yyDollar = yyS[yypt-2 : yypt+1]
  8946  		var yyLOCAL *IndexInfo
  8947  //line sql.y:2031
  8948  		{
  8949  			yyLOCAL = &IndexInfo{Type: string(yyDollar[1].str), Name: NewColIdent(yyDollar[2].str), Unique: false}
  8950  		}
  8951  		yyVAL.union = yyLOCAL
  8952  	case 350:
  8953  		yyDollar = yyS[yypt-0 : yypt+1]
  8954  //line sql.y:2036
  8955  		{
  8956  			yyVAL.str = ""
  8957  		}
  8958  	case 351:
  8959  		yyDollar = yyS[yypt-2 : yypt+1]
  8960  //line sql.y:2040
  8961  		{
  8962  			yyVAL.str = yyDollar[2].str
  8963  		}
  8964  	case 352:
  8965  		yyDollar = yyS[yypt-1 : yypt+1]
  8966  //line sql.y:2046
  8967  		{
  8968  			yyVAL.str = string(yyDollar[1].str)
  8969  		}
  8970  	case 353:
  8971  		yyDollar = yyS[yypt-1 : yypt+1]
  8972  //line sql.y:2050
  8973  		{
  8974  			yyVAL.str = string(yyDollar[1].str)
  8975  		}
  8976  	case 354:
  8977  		yyDollar = yyS[yypt-1 : yypt+1]
  8978  //line sql.y:2054
  8979  		{
  8980  			yyVAL.str = string(yyDollar[1].str)
  8981  		}
  8982  	case 355:
  8983  		yyDollar = yyS[yypt-1 : yypt+1]
  8984  //line sql.y:2061
  8985  		{
  8986  			yyVAL.str = string(yyDollar[1].str)
  8987  		}
  8988  	case 356:
  8989  		yyDollar = yyS[yypt-1 : yypt+1]
  8990  //line sql.y:2065
  8991  		{
  8992  			yyVAL.str = string(yyDollar[1].str)
  8993  		}
  8994  	case 357:
  8995  		yyDollar = yyS[yypt-0 : yypt+1]
  8996  //line sql.y:2070
  8997  		{
  8998  			yyVAL.str = "key"
  8999  		}
  9000  	case 358:
  9001  		yyDollar = yyS[yypt-1 : yypt+1]
  9002  //line sql.y:2074
  9003  		{
  9004  			yyVAL.str = yyDollar[1].str
  9005  		}
  9006  	case 359:
  9007  		yyDollar = yyS[yypt-1 : yypt+1]
  9008  //line sql.y:2080
  9009  		{
  9010  			yyVAL.str = string(yyDollar[1].str)
  9011  		}
  9012  	case 360:
  9013  		yyDollar = yyS[yypt-1 : yypt+1]
  9014  //line sql.y:2084
  9015  		{
  9016  			yyVAL.str = string(yyDollar[1].str)
  9017  		}
  9018  	case 361:
  9019  		yyDollar = yyS[yypt-0 : yypt+1]
  9020  //line sql.y:2089
  9021  		{
  9022  			yyVAL.str = ""
  9023  		}
  9024  	case 362:
  9025  		yyDollar = yyS[yypt-1 : yypt+1]
  9026  //line sql.y:2093
  9027  		{
  9028  			yyVAL.str = string(yyDollar[1].colIdent.String())
  9029  		}
  9030  	case 363:
  9031  		yyDollar = yyS[yypt-1 : yypt+1]
  9032  		var yyLOCAL []*IndexColumn
  9033  //line sql.y:2099
  9034  		{
  9035  			yyLOCAL = []*IndexColumn{yyDollar[1].indexColumnUnion()}
  9036  		}
  9037  		yyVAL.union = yyLOCAL
  9038  	case 364:
  9039  		yyDollar = yyS[yypt-3 : yypt+1]
  9040  //line sql.y:2103
  9041  		{
  9042  			yySLICE := (*[]*IndexColumn)(yyIaddr(yyVAL.union))
  9043  			*yySLICE = append(*yySLICE, yyDollar[3].indexColumnUnion())
  9044  		}
  9045  	case 365:
  9046  		yyDollar = yyS[yypt-3 : yypt+1]
  9047  		var yyLOCAL *IndexColumn
  9048  //line sql.y:2109
  9049  		{
  9050  			yyLOCAL = &IndexColumn{Column: yyDollar[1].colIdent, Length: yyDollar[2].literalUnion(), Direction: yyDollar[3].orderDirectionUnion()}
  9051  		}
  9052  		yyVAL.union = yyLOCAL
  9053  	case 366:
  9054  		yyDollar = yyS[yypt-3 : yypt+1]
  9055  		var yyLOCAL *ConstraintDefinition
  9056  //line sql.y:2115
  9057  		{
  9058  			yyLOCAL = &ConstraintDefinition{Name: yyDollar[2].colIdent, Details: yyDollar[3].constraintInfoUnion()}
  9059  		}
  9060  		yyVAL.union = yyLOCAL
  9061  	case 367:
  9062  		yyDollar = yyS[yypt-1 : yypt+1]
  9063  		var yyLOCAL *ConstraintDefinition
  9064  //line sql.y:2119
  9065  		{
  9066  			yyLOCAL = &ConstraintDefinition{Details: yyDollar[1].constraintInfoUnion()}
  9067  		}
  9068  		yyVAL.union = yyLOCAL
  9069  	case 368:
  9070  		yyDollar = yyS[yypt-3 : yypt+1]
  9071  		var yyLOCAL *ConstraintDefinition
  9072  //line sql.y:2125
  9073  		{
  9074  			yyLOCAL = &ConstraintDefinition{Name: yyDollar[2].colIdent, Details: yyDollar[3].constraintInfoUnion()}
  9075  		}
  9076  		yyVAL.union = yyLOCAL
  9077  	case 369:
  9078  		yyDollar = yyS[yypt-1 : yypt+1]
  9079  		var yyLOCAL *ConstraintDefinition
  9080  //line sql.y:2129
  9081  		{
  9082  			yyLOCAL = &ConstraintDefinition{Details: yyDollar[1].constraintInfoUnion()}
  9083  		}
  9084  		yyVAL.union = yyLOCAL
  9085  	case 370:
  9086  		yyDollar = yyS[yypt-7 : yypt+1]
  9087  		var yyLOCAL ConstraintInfo
  9088  //line sql.y:2135
  9089  		{
  9090  			yyLOCAL = &ForeignKeyDefinition{IndexName: NewColIdent(yyDollar[3].str), Source: yyDollar[5].columnsUnion(), ReferenceDefinition: yyDollar[7].referenceDefinitionUnion()}
  9091  		}
  9092  		yyVAL.union = yyLOCAL
  9093  	case 371:
  9094  		yyDollar = yyS[yypt-5 : yypt+1]
  9095  		var yyLOCAL *ReferenceDefinition
  9096  //line sql.y:2141
  9097  		{
  9098  			yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion()}
  9099  		}
  9100  		yyVAL.union = yyLOCAL
  9101  	case 372:
  9102  		yyDollar = yyS[yypt-6 : yypt+1]
  9103  		var yyLOCAL *ReferenceDefinition
  9104  //line sql.y:2145
  9105  		{
  9106  			yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), OnDelete: yyDollar[6].ReferenceActionUnion()}
  9107  		}
  9108  		yyVAL.union = yyLOCAL
  9109  	case 373:
  9110  		yyDollar = yyS[yypt-6 : yypt+1]
  9111  		var yyLOCAL *ReferenceDefinition
  9112  //line sql.y:2149
  9113  		{
  9114  			yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), OnUpdate: yyDollar[6].ReferenceActionUnion()}
  9115  		}
  9116  		yyVAL.union = yyLOCAL
  9117  	case 374:
  9118  		yyDollar = yyS[yypt-7 : yypt+1]
  9119  		var yyLOCAL *ReferenceDefinition
  9120  //line sql.y:2153
  9121  		{
  9122  			yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), OnDelete: yyDollar[6].ReferenceActionUnion(), OnUpdate: yyDollar[7].ReferenceActionUnion()}
  9123  		}
  9124  		yyVAL.union = yyLOCAL
  9125  	case 375:
  9126  		yyDollar = yyS[yypt-0 : yypt+1]
  9127  		var yyLOCAL *ReferenceDefinition
  9128  //line sql.y:2158
  9129  		{
  9130  			yyLOCAL = nil
  9131  		}
  9132  		yyVAL.union = yyLOCAL
  9133  	case 376:
  9134  		yyDollar = yyS[yypt-1 : yypt+1]
  9135  		var yyLOCAL *ReferenceDefinition
  9136  //line sql.y:2162
  9137  		{
  9138  			yyLOCAL = yyDollar[1].referenceDefinitionUnion()
  9139  		}
  9140  		yyVAL.union = yyLOCAL
  9141  	case 377:
  9142  		yyDollar = yyS[yypt-5 : yypt+1]
  9143  		var yyLOCAL ConstraintInfo
  9144  //line sql.y:2168
  9145  		{
  9146  			yyLOCAL = &CheckConstraintDefinition{Expr: yyDollar[3].exprUnion(), Enforced: yyDollar[5].booleanUnion()}
  9147  		}
  9148  		yyVAL.union = yyLOCAL
  9149  	case 378:
  9150  		yyDollar = yyS[yypt-3 : yypt+1]
  9151  		var yyLOCAL ReferenceAction
  9152  //line sql.y:2174
  9153  		{
  9154  			yyLOCAL = yyDollar[3].ReferenceActionUnion()
  9155  		}
  9156  		yyVAL.union = yyLOCAL
  9157  	case 379:
  9158  		yyDollar = yyS[yypt-3 : yypt+1]
  9159  		var yyLOCAL ReferenceAction
  9160  //line sql.y:2180
  9161  		{
  9162  			yyLOCAL = yyDollar[3].ReferenceActionUnion()
  9163  		}
  9164  		yyVAL.union = yyLOCAL
  9165  	case 380:
  9166  		yyDollar = yyS[yypt-1 : yypt+1]
  9167  		var yyLOCAL ReferenceAction
  9168  //line sql.y:2186
  9169  		{
  9170  			yyLOCAL = Restrict
  9171  		}
  9172  		yyVAL.union = yyLOCAL
  9173  	case 381:
  9174  		yyDollar = yyS[yypt-1 : yypt+1]
  9175  		var yyLOCAL ReferenceAction
  9176  //line sql.y:2190
  9177  		{
  9178  			yyLOCAL = Cascade
  9179  		}
  9180  		yyVAL.union = yyLOCAL
  9181  	case 382:
  9182  		yyDollar = yyS[yypt-2 : yypt+1]
  9183  		var yyLOCAL ReferenceAction
  9184  //line sql.y:2194
  9185  		{
  9186  			yyLOCAL = NoAction
  9187  		}
  9188  		yyVAL.union = yyLOCAL
  9189  	case 383:
  9190  		yyDollar = yyS[yypt-2 : yypt+1]
  9191  		var yyLOCAL ReferenceAction
  9192  //line sql.y:2198
  9193  		{
  9194  			yyLOCAL = SetDefault
  9195  		}
  9196  		yyVAL.union = yyLOCAL
  9197  	case 384:
  9198  		yyDollar = yyS[yypt-2 : yypt+1]
  9199  		var yyLOCAL ReferenceAction
  9200  //line sql.y:2202
  9201  		{
  9202  			yyLOCAL = SetNull
  9203  		}
  9204  		yyVAL.union = yyLOCAL
  9205  	case 385:
  9206  		yyDollar = yyS[yypt-0 : yypt+1]
  9207  //line sql.y:2207
  9208  		{
  9209  			yyVAL.str = ""
  9210  		}
  9211  	case 386:
  9212  		yyDollar = yyS[yypt-1 : yypt+1]
  9213  //line sql.y:2211
  9214  		{
  9215  			yyVAL.str = string(yyDollar[1].str)
  9216  		}
  9217  	case 387:
  9218  		yyDollar = yyS[yypt-1 : yypt+1]
  9219  //line sql.y:2215
  9220  		{
  9221  			yyVAL.str = string(yyDollar[1].str)
  9222  		}
  9223  	case 388:
  9224  		yyDollar = yyS[yypt-0 : yypt+1]
  9225  		var yyLOCAL bool
  9226  //line sql.y:2220
  9227  		{
  9228  			yyLOCAL = true
  9229  		}
  9230  		yyVAL.union = yyLOCAL
  9231  	case 389:
  9232  		yyDollar = yyS[yypt-1 : yypt+1]
  9233  		var yyLOCAL bool
  9234  //line sql.y:2224
  9235  		{
  9236  			yyLOCAL = true
  9237  		}
  9238  		yyVAL.union = yyLOCAL
  9239  	case 390:
  9240  		yyDollar = yyS[yypt-2 : yypt+1]
  9241  		var yyLOCAL bool
  9242  //line sql.y:2228
  9243  		{
  9244  			yyLOCAL = false
  9245  		}
  9246  		yyVAL.union = yyLOCAL
  9247  	case 391:
  9248  		yyDollar = yyS[yypt-0 : yypt+1]
  9249  		var yyLOCAL TableOptions
  9250  //line sql.y:2233
  9251  		{
  9252  			yyLOCAL = nil
  9253  		}
  9254  		yyVAL.union = yyLOCAL
  9255  	case 392:
  9256  		yyDollar = yyS[yypt-1 : yypt+1]
  9257  		var yyLOCAL TableOptions
  9258  //line sql.y:2237
  9259  		{
  9260  			yyLOCAL = yyDollar[1].tableOptionsUnion()
  9261  		}
  9262  		yyVAL.union = yyLOCAL
  9263  	case 393:
  9264  		yyDollar = yyS[yypt-1 : yypt+1]
  9265  		var yyLOCAL TableOptions
  9266  //line sql.y:2243
  9267  		{
  9268  			yyLOCAL = TableOptions{yyDollar[1].tableOptionUnion()}
  9269  		}
  9270  		yyVAL.union = yyLOCAL
  9271  	case 394:
  9272  		yyDollar = yyS[yypt-3 : yypt+1]
  9273  //line sql.y:2247
  9274  		{
  9275  			yySLICE := (*TableOptions)(yyIaddr(yyVAL.union))
  9276  			*yySLICE = append(*yySLICE, yyDollar[3].tableOptionUnion())
  9277  		}
  9278  	case 395:
  9279  		yyDollar = yyS[yypt-2 : yypt+1]
  9280  //line sql.y:2251
  9281  		{
  9282  			yySLICE := (*TableOptions)(yyIaddr(yyVAL.union))
  9283  			*yySLICE = append(*yySLICE, yyDollar[2].tableOptionUnion())
  9284  		}
  9285  	case 396:
  9286  		yyDollar = yyS[yypt-1 : yypt+1]
  9287  		var yyLOCAL TableOptions
  9288  //line sql.y:2257
  9289  		{
  9290  			yyLOCAL = TableOptions{yyDollar[1].tableOptionUnion()}
  9291  		}
  9292  		yyVAL.union = yyLOCAL
  9293  	case 397:
  9294  		yyDollar = yyS[yypt-2 : yypt+1]
  9295  //line sql.y:2261
  9296  		{
  9297  			yySLICE := (*TableOptions)(yyIaddr(yyVAL.union))
  9298  			*yySLICE = append(*yySLICE, yyDollar[2].tableOptionUnion())
  9299  		}
  9300  	case 398:
  9301  		yyDollar = yyS[yypt-3 : yypt+1]
  9302  		var yyLOCAL *TableOption
  9303  //line sql.y:2267
  9304  		{
  9305  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)}
  9306  		}
  9307  		yyVAL.union = yyLOCAL
  9308  	case 399:
  9309  		yyDollar = yyS[yypt-3 : yypt+1]
  9310  		var yyLOCAL *TableOption
  9311  //line sql.y:2271
  9312  		{
  9313  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)}
  9314  		}
  9315  		yyVAL.union = yyLOCAL
  9316  	case 400:
  9317  		yyDollar = yyS[yypt-4 : yypt+1]
  9318  		var yyLOCAL *TableOption
  9319  //line sql.y:2275
  9320  		{
  9321  			yyLOCAL = &TableOption{Name: (string(yyDollar[2].str)), String: yyDollar[4].str}
  9322  		}
  9323  		yyVAL.union = yyLOCAL
  9324  	case 401:
  9325  		yyDollar = yyS[yypt-4 : yypt+1]
  9326  		var yyLOCAL *TableOption
  9327  //line sql.y:2279
  9328  		{
  9329  			yyLOCAL = &TableOption{Name: string(yyDollar[2].str), String: yyDollar[4].str}
  9330  		}
  9331  		yyVAL.union = yyLOCAL
  9332  	case 402:
  9333  		yyDollar = yyS[yypt-3 : yypt+1]
  9334  		var yyLOCAL *TableOption
  9335  //line sql.y:2283
  9336  		{
  9337  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)}
  9338  		}
  9339  		yyVAL.union = yyLOCAL
  9340  	case 403:
  9341  		yyDollar = yyS[yypt-3 : yypt+1]
  9342  		var yyLOCAL *TableOption
  9343  //line sql.y:2287
  9344  		{
  9345  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)}
  9346  		}
  9347  		yyVAL.union = yyLOCAL
  9348  	case 404:
  9349  		yyDollar = yyS[yypt-3 : yypt+1]
  9350  		var yyLOCAL *TableOption
  9351  //line sql.y:2291
  9352  		{
  9353  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)}
  9354  		}
  9355  		yyVAL.union = yyLOCAL
  9356  	case 405:
  9357  		yyDollar = yyS[yypt-3 : yypt+1]
  9358  		var yyLOCAL *TableOption
  9359  //line sql.y:2295
  9360  		{
  9361  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)}
  9362  		}
  9363  		yyVAL.union = yyLOCAL
  9364  	case 406:
  9365  		yyDollar = yyS[yypt-4 : yypt+1]
  9366  		var yyLOCAL *TableOption
  9367  //line sql.y:2299
  9368  		{
  9369  			yyLOCAL = &TableOption{Name: (string(yyDollar[1].str) + " " + string(yyDollar[2].str)), Value: NewStrLiteral(yyDollar[4].str)}
  9370  		}
  9371  		yyVAL.union = yyLOCAL
  9372  	case 407:
  9373  		yyDollar = yyS[yypt-4 : yypt+1]
  9374  		var yyLOCAL *TableOption
  9375  //line sql.y:2303
  9376  		{
  9377  			yyLOCAL = &TableOption{Name: (string(yyDollar[1].str) + " " + string(yyDollar[2].str)), Value: NewStrLiteral(yyDollar[4].str)}
  9378  		}
  9379  		yyVAL.union = yyLOCAL
  9380  	case 408:
  9381  		yyDollar = yyS[yypt-3 : yypt+1]
  9382  		var yyLOCAL *TableOption
  9383  //line sql.y:2307
  9384  		{
  9385  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)}
  9386  		}
  9387  		yyVAL.union = yyLOCAL
  9388  	case 409:
  9389  		yyDollar = yyS[yypt-3 : yypt+1]
  9390  		var yyLOCAL *TableOption
  9391  //line sql.y:2311
  9392  		{
  9393  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)}
  9394  		}
  9395  		yyVAL.union = yyLOCAL
  9396  	case 410:
  9397  		yyDollar = yyS[yypt-3 : yypt+1]
  9398  		var yyLOCAL *TableOption
  9399  //line sql.y:2315
  9400  		{
  9401  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: yyDollar[3].tableIdent.String()}
  9402  		}
  9403  		yyVAL.union = yyLOCAL
  9404  	case 411:
  9405  		yyDollar = yyS[yypt-3 : yypt+1]
  9406  		var yyLOCAL *TableOption
  9407  //line sql.y:2319
  9408  		{
  9409  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)}
  9410  		}
  9411  		yyVAL.union = yyLOCAL
  9412  	case 412:
  9413  		yyDollar = yyS[yypt-3 : yypt+1]
  9414  		var yyLOCAL *TableOption
  9415  //line sql.y:2323
  9416  		{
  9417  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)}
  9418  		}
  9419  		yyVAL.union = yyLOCAL
  9420  	case 413:
  9421  		yyDollar = yyS[yypt-3 : yypt+1]
  9422  		var yyLOCAL *TableOption
  9423  //line sql.y:2327
  9424  		{
  9425  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)}
  9426  		}
  9427  		yyVAL.union = yyLOCAL
  9428  	case 414:
  9429  		yyDollar = yyS[yypt-3 : yypt+1]
  9430  		var yyLOCAL *TableOption
  9431  //line sql.y:2331
  9432  		{
  9433  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)}
  9434  		}
  9435  		yyVAL.union = yyLOCAL
  9436  	case 415:
  9437  		yyDollar = yyS[yypt-3 : yypt+1]
  9438  		var yyLOCAL *TableOption
  9439  //line sql.y:2335
  9440  		{
  9441  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)}
  9442  		}
  9443  		yyVAL.union = yyLOCAL
  9444  	case 416:
  9445  		yyDollar = yyS[yypt-3 : yypt+1]
  9446  		var yyLOCAL *TableOption
  9447  //line sql.y:2339
  9448  		{
  9449  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)}
  9450  		}
  9451  		yyVAL.union = yyLOCAL
  9452  	case 417:
  9453  		yyDollar = yyS[yypt-3 : yypt+1]
  9454  		var yyLOCAL *TableOption
  9455  //line sql.y:2343
  9456  		{
  9457  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)}
  9458  		}
  9459  		yyVAL.union = yyLOCAL
  9460  	case 418:
  9461  		yyDollar = yyS[yypt-3 : yypt+1]
  9462  		var yyLOCAL *TableOption
  9463  //line sql.y:2347
  9464  		{
  9465  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)}
  9466  		}
  9467  		yyVAL.union = yyLOCAL
  9468  	case 419:
  9469  		yyDollar = yyS[yypt-3 : yypt+1]
  9470  		var yyLOCAL *TableOption
  9471  //line sql.y:2351
  9472  		{
  9473  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)}
  9474  		}
  9475  		yyVAL.union = yyLOCAL
  9476  	case 420:
  9477  		yyDollar = yyS[yypt-3 : yypt+1]
  9478  		var yyLOCAL *TableOption
  9479  //line sql.y:2355
  9480  		{
  9481  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)}
  9482  		}
  9483  		yyVAL.union = yyLOCAL
  9484  	case 421:
  9485  		yyDollar = yyS[yypt-3 : yypt+1]
  9486  		var yyLOCAL *TableOption
  9487  //line sql.y:2359
  9488  		{
  9489  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)}
  9490  		}
  9491  		yyVAL.union = yyLOCAL
  9492  	case 422:
  9493  		yyDollar = yyS[yypt-3 : yypt+1]
  9494  		var yyLOCAL *TableOption
  9495  //line sql.y:2363
  9496  		{
  9497  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)}
  9498  		}
  9499  		yyVAL.union = yyLOCAL
  9500  	case 423:
  9501  		yyDollar = yyS[yypt-3 : yypt+1]
  9502  		var yyLOCAL *TableOption
  9503  //line sql.y:2367
  9504  		{
  9505  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)}
  9506  		}
  9507  		yyVAL.union = yyLOCAL
  9508  	case 424:
  9509  		yyDollar = yyS[yypt-4 : yypt+1]
  9510  		var yyLOCAL *TableOption
  9511  //line sql.y:2371
  9512  		{
  9513  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: (yyDollar[3].colIdent.String() + yyDollar[4].str)}
  9514  		}
  9515  		yyVAL.union = yyLOCAL
  9516  	case 425:
  9517  		yyDollar = yyS[yypt-5 : yypt+1]
  9518  		var yyLOCAL *TableOption
  9519  //line sql.y:2375
  9520  		{
  9521  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Tables: yyDollar[4].tableNamesUnion()}
  9522  		}
  9523  		yyVAL.union = yyLOCAL
  9524  	case 426:
  9525  		yyDollar = yyS[yypt-0 : yypt+1]
  9526  //line sql.y:2380
  9527  		{
  9528  			yyVAL.str = ""
  9529  		}
  9530  	case 427:
  9531  		yyDollar = yyS[yypt-2 : yypt+1]
  9532  //line sql.y:2384
  9533  		{
  9534  			yyVAL.str = " " + string(yyDollar[1].str) + " " + string(yyDollar[2].str)
  9535  		}
  9536  	case 428:
  9537  		yyDollar = yyS[yypt-2 : yypt+1]
  9538  //line sql.y:2388
  9539  		{
  9540  			yyVAL.str = " " + string(yyDollar[1].str) + " " + string(yyDollar[2].str)
  9541  		}
  9542  	case 438:
  9543  		yyDollar = yyS[yypt-1 : yypt+1]
  9544  //line sql.y:2407
  9545  		{
  9546  			yyVAL.str = yyDollar[1].colIdent.String()
  9547  		}
  9548  	case 439:
  9549  		yyDollar = yyS[yypt-1 : yypt+1]
  9550  //line sql.y:2411
  9551  		{
  9552  			yyVAL.str = encodeSQLString(yyDollar[1].str)
  9553  		}
  9554  	case 440:
  9555  		yyDollar = yyS[yypt-1 : yypt+1]
  9556  //line sql.y:2415
  9557  		{
  9558  			yyVAL.str = string(yyDollar[1].str)
  9559  		}
  9560  	case 441:
  9561  		yyDollar = yyS[yypt-0 : yypt+1]
  9562  //line sql.y:2420
  9563  		{
  9564  			yyVAL.str = ""
  9565  		}
  9566  	case 443:
  9567  		yyDollar = yyS[yypt-0 : yypt+1]
  9568  		var yyLOCAL bool
  9569  //line sql.y:2426
  9570  		{
  9571  			yyLOCAL = false
  9572  		}
  9573  		yyVAL.union = yyLOCAL
  9574  	case 444:
  9575  		yyDollar = yyS[yypt-1 : yypt+1]
  9576  		var yyLOCAL bool
  9577  //line sql.y:2430
  9578  		{
  9579  			yyLOCAL = true
  9580  		}
  9581  		yyVAL.union = yyLOCAL
  9582  	case 445:
  9583  		yyDollar = yyS[yypt-0 : yypt+1]
  9584  		var yyLOCAL *ColName
  9585  //line sql.y:2435
  9586  		{
  9587  			yyLOCAL = nil
  9588  		}
  9589  		yyVAL.union = yyLOCAL
  9590  	case 446:
  9591  		yyDollar = yyS[yypt-2 : yypt+1]
  9592  		var yyLOCAL *ColName
  9593  //line sql.y:2439
  9594  		{
  9595  			yyLOCAL = yyDollar[2].colNameUnion()
  9596  		}
  9597  		yyVAL.union = yyLOCAL
  9598  	case 447:
  9599  		yyDollar = yyS[yypt-0 : yypt+1]
  9600  		var yyLOCAL []AlterOption
  9601  //line sql.y:2444
  9602  		{
  9603  			yyLOCAL = nil
  9604  		}
  9605  		yyVAL.union = yyLOCAL
  9606  	case 448:
  9607  		yyDollar = yyS[yypt-1 : yypt+1]
  9608  		var yyLOCAL []AlterOption
  9609  //line sql.y:2448
  9610  		{
  9611  			yyLOCAL = yyDollar[1].alterOptionsUnion()
  9612  		}
  9613  		yyVAL.union = yyLOCAL
  9614  	case 449:
  9615  		yyDollar = yyS[yypt-5 : yypt+1]
  9616  //line sql.y:2452
  9617  		{
  9618  			yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union))
  9619  			*yySLICE = append(*yySLICE, &OrderByOption{Cols: yyDollar[5].columnsUnion()})
  9620  		}
  9621  	case 450:
  9622  		yyDollar = yyS[yypt-1 : yypt+1]
  9623  		var yyLOCAL []AlterOption
  9624  //line sql.y:2456
  9625  		{
  9626  			yyLOCAL = yyDollar[1].alterOptionsUnion()
  9627  		}
  9628  		yyVAL.union = yyLOCAL
  9629  	case 451:
  9630  		yyDollar = yyS[yypt-3 : yypt+1]
  9631  //line sql.y:2460
  9632  		{
  9633  			yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union))
  9634  			*yySLICE = append(*yySLICE, yyDollar[3].alterOptionsUnion()...)
  9635  		}
  9636  	case 452:
  9637  		yyDollar = yyS[yypt-7 : yypt+1]
  9638  		var yyLOCAL []AlterOption
  9639  //line sql.y:2464
  9640  		{
  9641  			yyLOCAL = append(append(yyDollar[1].alterOptionsUnion(), yyDollar[3].alterOptionsUnion()...), &OrderByOption{Cols: yyDollar[7].columnsUnion()})
  9642  		}
  9643  		yyVAL.union = yyLOCAL
  9644  	case 453:
  9645  		yyDollar = yyS[yypt-1 : yypt+1]
  9646  		var yyLOCAL []AlterOption
  9647  //line sql.y:2470
  9648  		{
  9649  			yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()}
  9650  		}
  9651  		yyVAL.union = yyLOCAL
  9652  	case 454:
  9653  		yyDollar = yyS[yypt-3 : yypt+1]
  9654  //line sql.y:2474
  9655  		{
  9656  			yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union))
  9657  			*yySLICE = append(*yySLICE, yyDollar[3].alterOptionUnion())
  9658  		}
  9659  	case 455:
  9660  		yyDollar = yyS[yypt-3 : yypt+1]
  9661  //line sql.y:2478
  9662  		{
  9663  			yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union))
  9664  			*yySLICE = append(*yySLICE, yyDollar[3].alterOptionUnion())
  9665  		}
  9666  	case 456:
  9667  		yyDollar = yyS[yypt-1 : yypt+1]
  9668  		var yyLOCAL AlterOption
  9669  //line sql.y:2484
  9670  		{
  9671  			yyLOCAL = yyDollar[1].tableOptionsUnion()
  9672  		}
  9673  		yyVAL.union = yyLOCAL
  9674  	case 457:
  9675  		yyDollar = yyS[yypt-2 : yypt+1]
  9676  		var yyLOCAL AlterOption
  9677  //line sql.y:2488
  9678  		{
  9679  			yyLOCAL = &AddConstraintDefinition{ConstraintDefinition: yyDollar[2].constraintDefinitionUnion()}
  9680  		}
  9681  		yyVAL.union = yyLOCAL
  9682  	case 458:
  9683  		yyDollar = yyS[yypt-2 : yypt+1]
  9684  		var yyLOCAL AlterOption
  9685  //line sql.y:2492
  9686  		{
  9687  			yyLOCAL = &AddConstraintDefinition{ConstraintDefinition: yyDollar[2].constraintDefinitionUnion()}
  9688  		}
  9689  		yyVAL.union = yyLOCAL
  9690  	case 459:
  9691  		yyDollar = yyS[yypt-2 : yypt+1]
  9692  		var yyLOCAL AlterOption
  9693  //line sql.y:2496
  9694  		{
  9695  			yyLOCAL = &AddIndexDefinition{IndexDefinition: yyDollar[2].indexDefinitionUnion()}
  9696  		}
  9697  		yyVAL.union = yyLOCAL
  9698  	case 460:
  9699  		yyDollar = yyS[yypt-5 : yypt+1]
  9700  		var yyLOCAL AlterOption
  9701  //line sql.y:2500
  9702  		{
  9703  			yyLOCAL = &AddColumns{Columns: yyDollar[4].columnDefinitionsUnion()}
  9704  		}
  9705  		yyVAL.union = yyLOCAL
  9706  	case 461:
  9707  		yyDollar = yyS[yypt-5 : yypt+1]
  9708  		var yyLOCAL AlterOption
  9709  //line sql.y:2504
  9710  		{
  9711  			yyLOCAL = &AddColumns{Columns: []*ColumnDefinition{yyDollar[3].columnDefinitionUnion()}, First: yyDollar[4].booleanUnion(), After: yyDollar[5].colNameUnion()}
  9712  		}
  9713  		yyVAL.union = yyLOCAL
  9714  	case 462:
  9715  		yyDollar = yyS[yypt-5 : yypt+1]
  9716  		var yyLOCAL AlterOption
  9717  //line sql.y:2508
  9718  		{
  9719  			yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), DropDefault: true}
  9720  		}
  9721  		yyVAL.union = yyLOCAL
  9722  	case 463:
  9723  		yyDollar = yyS[yypt-6 : yypt+1]
  9724  		var yyLOCAL AlterOption
  9725  //line sql.y:2512
  9726  		{
  9727  			yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), DropDefault: false, DefaultVal: yyDollar[6].exprUnion()}
  9728  		}
  9729  		yyVAL.union = yyLOCAL
  9730  	case 464:
  9731  		yyDollar = yyS[yypt-8 : yypt+1]
  9732  		var yyLOCAL AlterOption
  9733  //line sql.y:2516
  9734  		{
  9735  			yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), DropDefault: false, DefaultVal: yyDollar[7].exprUnion()}
  9736  		}
  9737  		yyVAL.union = yyLOCAL
  9738  	case 465:
  9739  		yyDollar = yyS[yypt-6 : yypt+1]
  9740  		var yyLOCAL AlterOption
  9741  //line sql.y:2520
  9742  		{
  9743  			yyLOCAL = &ChangeColumn{OldColumn: yyDollar[3].colNameUnion(), NewColDefinition: yyDollar[4].columnDefinitionUnion(), First: yyDollar[5].booleanUnion(), After: yyDollar[6].colNameUnion()}
  9744  		}
  9745  		yyVAL.union = yyLOCAL
  9746  	case 466:
  9747  		yyDollar = yyS[yypt-5 : yypt+1]
  9748  		var yyLOCAL AlterOption
  9749  //line sql.y:2524
  9750  		{
  9751  			yyLOCAL = &ModifyColumn{NewColDefinition: yyDollar[3].columnDefinitionUnion(), First: yyDollar[4].booleanUnion(), After: yyDollar[5].colNameUnion()}
  9752  		}
  9753  		yyVAL.union = yyLOCAL
  9754  	case 467:
  9755  		yyDollar = yyS[yypt-5 : yypt+1]
  9756  		var yyLOCAL AlterOption
  9757  //line sql.y:2528
  9758  		{
  9759  			yyLOCAL = &AlterCharset{CharacterSet: yyDollar[4].str, Collate: yyDollar[5].str}
  9760  		}
  9761  		yyVAL.union = yyLOCAL
  9762  	case 468:
  9763  		yyDollar = yyS[yypt-2 : yypt+1]
  9764  		var yyLOCAL AlterOption
  9765  //line sql.y:2532
  9766  		{
  9767  			yyLOCAL = &KeyState{Enable: false}
  9768  		}
  9769  		yyVAL.union = yyLOCAL
  9770  	case 469:
  9771  		yyDollar = yyS[yypt-2 : yypt+1]
  9772  		var yyLOCAL AlterOption
  9773  //line sql.y:2536
  9774  		{
  9775  			yyLOCAL = &KeyState{Enable: true}
  9776  		}
  9777  		yyVAL.union = yyLOCAL
  9778  	case 470:
  9779  		yyDollar = yyS[yypt-2 : yypt+1]
  9780  		var yyLOCAL AlterOption
  9781  //line sql.y:2540
  9782  		{
  9783  			yyLOCAL = &TablespaceOperation{Import: false}
  9784  		}
  9785  		yyVAL.union = yyLOCAL
  9786  	case 471:
  9787  		yyDollar = yyS[yypt-2 : yypt+1]
  9788  		var yyLOCAL AlterOption
  9789  //line sql.y:2544
  9790  		{
  9791  			yyLOCAL = &TablespaceOperation{Import: true}
  9792  		}
  9793  		yyVAL.union = yyLOCAL
  9794  	case 472:
  9795  		yyDollar = yyS[yypt-3 : yypt+1]
  9796  		var yyLOCAL AlterOption
  9797  //line sql.y:2548
  9798  		{
  9799  			yyLOCAL = &DropColumn{Name: yyDollar[3].colNameUnion()}
  9800  		}
  9801  		yyVAL.union = yyLOCAL
  9802  	case 473:
  9803  		yyDollar = yyS[yypt-3 : yypt+1]
  9804  		var yyLOCAL AlterOption
  9805  //line sql.y:2552
  9806  		{
  9807  			yyLOCAL = &DropKey{Type: NormalKeyType, Name: yyDollar[3].colIdent}
  9808  		}
  9809  		yyVAL.union = yyLOCAL
  9810  	case 474:
  9811  		yyDollar = yyS[yypt-3 : yypt+1]
  9812  		var yyLOCAL AlterOption
  9813  //line sql.y:2556
  9814  		{
  9815  			yyLOCAL = &DropKey{Type: PrimaryKeyType}
  9816  		}
  9817  		yyVAL.union = yyLOCAL
  9818  	case 475:
  9819  		yyDollar = yyS[yypt-4 : yypt+1]
  9820  		var yyLOCAL AlterOption
  9821  //line sql.y:2560
  9822  		{
  9823  			yyLOCAL = &DropKey{Type: ForeignKeyType, Name: yyDollar[4].colIdent}
  9824  		}
  9825  		yyVAL.union = yyLOCAL
  9826  	case 476:
  9827  		yyDollar = yyS[yypt-1 : yypt+1]
  9828  		var yyLOCAL AlterOption
  9829  //line sql.y:2564
  9830  		{
  9831  			yyLOCAL = &Force{}
  9832  		}
  9833  		yyVAL.union = yyLOCAL
  9834  	case 477:
  9835  		yyDollar = yyS[yypt-3 : yypt+1]
  9836  		var yyLOCAL AlterOption
  9837  //line sql.y:2568
  9838  		{
  9839  			yyLOCAL = &RenameTableName{Table: yyDollar[3].tableName}
  9840  		}
  9841  		yyVAL.union = yyLOCAL
  9842  	case 478:
  9843  		yyDollar = yyS[yypt-5 : yypt+1]
  9844  		var yyLOCAL AlterOption
  9845  //line sql.y:2572
  9846  		{
  9847  			yyLOCAL = &RenameIndex{OldName: yyDollar[3].colIdent, NewName: yyDollar[5].colIdent}
  9848  		}
  9849  		yyVAL.union = yyLOCAL
  9850  	case 479:
  9851  		yyDollar = yyS[yypt-1 : yypt+1]
  9852  		var yyLOCAL []AlterOption
  9853  //line sql.y:2578
  9854  		{
  9855  			yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()}
  9856  		}
  9857  		yyVAL.union = yyLOCAL
  9858  	case 480:
  9859  		yyDollar = yyS[yypt-3 : yypt+1]
  9860  //line sql.y:2582
  9861  		{
  9862  			yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union))
  9863  			*yySLICE = append(*yySLICE, yyDollar[3].alterOptionUnion())
  9864  		}
  9865  	case 481:
  9866  		yyDollar = yyS[yypt-3 : yypt+1]
  9867  		var yyLOCAL AlterOption
  9868  //line sql.y:2588
  9869  		{
  9870  			yyLOCAL = AlgorithmValue(string(yyDollar[3].str))
  9871  		}
  9872  		yyVAL.union = yyLOCAL
  9873  	case 482:
  9874  		yyDollar = yyS[yypt-3 : yypt+1]
  9875  		var yyLOCAL AlterOption
  9876  //line sql.y:2592
  9877  		{
  9878  			yyLOCAL = AlgorithmValue(string(yyDollar[3].str))
  9879  		}
  9880  		yyVAL.union = yyLOCAL
  9881  	case 483:
  9882  		yyDollar = yyS[yypt-3 : yypt+1]
  9883  		var yyLOCAL AlterOption
  9884  //line sql.y:2596
  9885  		{
  9886  			yyLOCAL = AlgorithmValue(string(yyDollar[3].str))
  9887  		}
  9888  		yyVAL.union = yyLOCAL
  9889  	case 484:
  9890  		yyDollar = yyS[yypt-3 : yypt+1]
  9891  		var yyLOCAL AlterOption
  9892  //line sql.y:2600
  9893  		{
  9894  			yyLOCAL = &LockOption{Type: DefaultType}
  9895  		}
  9896  		yyVAL.union = yyLOCAL
  9897  	case 485:
  9898  		yyDollar = yyS[yypt-3 : yypt+1]
  9899  		var yyLOCAL AlterOption
  9900  //line sql.y:2604
  9901  		{
  9902  			yyLOCAL = &LockOption{Type: NoneType}
  9903  		}
  9904  		yyVAL.union = yyLOCAL
  9905  	case 486:
  9906  		yyDollar = yyS[yypt-3 : yypt+1]
  9907  		var yyLOCAL AlterOption
  9908  //line sql.y:2608
  9909  		{
  9910  			yyLOCAL = &LockOption{Type: SharedType}
  9911  		}
  9912  		yyVAL.union = yyLOCAL
  9913  	case 487:
  9914  		yyDollar = yyS[yypt-3 : yypt+1]
  9915  		var yyLOCAL AlterOption
  9916  //line sql.y:2612
  9917  		{
  9918  			yyLOCAL = &LockOption{Type: ExclusiveType}
  9919  		}
  9920  		yyVAL.union = yyLOCAL
  9921  	case 488:
  9922  		yyDollar = yyS[yypt-2 : yypt+1]
  9923  		var yyLOCAL AlterOption
  9924  //line sql.y:2616
  9925  		{
  9926  			yyLOCAL = &Validation{With: true}
  9927  		}
  9928  		yyVAL.union = yyLOCAL
  9929  	case 489:
  9930  		yyDollar = yyS[yypt-2 : yypt+1]
  9931  		var yyLOCAL AlterOption
  9932  //line sql.y:2620
  9933  		{
  9934  			yyLOCAL = &Validation{With: false}
  9935  		}
  9936  		yyVAL.union = yyLOCAL
  9937  	case 490:
  9938  		yyDollar = yyS[yypt-2 : yypt+1]
  9939  		var yyLOCAL Statement
  9940  //line sql.y:2626
  9941  		{
  9942  			yyDollar[1].alterTableUnion().FullyParsed = true
  9943  			yyDollar[1].alterTableUnion().AlterOptions = yyDollar[2].alterOptionsUnion()
  9944  			yyLOCAL = yyDollar[1].alterTableUnion()
  9945  		}
  9946  		yyVAL.union = yyLOCAL
  9947  	case 491:
  9948  		yyDollar = yyS[yypt-4 : yypt+1]
  9949  		var yyLOCAL Statement
  9950  //line sql.y:2632
  9951  		{
  9952  			yyDollar[1].alterTableUnion().FullyParsed = true
  9953  			yyDollar[1].alterTableUnion().AlterOptions = yyDollar[2].alterOptionsUnion()
  9954  			yyDollar[1].alterTableUnion().PartitionSpec = &PartitionSpec{Action: RemoveAction}
  9955  			yyLOCAL = yyDollar[1].alterTableUnion()
  9956  		}
  9957  		yyVAL.union = yyLOCAL
  9958  	case 492:
  9959  		yyDollar = yyS[yypt-4 : yypt+1]
  9960  		var yyLOCAL Statement
  9961  //line sql.y:2639
  9962  		{
  9963  			yyDollar[1].alterTableUnion().FullyParsed = true
  9964  			yyDollar[1].alterTableUnion().AlterOptions = yyDollar[2].alterOptionsUnion()
  9965  			yyDollar[1].alterTableUnion().PartitionSpec = yyDollar[4].partSpecUnion()
  9966  			yyLOCAL = yyDollar[1].alterTableUnion()
  9967  		}
  9968  		yyVAL.union = yyLOCAL
  9969  	case 493:
  9970  		yyDollar = yyS[yypt-2 : yypt+1]
  9971  		var yyLOCAL Statement
  9972  //line sql.y:2646
  9973  		{
  9974  			yyDollar[1].alterTableUnion().FullyParsed = true
  9975  			yyDollar[1].alterTableUnion().PartitionSpec = yyDollar[2].partSpecUnion()
  9976  			yyLOCAL = yyDollar[1].alterTableUnion()
  9977  		}
  9978  		yyVAL.union = yyLOCAL
  9979  	case 494:
  9980  		yyDollar = yyS[yypt-11 : yypt+1]
  9981  		var yyLOCAL Statement
  9982  //line sql.y:2652
  9983  		{
  9984  			yyLOCAL = &AlterView{ViewName: yyDollar[7].tableName.ToViewName(), Algorithm: yyDollar[3].str, Definer: yyDollar[4].str, Security: yyDollar[5].str, Columns: yyDollar[8].columnsUnion(), Select: yyDollar[10].selStmtUnion(), CheckOption: yyDollar[11].str}
  9985  		}
  9986  		yyVAL.union = yyLOCAL
  9987  	case 495:
  9988  		yyDollar = yyS[yypt-3 : yypt+1]
  9989  		var yyLOCAL Statement
  9990  //line sql.y:2656
  9991  		{
  9992  			yyDollar[1].alterDatabaseUnion().FullyParsed = true
  9993  			yyDollar[1].alterDatabaseUnion().DBName = yyDollar[2].tableIdent
  9994  			yyDollar[1].alterDatabaseUnion().AlterOptions = yyDollar[3].collateAndCharsetsUnion()
  9995  			yyLOCAL = yyDollar[1].alterDatabaseUnion()
  9996  		}
  9997  		yyVAL.union = yyLOCAL
  9998  	case 496:
  9999  		yyDollar = yyS[yypt-6 : yypt+1]
 10000  		var yyLOCAL Statement
 10001  //line sql.y:2663
 10002  		{
 10003  			yyDollar[1].alterDatabaseUnion().FullyParsed = true
 10004  			yyDollar[1].alterDatabaseUnion().DBName = yyDollar[2].tableIdent
 10005  			yyDollar[1].alterDatabaseUnion().UpdateDataDirectory = true
 10006  			yyLOCAL = yyDollar[1].alterDatabaseUnion()
 10007  		}
 10008  		yyVAL.union = yyLOCAL
 10009  	case 497:
 10010  		yyDollar = yyS[yypt-8 : yypt+1]
 10011  		var yyLOCAL Statement
 10012  //line sql.y:2670
 10013  		{
 10014  			yyLOCAL = &AlterVschema{
 10015  				Action: CreateVindexDDLAction,
 10016  				Table:  yyDollar[6].tableName,
 10017  				VindexSpec: &VindexSpec{
 10018  					Name:   NewColIdent(yyDollar[6].tableName.Name.String()),
 10019  					Type:   yyDollar[7].colIdent,
 10020  					Params: yyDollar[8].vindexParamsUnion(),
 10021  				},
 10022  			}
 10023  		}
 10024  		yyVAL.union = yyLOCAL
 10025  	case 498:
 10026  		yyDollar = yyS[yypt-6 : yypt+1]
 10027  		var yyLOCAL Statement
 10028  //line sql.y:2682
 10029  		{
 10030  			yyLOCAL = &AlterVschema{
 10031  				Action: DropVindexDDLAction,
 10032  				Table:  yyDollar[6].tableName,
 10033  				VindexSpec: &VindexSpec{
 10034  					Name: NewColIdent(yyDollar[6].tableName.Name.String()),
 10035  				},
 10036  			}
 10037  		}
 10038  		yyVAL.union = yyLOCAL
 10039  	case 499:
 10040  		yyDollar = yyS[yypt-6 : yypt+1]
 10041  		var yyLOCAL Statement
 10042  //line sql.y:2692
 10043  		{
 10044  			yyLOCAL = &AlterVschema{Action: AddVschemaTableDDLAction, Table: yyDollar[6].tableName}
 10045  		}
 10046  		yyVAL.union = yyLOCAL
 10047  	case 500:
 10048  		yyDollar = yyS[yypt-6 : yypt+1]
 10049  		var yyLOCAL Statement
 10050  //line sql.y:2696
 10051  		{
 10052  			yyLOCAL = &AlterVschema{Action: DropVschemaTableDDLAction, Table: yyDollar[6].tableName}
 10053  		}
 10054  		yyVAL.union = yyLOCAL
 10055  	case 501:
 10056  		yyDollar = yyS[yypt-13 : yypt+1]
 10057  		var yyLOCAL Statement
 10058  //line sql.y:2700
 10059  		{
 10060  			yyLOCAL = &AlterVschema{
 10061  				Action: AddColVindexDDLAction,
 10062  				Table:  yyDollar[5].tableName,
 10063  				VindexSpec: &VindexSpec{
 10064  					Name:   yyDollar[8].colIdent,
 10065  					Type:   yyDollar[12].colIdent,
 10066  					Params: yyDollar[13].vindexParamsUnion(),
 10067  				},
 10068  				VindexCols: yyDollar[10].columnsUnion(),
 10069  			}
 10070  		}
 10071  		yyVAL.union = yyLOCAL
 10072  	case 502:
 10073  		yyDollar = yyS[yypt-8 : yypt+1]
 10074  		var yyLOCAL Statement
 10075  //line sql.y:2713
 10076  		{
 10077  			yyLOCAL = &AlterVschema{
 10078  				Action: DropColVindexDDLAction,
 10079  				Table:  yyDollar[5].tableName,
 10080  				VindexSpec: &VindexSpec{
 10081  					Name: yyDollar[8].colIdent,
 10082  				},
 10083  			}
 10084  		}
 10085  		yyVAL.union = yyLOCAL
 10086  	case 503:
 10087  		yyDollar = yyS[yypt-6 : yypt+1]
 10088  		var yyLOCAL Statement
 10089  //line sql.y:2723
 10090  		{
 10091  			yyLOCAL = &AlterVschema{Action: AddSequenceDDLAction, Table: yyDollar[6].tableName}
 10092  		}
 10093  		yyVAL.union = yyLOCAL
 10094  	case 504:
 10095  		yyDollar = yyS[yypt-10 : yypt+1]
 10096  		var yyLOCAL Statement
 10097  //line sql.y:2727
 10098  		{
 10099  			yyLOCAL = &AlterVschema{
 10100  				Action: AddAutoIncDDLAction,
 10101  				Table:  yyDollar[5].tableName,
 10102  				AutoIncSpec: &AutoIncSpec{
 10103  					Column:   yyDollar[8].colIdent,
 10104  					Sequence: yyDollar[10].tableName,
 10105  				},
 10106  			}
 10107  		}
 10108  		yyVAL.union = yyLOCAL
 10109  	case 505:
 10110  		yyDollar = yyS[yypt-5 : yypt+1]
 10111  		var yyLOCAL Statement
 10112  //line sql.y:2738
 10113  		{
 10114  			yyLOCAL = &AlterMigration{
 10115  				Type: RetryMigrationType,
 10116  				UUID: string(yyDollar[4].str),
 10117  			}
 10118  		}
 10119  		yyVAL.union = yyLOCAL
 10120  	case 506:
 10121  		yyDollar = yyS[yypt-5 : yypt+1]
 10122  		var yyLOCAL Statement
 10123  //line sql.y:2745
 10124  		{
 10125  			yyLOCAL = &AlterMigration{
 10126  				Type: CleanupMigrationType,
 10127  				UUID: string(yyDollar[4].str),
 10128  			}
 10129  		}
 10130  		yyVAL.union = yyLOCAL
 10131  	case 507:
 10132  		yyDollar = yyS[yypt-5 : yypt+1]
 10133  		var yyLOCAL Statement
 10134  //line sql.y:2752
 10135  		{
 10136  			yyLOCAL = &AlterMigration{
 10137  				Type: CompleteMigrationType,
 10138  				UUID: string(yyDollar[4].str),
 10139  			}
 10140  		}
 10141  		yyVAL.union = yyLOCAL
 10142  	case 508:
 10143  		yyDollar = yyS[yypt-5 : yypt+1]
 10144  		var yyLOCAL Statement
 10145  //line sql.y:2759
 10146  		{
 10147  			yyLOCAL = &AlterMigration{
 10148  				Type: CancelMigrationType,
 10149  				UUID: string(yyDollar[4].str),
 10150  			}
 10151  		}
 10152  		yyVAL.union = yyLOCAL
 10153  	case 509:
 10154  		yyDollar = yyS[yypt-5 : yypt+1]
 10155  		var yyLOCAL Statement
 10156  //line sql.y:2766
 10157  		{
 10158  			yyLOCAL = &AlterMigration{
 10159  				Type: CancelAllMigrationType,
 10160  			}
 10161  		}
 10162  		yyVAL.union = yyLOCAL
 10163  	case 510:
 10164  		yyDollar = yyS[yypt-0 : yypt+1]
 10165  		var yyLOCAL *PartitionOption
 10166  //line sql.y:2773
 10167  		{
 10168  			yyLOCAL = nil
 10169  		}
 10170  		yyVAL.union = yyLOCAL
 10171  	case 511:
 10172  		yyDollar = yyS[yypt-10 : yypt+1]
 10173  		var yyLOCAL *PartitionOption
 10174  //line sql.y:2778
 10175  		{
 10176  			yyLOCAL = &PartitionOption{
 10177  				Linear:       yyDollar[3].str,
 10178  				isHASH:       true,
 10179  				Expr:         yyDollar[6].exprUnion(),
 10180  				Partitions:   yyDollar[8].str,
 10181  				SubPartition: yyDollar[9].subPartitionUnion(),
 10182  				Definitions:  yyDollar[10].partDefsUnion(),
 10183  			}
 10184  		}
 10185  		yyVAL.union = yyLOCAL
 10186  	case 512:
 10187  		yyDollar = yyS[yypt-11 : yypt+1]
 10188  		var yyLOCAL *PartitionOption
 10189  //line sql.y:2790
 10190  		{
 10191  			yyLOCAL = &PartitionOption{
 10192  				Linear:       yyDollar[3].str,
 10193  				isKEY:        true,
 10194  				KeyAlgorithm: yyDollar[5].str,
 10195  				KeyColList:   yyDollar[7].columnsUnion(),
 10196  				Partitions:   yyDollar[9].str,
 10197  				SubPartition: yyDollar[10].subPartitionUnion(),
 10198  				Definitions:  yyDollar[11].partDefsUnion(),
 10199  			}
 10200  		}
 10201  		yyVAL.union = yyLOCAL
 10202  	case 513:
 10203  		yyDollar = yyS[yypt-7 : yypt+1]
 10204  		var yyLOCAL *PartitionOption
 10205  //line sql.y:2803
 10206  		{
 10207  			yyLOCAL = &PartitionOption{
 10208  				RangeOrList:  yyDollar[3].str,
 10209  				ExprOrCol:    yyDollar[4].exprOrColumnsUnion(),
 10210  				Partitions:   yyDollar[5].str,
 10211  				SubPartition: yyDollar[6].subPartitionUnion(),
 10212  				Definitions:  yyDollar[7].partDefsUnion(),
 10213  			}
 10214  		}
 10215  		yyVAL.union = yyLOCAL
 10216  	case 514:
 10217  		yyDollar = yyS[yypt-0 : yypt+1]
 10218  		var yyLOCAL *SubPartition
 10219  //line sql.y:2814
 10220  		{
 10221  			yyLOCAL = nil
 10222  		}
 10223  		yyVAL.union = yyLOCAL
 10224  	case 515:
 10225  		yyDollar = yyS[yypt-8 : yypt+1]
 10226  		var yyLOCAL *SubPartition
 10227  //line sql.y:2818
 10228  		{
 10229  			yyLOCAL = &SubPartition{
 10230  				Linear:        yyDollar[3].str,
 10231  				isHASH:        true,
 10232  				Expr:          yyDollar[6].exprUnion(),
 10233  				SubPartitions: yyDollar[8].str,
 10234  			}
 10235  		}
 10236  		yyVAL.union = yyLOCAL
 10237  	case 516:
 10238  		yyDollar = yyS[yypt-9 : yypt+1]
 10239  		var yyLOCAL *SubPartition
 10240  //line sql.y:2827
 10241  		{
 10242  			yyLOCAL = &SubPartition{
 10243  				Linear:        yyDollar[3].str,
 10244  				isKEY:         true,
 10245  				KeyAlgorithm:  yyDollar[5].str,
 10246  				KeyColList:    yyDollar[7].columnsUnion(),
 10247  				SubPartitions: yyDollar[9].str,
 10248  			}
 10249  		}
 10250  		yyVAL.union = yyLOCAL
 10251  	case 517:
 10252  		yyDollar = yyS[yypt-0 : yypt+1]
 10253  		var yyLOCAL []*PartitionDefinition
 10254  //line sql.y:2838
 10255  		{
 10256  			yyLOCAL = nil
 10257  		}
 10258  		yyVAL.union = yyLOCAL
 10259  	case 518:
 10260  		yyDollar = yyS[yypt-3 : yypt+1]
 10261  		var yyLOCAL []*PartitionDefinition
 10262  //line sql.y:2842
 10263  		{
 10264  			yyLOCAL = yyDollar[2].partDefsUnion()
 10265  		}
 10266  		yyVAL.union = yyLOCAL
 10267  	case 519:
 10268  		yyDollar = yyS[yypt-0 : yypt+1]
 10269  //line sql.y:2847
 10270  		{
 10271  			yyVAL.str = ""
 10272  		}
 10273  	case 520:
 10274  		yyDollar = yyS[yypt-1 : yypt+1]
 10275  //line sql.y:2851
 10276  		{
 10277  			yyVAL.str = string(yyDollar[1].str)
 10278  		}
 10279  	case 521:
 10280  		yyDollar = yyS[yypt-0 : yypt+1]
 10281  //line sql.y:2856
 10282  		{
 10283  			yyVAL.str = ""
 10284  		}
 10285  	case 522:
 10286  		yyDollar = yyS[yypt-3 : yypt+1]
 10287  //line sql.y:2860
 10288  		{
 10289  			yyVAL.str = string(yyDollar[3].str)
 10290  		}
 10291  	case 523:
 10292  		yyDollar = yyS[yypt-1 : yypt+1]
 10293  //line sql.y:2866
 10294  		{
 10295  			yyVAL.str = string(yyDollar[1].str)
 10296  		}
 10297  	case 524:
 10298  		yyDollar = yyS[yypt-1 : yypt+1]
 10299  //line sql.y:2870
 10300  		{
 10301  			yyVAL.str = string(yyDollar[1].str)
 10302  		}
 10303  	case 525:
 10304  		yyDollar = yyS[yypt-3 : yypt+1]
 10305  		var yyLOCAL *ExprOrColumns
 10306  //line sql.y:2876
 10307  		{
 10308  			yyLOCAL = &ExprOrColumns{Expr: yyDollar[2].exprUnion()}
 10309  		}
 10310  		yyVAL.union = yyLOCAL
 10311  	case 526:
 10312  		yyDollar = yyS[yypt-4 : yypt+1]
 10313  		var yyLOCAL *ExprOrColumns
 10314  //line sql.y:2880
 10315  		{
 10316  			yyLOCAL = &ExprOrColumns{ColumnList: yyDollar[3].columnsUnion()}
 10317  		}
 10318  		yyVAL.union = yyLOCAL
 10319  	case 527:
 10320  		yyDollar = yyS[yypt-0 : yypt+1]
 10321  //line sql.y:2885
 10322  		{
 10323  			yyVAL.str = ""
 10324  		}
 10325  	case 528:
 10326  		yyDollar = yyS[yypt-2 : yypt+1]
 10327  //line sql.y:2889
 10328  		{
 10329  			yyVAL.str = string(yyDollar[2].str)
 10330  		}
 10331  	case 529:
 10332  		yyDollar = yyS[yypt-0 : yypt+1]
 10333  //line sql.y:2894
 10334  		{
 10335  			yyVAL.str = ""
 10336  		}
 10337  	case 530:
 10338  		yyDollar = yyS[yypt-2 : yypt+1]
 10339  //line sql.y:2898
 10340  		{
 10341  			yyVAL.str = string(yyDollar[2].str)
 10342  		}
 10343  	case 531:
 10344  		yyDollar = yyS[yypt-5 : yypt+1]
 10345  		var yyLOCAL *PartitionSpec
 10346  //line sql.y:2904
 10347  		{
 10348  			yyLOCAL = &PartitionSpec{Action: AddAction, Definitions: []*PartitionDefinition{yyDollar[4].partDefUnion()}}
 10349  		}
 10350  		yyVAL.union = yyLOCAL
 10351  	case 532:
 10352  		yyDollar = yyS[yypt-3 : yypt+1]
 10353  		var yyLOCAL *PartitionSpec
 10354  //line sql.y:2908
 10355  		{
 10356  			yyLOCAL = &PartitionSpec{Action: DropAction, Names: yyDollar[3].partitionsUnion()}
 10357  		}
 10358  		yyVAL.union = yyLOCAL
 10359  	case 533:
 10360  		yyDollar = yyS[yypt-7 : yypt+1]
 10361  		var yyLOCAL *PartitionSpec
 10362  //line sql.y:2912
 10363  		{
 10364  			yyLOCAL = &PartitionSpec{Action: ReorganizeAction, Names: yyDollar[3].partitionsUnion(), Definitions: yyDollar[6].partDefsUnion()}
 10365  		}
 10366  		yyVAL.union = yyLOCAL
 10367  	case 534:
 10368  		yyDollar = yyS[yypt-4 : yypt+1]
 10369  		var yyLOCAL *PartitionSpec
 10370  //line sql.y:2916
 10371  		{
 10372  			yyLOCAL = &PartitionSpec{Action: DiscardAction, Names: yyDollar[3].partitionsUnion()}
 10373  		}
 10374  		yyVAL.union = yyLOCAL
 10375  	case 535:
 10376  		yyDollar = yyS[yypt-4 : yypt+1]
 10377  		var yyLOCAL *PartitionSpec
 10378  //line sql.y:2920
 10379  		{
 10380  			yyLOCAL = &PartitionSpec{Action: DiscardAction, IsAll: true}
 10381  		}
 10382  		yyVAL.union = yyLOCAL
 10383  	case 536:
 10384  		yyDollar = yyS[yypt-4 : yypt+1]
 10385  		var yyLOCAL *PartitionSpec
 10386  //line sql.y:2924
 10387  		{
 10388  			yyLOCAL = &PartitionSpec{Action: ImportAction, Names: yyDollar[3].partitionsUnion()}
 10389  		}
 10390  		yyVAL.union = yyLOCAL
 10391  	case 537:
 10392  		yyDollar = yyS[yypt-4 : yypt+1]
 10393  		var yyLOCAL *PartitionSpec
 10394  //line sql.y:2928
 10395  		{
 10396  			yyLOCAL = &PartitionSpec{Action: ImportAction, IsAll: true}
 10397  		}
 10398  		yyVAL.union = yyLOCAL
 10399  	case 538:
 10400  		yyDollar = yyS[yypt-3 : yypt+1]
 10401  		var yyLOCAL *PartitionSpec
 10402  //line sql.y:2932
 10403  		{
 10404  			yyLOCAL = &PartitionSpec{Action: TruncateAction, Names: yyDollar[3].partitionsUnion()}
 10405  		}
 10406  		yyVAL.union = yyLOCAL
 10407  	case 539:
 10408  		yyDollar = yyS[yypt-3 : yypt+1]
 10409  		var yyLOCAL *PartitionSpec
 10410  //line sql.y:2936
 10411  		{
 10412  			yyLOCAL = &PartitionSpec{Action: TruncateAction, IsAll: true}
 10413  		}
 10414  		yyVAL.union = yyLOCAL
 10415  	case 540:
 10416  		yyDollar = yyS[yypt-3 : yypt+1]
 10417  		var yyLOCAL *PartitionSpec
 10418  //line sql.y:2940
 10419  		{
 10420  			yyLOCAL = &PartitionSpec{Action: CoalesceAction, Number: NewIntLiteral(yyDollar[3].str)}
 10421  		}
 10422  		yyVAL.union = yyLOCAL
 10423  	case 541:
 10424  		yyDollar = yyS[yypt-7 : yypt+1]
 10425  		var yyLOCAL *PartitionSpec
 10426  //line sql.y:2944
 10427  		{
 10428  			yyLOCAL = &PartitionSpec{Action: ExchangeAction, Names: Partitions{yyDollar[3].colIdent}, TableName: yyDollar[6].tableName, WithoutValidation: yyDollar[7].booleanUnion()}
 10429  		}
 10430  		yyVAL.union = yyLOCAL
 10431  	case 542:
 10432  		yyDollar = yyS[yypt-3 : yypt+1]
 10433  		var yyLOCAL *PartitionSpec
 10434  //line sql.y:2948
 10435  		{
 10436  			yyLOCAL = &PartitionSpec{Action: AnalyzeAction, Names: yyDollar[3].partitionsUnion()}
 10437  		}
 10438  		yyVAL.union = yyLOCAL
 10439  	case 543:
 10440  		yyDollar = yyS[yypt-3 : yypt+1]
 10441  		var yyLOCAL *PartitionSpec
 10442  //line sql.y:2952
 10443  		{
 10444  			yyLOCAL = &PartitionSpec{Action: AnalyzeAction, IsAll: true}
 10445  		}
 10446  		yyVAL.union = yyLOCAL
 10447  	case 544:
 10448  		yyDollar = yyS[yypt-3 : yypt+1]
 10449  		var yyLOCAL *PartitionSpec
 10450  //line sql.y:2956
 10451  		{
 10452  			yyLOCAL = &PartitionSpec{Action: CheckAction, Names: yyDollar[3].partitionsUnion()}
 10453  		}
 10454  		yyVAL.union = yyLOCAL
 10455  	case 545:
 10456  		yyDollar = yyS[yypt-3 : yypt+1]
 10457  		var yyLOCAL *PartitionSpec
 10458  //line sql.y:2960
 10459  		{
 10460  			yyLOCAL = &PartitionSpec{Action: CheckAction, IsAll: true}
 10461  		}
 10462  		yyVAL.union = yyLOCAL
 10463  	case 546:
 10464  		yyDollar = yyS[yypt-3 : yypt+1]
 10465  		var yyLOCAL *PartitionSpec
 10466  //line sql.y:2964
 10467  		{
 10468  			yyLOCAL = &PartitionSpec{Action: OptimizeAction, Names: yyDollar[3].partitionsUnion()}
 10469  		}
 10470  		yyVAL.union = yyLOCAL
 10471  	case 547:
 10472  		yyDollar = yyS[yypt-3 : yypt+1]
 10473  		var yyLOCAL *PartitionSpec
 10474  //line sql.y:2968
 10475  		{
 10476  			yyLOCAL = &PartitionSpec{Action: OptimizeAction, IsAll: true}
 10477  		}
 10478  		yyVAL.union = yyLOCAL
 10479  	case 548:
 10480  		yyDollar = yyS[yypt-3 : yypt+1]
 10481  		var yyLOCAL *PartitionSpec
 10482  //line sql.y:2972
 10483  		{
 10484  			yyLOCAL = &PartitionSpec{Action: RebuildAction, Names: yyDollar[3].partitionsUnion()}
 10485  		}
 10486  		yyVAL.union = yyLOCAL
 10487  	case 549:
 10488  		yyDollar = yyS[yypt-3 : yypt+1]
 10489  		var yyLOCAL *PartitionSpec
 10490  //line sql.y:2976
 10491  		{
 10492  			yyLOCAL = &PartitionSpec{Action: RebuildAction, IsAll: true}
 10493  		}
 10494  		yyVAL.union = yyLOCAL
 10495  	case 550:
 10496  		yyDollar = yyS[yypt-3 : yypt+1]
 10497  		var yyLOCAL *PartitionSpec
 10498  //line sql.y:2980
 10499  		{
 10500  			yyLOCAL = &PartitionSpec{Action: RepairAction, Names: yyDollar[3].partitionsUnion()}
 10501  		}
 10502  		yyVAL.union = yyLOCAL
 10503  	case 551:
 10504  		yyDollar = yyS[yypt-3 : yypt+1]
 10505  		var yyLOCAL *PartitionSpec
 10506  //line sql.y:2984
 10507  		{
 10508  			yyLOCAL = &PartitionSpec{Action: RepairAction, IsAll: true}
 10509  		}
 10510  		yyVAL.union = yyLOCAL
 10511  	case 552:
 10512  		yyDollar = yyS[yypt-2 : yypt+1]
 10513  		var yyLOCAL *PartitionSpec
 10514  //line sql.y:2988
 10515  		{
 10516  			yyLOCAL = &PartitionSpec{Action: UpgradeAction}
 10517  		}
 10518  		yyVAL.union = yyLOCAL
 10519  	case 553:
 10520  		yyDollar = yyS[yypt-0 : yypt+1]
 10521  		var yyLOCAL bool
 10522  //line sql.y:2993
 10523  		{
 10524  			yyLOCAL = false
 10525  		}
 10526  		yyVAL.union = yyLOCAL
 10527  	case 554:
 10528  		yyDollar = yyS[yypt-2 : yypt+1]
 10529  		var yyLOCAL bool
 10530  //line sql.y:2997
 10531  		{
 10532  			yyLOCAL = false
 10533  		}
 10534  		yyVAL.union = yyLOCAL
 10535  	case 555:
 10536  		yyDollar = yyS[yypt-2 : yypt+1]
 10537  		var yyLOCAL bool
 10538  //line sql.y:3001
 10539  		{
 10540  			yyLOCAL = true
 10541  		}
 10542  		yyVAL.union = yyLOCAL
 10543  	case 556:
 10544  		yyDollar = yyS[yypt-1 : yypt+1]
 10545  		var yyLOCAL []*PartitionDefinition
 10546  //line sql.y:3008
 10547  		{
 10548  			yyLOCAL = []*PartitionDefinition{yyDollar[1].partDefUnion()}
 10549  		}
 10550  		yyVAL.union = yyLOCAL
 10551  	case 557:
 10552  		yyDollar = yyS[yypt-3 : yypt+1]
 10553  //line sql.y:3012
 10554  		{
 10555  			yySLICE := (*[]*PartitionDefinition)(yyIaddr(yyVAL.union))
 10556  			*yySLICE = append(*yySLICE, yyDollar[3].partDefUnion())
 10557  		}
 10558  	case 558:
 10559  		yyDollar = yyS[yypt-8 : yypt+1]
 10560  		var yyLOCAL *PartitionDefinition
 10561  //line sql.y:3018
 10562  		{
 10563  			yyLOCAL = &PartitionDefinition{Name: yyDollar[2].colIdent, Limit: yyDollar[7].exprUnion()}
 10564  		}
 10565  		yyVAL.union = yyLOCAL
 10566  	case 559:
 10567  		yyDollar = yyS[yypt-8 : yypt+1]
 10568  		var yyLOCAL *PartitionDefinition
 10569  //line sql.y:3022
 10570  		{
 10571  			yyLOCAL = &PartitionDefinition{Name: yyDollar[2].colIdent, Maxvalue: true}
 10572  		}
 10573  		yyVAL.union = yyLOCAL
 10574  	case 560:
 10575  		yyDollar = yyS[yypt-3 : yypt+1]
 10576  		var yyLOCAL Statement
 10577  //line sql.y:3028
 10578  		{
 10579  			yyLOCAL = &RenameTable{TablePairs: yyDollar[3].renameTablePairsUnion()}
 10580  		}
 10581  		yyVAL.union = yyLOCAL
 10582  	case 561:
 10583  		yyDollar = yyS[yypt-3 : yypt+1]
 10584  		var yyLOCAL []*RenameTablePair
 10585  //line sql.y:3034
 10586  		{
 10587  			yyLOCAL = []*RenameTablePair{{FromTable: yyDollar[1].tableName, ToTable: yyDollar[3].tableName}}
 10588  		}
 10589  		yyVAL.union = yyLOCAL
 10590  	case 562:
 10591  		yyDollar = yyS[yypt-5 : yypt+1]
 10592  //line sql.y:3038
 10593  		{
 10594  			yySLICE := (*[]*RenameTablePair)(yyIaddr(yyVAL.union))
 10595  			*yySLICE = append(*yySLICE, &RenameTablePair{FromTable: yyDollar[3].tableName, ToTable: yyDollar[5].tableName})
 10596  		}
 10597  	case 563:
 10598  		yyDollar = yyS[yypt-7 : yypt+1]
 10599  		var yyLOCAL Statement
 10600  //line sql.y:3044
 10601  		{
 10602  			yyLOCAL = &DropTable{FromTables: yyDollar[6].tableNamesUnion(), IfExists: yyDollar[5].booleanUnion(), Comments: Comments(yyDollar[2].strs), Temp: yyDollar[3].booleanUnion()}
 10603  		}
 10604  		yyVAL.union = yyLOCAL
 10605  	case 564:
 10606  		yyDollar = yyS[yypt-7 : yypt+1]
 10607  		var yyLOCAL Statement
 10608  //line sql.y:3048
 10609  		{
 10610  			// Change this to an alter statement
 10611  			if yyDollar[4].colIdent.Lowered() == "primary" {
 10612  				yyLOCAL = &AlterTable{FullyParsed: true, Table: yyDollar[6].tableName, AlterOptions: append([]AlterOption{&DropKey{Type: PrimaryKeyType}}, yyDollar[7].alterOptionsUnion()...)}
 10613  			} else {
 10614  				yyLOCAL = &AlterTable{FullyParsed: true, Table: yyDollar[6].tableName, AlterOptions: append([]AlterOption{&DropKey{Type: NormalKeyType, Name: yyDollar[4].colIdent}}, yyDollar[7].alterOptionsUnion()...)}
 10615  			}
 10616  		}
 10617  		yyVAL.union = yyLOCAL
 10618  	case 565:
 10619  		yyDollar = yyS[yypt-6 : yypt+1]
 10620  		var yyLOCAL Statement
 10621  //line sql.y:3057
 10622  		{
 10623  			yyLOCAL = &DropView{FromTables: yyDollar[5].tableNamesUnion(), IfExists: yyDollar[4].booleanUnion()}
 10624  		}
 10625  		yyVAL.union = yyLOCAL
 10626  	case 566:
 10627  		yyDollar = yyS[yypt-5 : yypt+1]
 10628  		var yyLOCAL Statement
 10629  //line sql.y:3061
 10630  		{
 10631  			yyLOCAL = &DropDatabase{Comments: Comments(yyDollar[2].strs), DBName: yyDollar[5].tableIdent, IfExists: yyDollar[4].booleanUnion()}
 10632  		}
 10633  		yyVAL.union = yyLOCAL
 10634  	case 567:
 10635  		yyDollar = yyS[yypt-3 : yypt+1]
 10636  		var yyLOCAL Statement
 10637  //line sql.y:3067
 10638  		{
 10639  			yyLOCAL = &TruncateTable{Table: yyDollar[3].tableName}
 10640  		}
 10641  		yyVAL.union = yyLOCAL
 10642  	case 568:
 10643  		yyDollar = yyS[yypt-2 : yypt+1]
 10644  		var yyLOCAL Statement
 10645  //line sql.y:3071
 10646  		{
 10647  			yyLOCAL = &TruncateTable{Table: yyDollar[2].tableName}
 10648  		}
 10649  		yyVAL.union = yyLOCAL
 10650  	case 569:
 10651  		yyDollar = yyS[yypt-3 : yypt+1]
 10652  		var yyLOCAL Statement
 10653  //line sql.y:3076
 10654  		{
 10655  			yyLOCAL = &OtherRead{}
 10656  		}
 10657  		yyVAL.union = yyLOCAL
 10658  	case 570:
 10659  		yyDollar = yyS[yypt-3 : yypt+1]
 10660  		var yyLOCAL Statement
 10661  //line sql.y:3082
 10662  		{
 10663  			yyLOCAL = &Show{&ShowBasic{Command: Charset, Filter: yyDollar[3].showFilterUnion()}}
 10664  		}
 10665  		yyVAL.union = yyLOCAL
 10666  	case 571:
 10667  		yyDollar = yyS[yypt-3 : yypt+1]
 10668  		var yyLOCAL Statement
 10669  //line sql.y:3086
 10670  		{
 10671  			yyLOCAL = &Show{&ShowBasic{Command: Collation, Filter: yyDollar[3].showFilterUnion()}}
 10672  		}
 10673  		yyVAL.union = yyLOCAL
 10674  	case 572:
 10675  		yyDollar = yyS[yypt-7 : yypt+1]
 10676  		var yyLOCAL Statement
 10677  //line sql.y:3090
 10678  		{
 10679  			yyLOCAL = &Show{&ShowBasic{Full: yyDollar[2].booleanUnion(), Command: Column, Tbl: yyDollar[5].tableName, DbName: yyDollar[6].tableIdent, Filter: yyDollar[7].showFilterUnion()}}
 10680  		}
 10681  		yyVAL.union = yyLOCAL
 10682  	case 573:
 10683  		yyDollar = yyS[yypt-3 : yypt+1]
 10684  		var yyLOCAL Statement
 10685  //line sql.y:3094
 10686  		{
 10687  			yyLOCAL = &Show{&ShowBasic{Command: Database, Filter: yyDollar[3].showFilterUnion()}}
 10688  		}
 10689  		yyVAL.union = yyLOCAL
 10690  	case 574:
 10691  		yyDollar = yyS[yypt-3 : yypt+1]
 10692  		var yyLOCAL Statement
 10693  //line sql.y:3098
 10694  		{
 10695  			yyLOCAL = &Show{&ShowBasic{Command: Database, Filter: yyDollar[3].showFilterUnion()}}
 10696  		}
 10697  		yyVAL.union = yyLOCAL
 10698  	case 575:
 10699  		yyDollar = yyS[yypt-3 : yypt+1]
 10700  		var yyLOCAL Statement
 10701  //line sql.y:3102
 10702  		{
 10703  			yyLOCAL = &Show{&ShowBasic{Command: Keyspace, Filter: yyDollar[3].showFilterUnion()}}
 10704  		}
 10705  		yyVAL.union = yyLOCAL
 10706  	case 576:
 10707  		yyDollar = yyS[yypt-3 : yypt+1]
 10708  		var yyLOCAL Statement
 10709  //line sql.y:3106
 10710  		{
 10711  			yyLOCAL = &Show{&ShowBasic{Command: Keyspace, Filter: yyDollar[3].showFilterUnion()}}
 10712  		}
 10713  		yyVAL.union = yyLOCAL
 10714  	case 577:
 10715  		yyDollar = yyS[yypt-4 : yypt+1]
 10716  		var yyLOCAL Statement
 10717  //line sql.y:3110
 10718  		{
 10719  			yyLOCAL = &Show{&ShowBasic{Command: Function, Filter: yyDollar[4].showFilterUnion()}}
 10720  		}
 10721  		yyVAL.union = yyLOCAL
 10722  	case 578:
 10723  		yyDollar = yyS[yypt-7 : yypt+1]
 10724  		var yyLOCAL Statement
 10725  //line sql.y:3114
 10726  		{
 10727  			yyLOCAL = &Show{&ShowBasic{Command: Index, Tbl: yyDollar[5].tableName, DbName: yyDollar[6].tableIdent, Filter: yyDollar[7].showFilterUnion()}}
 10728  		}
 10729  		yyVAL.union = yyLOCAL
 10730  	case 579:
 10731  		yyDollar = yyS[yypt-5 : yypt+1]
 10732  		var yyLOCAL Statement
 10733  //line sql.y:3118
 10734  		{
 10735  			yyLOCAL = &Show{&ShowBasic{Command: OpenTable, DbName: yyDollar[4].tableIdent, Filter: yyDollar[5].showFilterUnion()}}
 10736  		}
 10737  		yyVAL.union = yyLOCAL
 10738  	case 580:
 10739  		yyDollar = yyS[yypt-2 : yypt+1]
 10740  		var yyLOCAL Statement
 10741  //line sql.y:3122
 10742  		{
 10743  			yyLOCAL = &Show{&ShowBasic{Command: Privilege}}
 10744  		}
 10745  		yyVAL.union = yyLOCAL
 10746  	case 581:
 10747  		yyDollar = yyS[yypt-4 : yypt+1]
 10748  		var yyLOCAL Statement
 10749  //line sql.y:3126
 10750  		{
 10751  			yyLOCAL = &Show{&ShowBasic{Command: Procedure, Filter: yyDollar[4].showFilterUnion()}}
 10752  		}
 10753  		yyVAL.union = yyLOCAL
 10754  	case 582:
 10755  		yyDollar = yyS[yypt-4 : yypt+1]
 10756  		var yyLOCAL Statement
 10757  //line sql.y:3130
 10758  		{
 10759  			yyLOCAL = &Show{&ShowBasic{Command: StatusSession, Filter: yyDollar[4].showFilterUnion()}}
 10760  		}
 10761  		yyVAL.union = yyLOCAL
 10762  	case 583:
 10763  		yyDollar = yyS[yypt-4 : yypt+1]
 10764  		var yyLOCAL Statement
 10765  //line sql.y:3134
 10766  		{
 10767  			yyLOCAL = &Show{&ShowBasic{Command: StatusGlobal, Filter: yyDollar[4].showFilterUnion()}}
 10768  		}
 10769  		yyVAL.union = yyLOCAL
 10770  	case 584:
 10771  		yyDollar = yyS[yypt-4 : yypt+1]
 10772  		var yyLOCAL Statement
 10773  //line sql.y:3138
 10774  		{
 10775  			yyLOCAL = &Show{&ShowBasic{Command: VariableSession, Filter: yyDollar[4].showFilterUnion()}}
 10776  		}
 10777  		yyVAL.union = yyLOCAL
 10778  	case 585:
 10779  		yyDollar = yyS[yypt-4 : yypt+1]
 10780  		var yyLOCAL Statement
 10781  //line sql.y:3142
 10782  		{
 10783  			yyLOCAL = &Show{&ShowBasic{Command: VariableGlobal, Filter: yyDollar[4].showFilterUnion()}}
 10784  		}
 10785  		yyVAL.union = yyLOCAL
 10786  	case 586:
 10787  		yyDollar = yyS[yypt-5 : yypt+1]
 10788  		var yyLOCAL Statement
 10789  //line sql.y:3146
 10790  		{
 10791  			yyLOCAL = &Show{&ShowBasic{Command: TableStatus, DbName: yyDollar[4].tableIdent, Filter: yyDollar[5].showFilterUnion()}}
 10792  		}
 10793  		yyVAL.union = yyLOCAL
 10794  	case 587:
 10795  		yyDollar = yyS[yypt-5 : yypt+1]
 10796  		var yyLOCAL Statement
 10797  //line sql.y:3150
 10798  		{
 10799  			yyLOCAL = &Show{&ShowBasic{Command: Table, Full: yyDollar[2].booleanUnion(), DbName: yyDollar[4].tableIdent, Filter: yyDollar[5].showFilterUnion()}}
 10800  		}
 10801  		yyVAL.union = yyLOCAL
 10802  	case 588:
 10803  		yyDollar = yyS[yypt-4 : yypt+1]
 10804  		var yyLOCAL Statement
 10805  //line sql.y:3154
 10806  		{
 10807  			yyLOCAL = &Show{&ShowBasic{Command: Trigger, DbName: yyDollar[3].tableIdent, Filter: yyDollar[4].showFilterUnion()}}
 10808  		}
 10809  		yyVAL.union = yyLOCAL
 10810  	case 589:
 10811  		yyDollar = yyS[yypt-4 : yypt+1]
 10812  		var yyLOCAL Statement
 10813  //line sql.y:3158
 10814  		{
 10815  			yyLOCAL = &Show{&ShowCreate{Command: CreateDb, Op: yyDollar[4].tableName}}
 10816  		}
 10817  		yyVAL.union = yyLOCAL
 10818  	case 590:
 10819  		yyDollar = yyS[yypt-4 : yypt+1]
 10820  		var yyLOCAL Statement
 10821  //line sql.y:3162
 10822  		{
 10823  			yyLOCAL = &Show{&ShowCreate{Command: CreateE, Op: yyDollar[4].tableName}}
 10824  		}
 10825  		yyVAL.union = yyLOCAL
 10826  	case 591:
 10827  		yyDollar = yyS[yypt-4 : yypt+1]
 10828  		var yyLOCAL Statement
 10829  //line sql.y:3166
 10830  		{
 10831  			yyLOCAL = &Show{&ShowCreate{Command: CreateF, Op: yyDollar[4].tableName}}
 10832  		}
 10833  		yyVAL.union = yyLOCAL
 10834  	case 592:
 10835  		yyDollar = yyS[yypt-4 : yypt+1]
 10836  		var yyLOCAL Statement
 10837  //line sql.y:3170
 10838  		{
 10839  			yyLOCAL = &Show{&ShowCreate{Command: CreateProc, Op: yyDollar[4].tableName}}
 10840  		}
 10841  		yyVAL.union = yyLOCAL
 10842  	case 593:
 10843  		yyDollar = yyS[yypt-4 : yypt+1]
 10844  		var yyLOCAL Statement
 10845  //line sql.y:3174
 10846  		{
 10847  			yyLOCAL = &Show{&ShowCreate{Command: CreateTbl, Op: yyDollar[4].tableName}}
 10848  		}
 10849  		yyVAL.union = yyLOCAL
 10850  	case 594:
 10851  		yyDollar = yyS[yypt-4 : yypt+1]
 10852  		var yyLOCAL Statement
 10853  //line sql.y:3178
 10854  		{
 10855  			yyLOCAL = &Show{&ShowCreate{Command: CreateTr, Op: yyDollar[4].tableName}}
 10856  		}
 10857  		yyVAL.union = yyLOCAL
 10858  	case 595:
 10859  		yyDollar = yyS[yypt-4 : yypt+1]
 10860  		var yyLOCAL Statement
 10861  //line sql.y:3182
 10862  		{
 10863  			yyLOCAL = &Show{&ShowCreate{Command: CreateV, Op: yyDollar[4].tableName}}
 10864  		}
 10865  		yyVAL.union = yyLOCAL
 10866  	case 596:
 10867  		yyDollar = yyS[yypt-4 : yypt+1]
 10868  		var yyLOCAL Statement
 10869  //line sql.y:3186
 10870  		{
 10871  			yyLOCAL = &Show{&ShowLegacy{Type: string(yyDollar[2].str) + " " + string(yyDollar[3].str), Scope: ImplicitScope}}
 10872  		}
 10873  		yyVAL.union = yyLOCAL
 10874  	case 597:
 10875  		yyDollar = yyS[yypt-4 : yypt+1]
 10876  		var yyLOCAL Statement
 10877  //line sql.y:3190
 10878  		{
 10879  			yyLOCAL = &Show{&ShowLegacy{Type: string(yyDollar[2].str) + " " + string(yyDollar[3].colIdent.String()), Scope: ImplicitScope}}
 10880  		}
 10881  		yyVAL.union = yyLOCAL
 10882  	case 598:
 10883  		yyDollar = yyS[yypt-4 : yypt+1]
 10884  		var yyLOCAL Statement
 10885  //line sql.y:3194
 10886  		{
 10887  			yyLOCAL = &Show{&ShowLegacy{Type: string(yyDollar[2].str) + " " + string(yyDollar[3].str), Scope: ImplicitScope}}
 10888  		}
 10889  		yyVAL.union = yyLOCAL
 10890  	case 599:
 10891  		yyDollar = yyS[yypt-2 : yypt+1]
 10892  		var yyLOCAL Statement
 10893  //line sql.y:3198
 10894  		{
 10895  			yyLOCAL = &Show{&ShowLegacy{Type: string(yyDollar[2].str), Scope: ImplicitScope}}
 10896  		}
 10897  		yyVAL.union = yyLOCAL
 10898  	case 600:
 10899  		yyDollar = yyS[yypt-4 : yypt+1]
 10900  		var yyLOCAL Statement
 10901  //line sql.y:3202
 10902  		{
 10903  			yyLOCAL = &Show{&ShowLegacy{Type: string(yyDollar[2].str) + " " + string(yyDollar[3].str), Table: yyDollar[4].tableName, Scope: ImplicitScope}}
 10904  		}
 10905  		yyVAL.union = yyLOCAL
 10906  	case 601:
 10907  		yyDollar = yyS[yypt-2 : yypt+1]
 10908  		var yyLOCAL Statement
 10909  //line sql.y:3206
 10910  		{
 10911  			yyLOCAL = &Show{&ShowLegacy{Type: string(yyDollar[2].str), Scope: ImplicitScope}}
 10912  		}
 10913  		yyVAL.union = yyLOCAL
 10914  	case 602:
 10915  		yyDollar = yyS[yypt-4 : yypt+1]
 10916  		var yyLOCAL Statement
 10917  //line sql.y:3210
 10918  		{
 10919  			yyLOCAL = &Show{&ShowLegacy{Type: string(yyDollar[2].str) + " " + string(yyDollar[3].str), Table: yyDollar[4].tableName, Scope: ImplicitScope}}
 10920  		}
 10921  		yyVAL.union = yyLOCAL
 10922  	case 603:
 10923  		yyDollar = yyS[yypt-5 : yypt+1]
 10924  		var yyLOCAL Statement
 10925  //line sql.y:3214
 10926  		{
 10927  			yyLOCAL = &Show{&ShowLegacy{Type: string(yyDollar[3].str), Scope: ImplicitScope}}
 10928  		}
 10929  		yyVAL.union = yyLOCAL
 10930  	case 604:
 10931  		yyDollar = yyS[yypt-4 : yypt+1]
 10932  		var yyLOCAL Statement
 10933  //line sql.y:3218
 10934  		{
 10935  			yyLOCAL = &Show{&ShowBasic{Command: GtidExecGlobal, DbName: yyDollar[4].tableIdent}}
 10936  		}
 10937  		yyVAL.union = yyLOCAL
 10938  	case 605:
 10939  		yyDollar = yyS[yypt-4 : yypt+1]
 10940  		var yyLOCAL Statement
 10941  //line sql.y:3222
 10942  		{
 10943  			yyLOCAL = &Show{&ShowBasic{Command: VGtidExecGlobal, DbName: yyDollar[4].tableIdent}}
 10944  		}
 10945  		yyVAL.union = yyLOCAL
 10946  	case 606:
 10947  		yyDollar = yyS[yypt-4 : yypt+1]
 10948  		var yyLOCAL Statement
 10949  //line sql.y:3226
 10950  		{
 10951  			showTablesOpt := &ShowTablesOpt{Filter: yyDollar[4].showFilterUnion()}
 10952  			yyLOCAL = &Show{&ShowLegacy{Scope: VitessMetadataScope, Type: string(yyDollar[3].str), ShowTablesOpt: showTablesOpt}}
 10953  		}
 10954  		yyVAL.union = yyLOCAL
 10955  	case 607:
 10956  		yyDollar = yyS[yypt-4 : yypt+1]
 10957  		var yyLOCAL Statement
 10958  //line sql.y:3231
 10959  		{
 10960  			yyLOCAL = &Show{&ShowBasic{Command: VitessMigrations, Filter: yyDollar[4].showFilterUnion(), DbName: yyDollar[3].tableIdent}}
 10961  		}
 10962  		yyVAL.union = yyLOCAL
 10963  	case 608:
 10964  		yyDollar = yyS[yypt-4 : yypt+1]
 10965  		var yyLOCAL Statement
 10966  //line sql.y:3235
 10967  		{
 10968  			yyLOCAL = &ShowMigrationLogs{UUID: string(yyDollar[3].str)}
 10969  		}
 10970  		yyVAL.union = yyLOCAL
 10971  	case 609:
 10972  		yyDollar = yyS[yypt-3 : yypt+1]
 10973  		var yyLOCAL Statement
 10974  //line sql.y:3239
 10975  		{
 10976  			showTablesOpt := &ShowTablesOpt{Filter: yyDollar[3].showFilterUnion()}
 10977  			yyLOCAL = &Show{&ShowLegacy{Type: string(yyDollar[2].str), Scope: ImplicitScope, ShowTablesOpt: showTablesOpt}}
 10978  		}
 10979  		yyVAL.union = yyLOCAL
 10980  	case 610:
 10981  		yyDollar = yyS[yypt-3 : yypt+1]
 10982  		var yyLOCAL Statement
 10983  //line sql.y:3244
 10984  		{
 10985  			yyLOCAL = &Show{&ShowLegacy{Type: string(yyDollar[2].str) + " " + string(yyDollar[3].str), Scope: ImplicitScope}}
 10986  		}
 10987  		yyVAL.union = yyLOCAL
 10988  	case 611:
 10989  		yyDollar = yyS[yypt-3 : yypt+1]
 10990  		var yyLOCAL Statement
 10991  //line sql.y:3248
 10992  		{
 10993  			yyLOCAL = &Show{&ShowLegacy{Type: string(yyDollar[2].str) + " " + string(yyDollar[3].str), Scope: ImplicitScope}}
 10994  		}
 10995  		yyVAL.union = yyLOCAL
 10996  	case 612:
 10997  		yyDollar = yyS[yypt-5 : yypt+1]
 10998  		var yyLOCAL Statement
 10999  //line sql.y:3252
 11000  		{
 11001  			yyLOCAL = &Show{&ShowLegacy{Type: string(yyDollar[2].str) + " " + string(yyDollar[3].str), OnTable: yyDollar[5].tableName, Scope: ImplicitScope}}
 11002  		}
 11003  		yyVAL.union = yyLOCAL
 11004  	case 613:
 11005  		yyDollar = yyS[yypt-2 : yypt+1]
 11006  		var yyLOCAL Statement
 11007  //line sql.y:3256
 11008  		{
 11009  			yyLOCAL = &Show{&ShowBasic{Command: Warnings}}
 11010  		}
 11011  		yyVAL.union = yyLOCAL
 11012  	case 614:
 11013  		yyDollar = yyS[yypt-3 : yypt+1]
 11014  		var yyLOCAL Statement
 11015  //line sql.y:3261
 11016  		{
 11017  			// This should probably be a different type (ShowVitessTopoOpt), but
 11018  			// just getting the thing working for now
 11019  			showTablesOpt := &ShowTablesOpt{Filter: yyDollar[3].showFilterUnion()}
 11020  			yyLOCAL = &Show{&ShowLegacy{Type: yyDollar[2].str, ShowTablesOpt: showTablesOpt}}
 11021  		}
 11022  		yyVAL.union = yyLOCAL
 11023  	case 615:
 11024  		yyDollar = yyS[yypt-3 : yypt+1]
 11025  		var yyLOCAL Statement
 11026  //line sql.y:3275
 11027  		{
 11028  			yyLOCAL = &Show{&ShowLegacy{Type: string(yyDollar[2].colIdent.String()), Scope: ImplicitScope}}
 11029  		}
 11030  		yyVAL.union = yyLOCAL
 11031  	case 616:
 11032  		yyDollar = yyS[yypt-3 : yypt+1]
 11033  		var yyLOCAL Statement
 11034  //line sql.y:3279
 11035  		{
 11036  			yyLOCAL = &Show{&ShowLegacy{Type: string(yyDollar[2].str), Scope: ImplicitScope}}
 11037  		}
 11038  		yyVAL.union = yyLOCAL
 11039  	case 617:
 11040  		yyDollar = yyS[yypt-3 : yypt+1]
 11041  		var yyLOCAL Statement
 11042  //line sql.y:3283
 11043  		{
 11044  			yyLOCAL = &Show{&ShowLegacy{Type: string(yyDollar[2].str), Scope: ImplicitScope}}
 11045  		}
 11046  		yyVAL.union = yyLOCAL
 11047  	case 618:
 11048  		yyDollar = yyS[yypt-1 : yypt+1]
 11049  //line sql.y:3289
 11050  		{
 11051  			yyVAL.str = string(yyDollar[1].str)
 11052  		}
 11053  	case 619:
 11054  		yyDollar = yyS[yypt-1 : yypt+1]
 11055  //line sql.y:3293
 11056  		{
 11057  			yyVAL.str = string(yyDollar[1].str)
 11058  		}
 11059  	case 620:
 11060  		yyDollar = yyS[yypt-0 : yypt+1]
 11061  //line sql.y:3299
 11062  		{
 11063  			yyVAL.str = ""
 11064  		}
 11065  	case 621:
 11066  		yyDollar = yyS[yypt-1 : yypt+1]
 11067  //line sql.y:3303
 11068  		{
 11069  			yyVAL.str = "extended "
 11070  		}
 11071  	case 622:
 11072  		yyDollar = yyS[yypt-0 : yypt+1]
 11073  		var yyLOCAL bool
 11074  //line sql.y:3309
 11075  		{
 11076  			yyLOCAL = false
 11077  		}
 11078  		yyVAL.union = yyLOCAL
 11079  	case 623:
 11080  		yyDollar = yyS[yypt-1 : yypt+1]
 11081  		var yyLOCAL bool
 11082  //line sql.y:3313
 11083  		{
 11084  			yyLOCAL = true
 11085  		}
 11086  		yyVAL.union = yyLOCAL
 11087  	case 624:
 11088  		yyDollar = yyS[yypt-1 : yypt+1]
 11089  //line sql.y:3319
 11090  		{
 11091  			yyVAL.str = string(yyDollar[1].str)
 11092  		}
 11093  	case 625:
 11094  		yyDollar = yyS[yypt-1 : yypt+1]
 11095  //line sql.y:3323
 11096  		{
 11097  			yyVAL.str = string(yyDollar[1].str)
 11098  		}
 11099  	case 626:
 11100  		yyDollar = yyS[yypt-0 : yypt+1]
 11101  //line sql.y:3329
 11102  		{
 11103  			yyVAL.tableIdent = NewTableIdent("")
 11104  		}
 11105  	case 627:
 11106  		yyDollar = yyS[yypt-2 : yypt+1]
 11107  //line sql.y:3333
 11108  		{
 11109  			yyVAL.tableIdent = yyDollar[2].tableIdent
 11110  		}
 11111  	case 628:
 11112  		yyDollar = yyS[yypt-2 : yypt+1]
 11113  //line sql.y:3337
 11114  		{
 11115  			yyVAL.tableIdent = yyDollar[2].tableIdent
 11116  		}
 11117  	case 629:
 11118  		yyDollar = yyS[yypt-0 : yypt+1]
 11119  		var yyLOCAL *ShowFilter
 11120  //line sql.y:3343
 11121  		{
 11122  			yyLOCAL = nil
 11123  		}
 11124  		yyVAL.union = yyLOCAL
 11125  	case 630:
 11126  		yyDollar = yyS[yypt-2 : yypt+1]
 11127  		var yyLOCAL *ShowFilter
 11128  //line sql.y:3347
 11129  		{
 11130  			yyLOCAL = &ShowFilter{Like: string(yyDollar[2].str)}
 11131  		}
 11132  		yyVAL.union = yyLOCAL
 11133  	case 631:
 11134  		yyDollar = yyS[yypt-2 : yypt+1]
 11135  		var yyLOCAL *ShowFilter
 11136  //line sql.y:3351
 11137  		{
 11138  			yyLOCAL = &ShowFilter{Filter: yyDollar[2].exprUnion()}
 11139  		}
 11140  		yyVAL.union = yyLOCAL
 11141  	case 632:
 11142  		yyDollar = yyS[yypt-0 : yypt+1]
 11143  		var yyLOCAL *ShowFilter
 11144  //line sql.y:3357
 11145  		{
 11146  			yyLOCAL = nil
 11147  		}
 11148  		yyVAL.union = yyLOCAL
 11149  	case 633:
 11150  		yyDollar = yyS[yypt-2 : yypt+1]
 11151  		var yyLOCAL *ShowFilter
 11152  //line sql.y:3361
 11153  		{
 11154  			yyLOCAL = &ShowFilter{Like: string(yyDollar[2].str)}
 11155  		}
 11156  		yyVAL.union = yyLOCAL
 11157  	case 634:
 11158  		yyDollar = yyS[yypt-0 : yypt+1]
 11159  //line sql.y:3367
 11160  		{
 11161  			yyVAL.empty = struct{}{}
 11162  		}
 11163  	case 635:
 11164  		yyDollar = yyS[yypt-1 : yypt+1]
 11165  //line sql.y:3371
 11166  		{
 11167  			yyVAL.empty = struct{}{}
 11168  		}
 11169  	case 636:
 11170  		yyDollar = yyS[yypt-1 : yypt+1]
 11171  //line sql.y:3375
 11172  		{
 11173  			yyVAL.empty = struct{}{}
 11174  		}
 11175  	case 637:
 11176  		yyDollar = yyS[yypt-2 : yypt+1]
 11177  		var yyLOCAL Statement
 11178  //line sql.y:3381
 11179  		{
 11180  			yyLOCAL = &Use{DBName: yyDollar[2].tableIdent}
 11181  		}
 11182  		yyVAL.union = yyLOCAL
 11183  	case 638:
 11184  		yyDollar = yyS[yypt-1 : yypt+1]
 11185  		var yyLOCAL Statement
 11186  //line sql.y:3385
 11187  		{
 11188  			yyLOCAL = &Use{DBName: TableIdent{v: ""}}
 11189  		}
 11190  		yyVAL.union = yyLOCAL
 11191  	case 639:
 11192  		yyDollar = yyS[yypt-1 : yypt+1]
 11193  		var yyLOCAL Statement
 11194  //line sql.y:3391
 11195  		{
 11196  			yyLOCAL = &Begin{}
 11197  		}
 11198  		yyVAL.union = yyLOCAL
 11199  	case 640:
 11200  		yyDollar = yyS[yypt-2 : yypt+1]
 11201  		var yyLOCAL Statement
 11202  //line sql.y:3395
 11203  		{
 11204  			yyLOCAL = &Begin{}
 11205  		}
 11206  		yyVAL.union = yyLOCAL
 11207  	case 641:
 11208  		yyDollar = yyS[yypt-1 : yypt+1]
 11209  		var yyLOCAL Statement
 11210  //line sql.y:3401
 11211  		{
 11212  			yyLOCAL = &Commit{}
 11213  		}
 11214  		yyVAL.union = yyLOCAL
 11215  	case 642:
 11216  		yyDollar = yyS[yypt-1 : yypt+1]
 11217  		var yyLOCAL Statement
 11218  //line sql.y:3407
 11219  		{
 11220  			yyLOCAL = &Rollback{}
 11221  		}
 11222  		yyVAL.union = yyLOCAL
 11223  	case 643:
 11224  		yyDollar = yyS[yypt-5 : yypt+1]
 11225  		var yyLOCAL Statement
 11226  //line sql.y:3411
 11227  		{
 11228  			yyLOCAL = &SRollback{Name: yyDollar[5].colIdent}
 11229  		}
 11230  		yyVAL.union = yyLOCAL
 11231  	case 644:
 11232  		yyDollar = yyS[yypt-0 : yypt+1]
 11233  //line sql.y:3416
 11234  		{
 11235  			yyVAL.empty = struct{}{}
 11236  		}
 11237  	case 645:
 11238  		yyDollar = yyS[yypt-1 : yypt+1]
 11239  //line sql.y:3418
 11240  		{
 11241  			yyVAL.empty = struct{}{}
 11242  		}
 11243  	case 646:
 11244  		yyDollar = yyS[yypt-0 : yypt+1]
 11245  //line sql.y:3421
 11246  		{
 11247  			yyVAL.empty = struct{}{}
 11248  		}
 11249  	case 647:
 11250  		yyDollar = yyS[yypt-1 : yypt+1]
 11251  //line sql.y:3423
 11252  		{
 11253  			yyVAL.empty = struct{}{}
 11254  		}
 11255  	case 648:
 11256  		yyDollar = yyS[yypt-2 : yypt+1]
 11257  		var yyLOCAL Statement
 11258  //line sql.y:3428
 11259  		{
 11260  			yyLOCAL = &Savepoint{Name: yyDollar[2].colIdent}
 11261  		}
 11262  		yyVAL.union = yyLOCAL
 11263  	case 649:
 11264  		yyDollar = yyS[yypt-3 : yypt+1]
 11265  		var yyLOCAL Statement
 11266  //line sql.y:3434
 11267  		{
 11268  			yyLOCAL = &Release{Name: yyDollar[3].colIdent}
 11269  		}
 11270  		yyVAL.union = yyLOCAL
 11271  	case 650:
 11272  		yyDollar = yyS[yypt-0 : yypt+1]
 11273  		var yyLOCAL ExplainType
 11274  //line sql.y:3439
 11275  		{
 11276  			yyLOCAL = EmptyType
 11277  		}
 11278  		yyVAL.union = yyLOCAL
 11279  	case 651:
 11280  		yyDollar = yyS[yypt-3 : yypt+1]
 11281  		var yyLOCAL ExplainType
 11282  //line sql.y:3443
 11283  		{
 11284  			yyLOCAL = JSONType
 11285  		}
 11286  		yyVAL.union = yyLOCAL
 11287  	case 652:
 11288  		yyDollar = yyS[yypt-3 : yypt+1]
 11289  		var yyLOCAL ExplainType
 11290  //line sql.y:3447
 11291  		{
 11292  			yyLOCAL = TreeType
 11293  		}
 11294  		yyVAL.union = yyLOCAL
 11295  	case 653:
 11296  		yyDollar = yyS[yypt-3 : yypt+1]
 11297  		var yyLOCAL ExplainType
 11298  //line sql.y:3451
 11299  		{
 11300  			yyLOCAL = VitessType
 11301  		}
 11302  		yyVAL.union = yyLOCAL
 11303  	case 654:
 11304  		yyDollar = yyS[yypt-3 : yypt+1]
 11305  		var yyLOCAL ExplainType
 11306  //line sql.y:3455
 11307  		{
 11308  			yyLOCAL = TraditionalType
 11309  		}
 11310  		yyVAL.union = yyLOCAL
 11311  	case 655:
 11312  		yyDollar = yyS[yypt-1 : yypt+1]
 11313  		var yyLOCAL ExplainType
 11314  //line sql.y:3459
 11315  		{
 11316  			yyLOCAL = AnalyzeType
 11317  		}
 11318  		yyVAL.union = yyLOCAL
 11319  	case 656:
 11320  		yyDollar = yyS[yypt-1 : yypt+1]
 11321  //line sql.y:3465
 11322  		{
 11323  			yyVAL.str = yyDollar[1].str
 11324  		}
 11325  	case 657:
 11326  		yyDollar = yyS[yypt-1 : yypt+1]
 11327  //line sql.y:3469
 11328  		{
 11329  			yyVAL.str = yyDollar[1].str
 11330  		}
 11331  	case 658:
 11332  		yyDollar = yyS[yypt-1 : yypt+1]
 11333  //line sql.y:3473
 11334  		{
 11335  			yyVAL.str = yyDollar[1].str
 11336  		}
 11337  	case 659:
 11338  		yyDollar = yyS[yypt-1 : yypt+1]
 11339  		var yyLOCAL Statement
 11340  //line sql.y:3479
 11341  		{
 11342  			yyLOCAL = yyDollar[1].selStmtUnion()
 11343  		}
 11344  		yyVAL.union = yyLOCAL
 11345  	case 660:
 11346  		yyDollar = yyS[yypt-1 : yypt+1]
 11347  		var yyLOCAL Statement
 11348  //line sql.y:3483
 11349  		{
 11350  			yyLOCAL = yyDollar[1].statementUnion()
 11351  		}
 11352  		yyVAL.union = yyLOCAL
 11353  	case 661:
 11354  		yyDollar = yyS[yypt-1 : yypt+1]
 11355  		var yyLOCAL Statement
 11356  //line sql.y:3487
 11357  		{
 11358  			yyLOCAL = yyDollar[1].statementUnion()
 11359  		}
 11360  		yyVAL.union = yyLOCAL
 11361  	case 662:
 11362  		yyDollar = yyS[yypt-1 : yypt+1]
 11363  		var yyLOCAL Statement
 11364  //line sql.y:3491
 11365  		{
 11366  			yyLOCAL = yyDollar[1].statementUnion()
 11367  		}
 11368  		yyVAL.union = yyLOCAL
 11369  	case 663:
 11370  		yyDollar = yyS[yypt-0 : yypt+1]
 11371  //line sql.y:3496
 11372  		{
 11373  			yyVAL.str = ""
 11374  		}
 11375  	case 664:
 11376  		yyDollar = yyS[yypt-1 : yypt+1]
 11377  //line sql.y:3500
 11378  		{
 11379  			yyVAL.str = yyDollar[1].colIdent.val
 11380  		}
 11381  	case 665:
 11382  		yyDollar = yyS[yypt-1 : yypt+1]
 11383  //line sql.y:3504
 11384  		{
 11385  			yyVAL.str = encodeSQLString(yyDollar[1].str)
 11386  		}
 11387  	case 666:
 11388  		yyDollar = yyS[yypt-3 : yypt+1]
 11389  		var yyLOCAL Statement
 11390  //line sql.y:3510
 11391  		{
 11392  			yyLOCAL = &ExplainTab{Table: yyDollar[2].tableName, Wild: yyDollar[3].str}
 11393  		}
 11394  		yyVAL.union = yyLOCAL
 11395  	case 667:
 11396  		yyDollar = yyS[yypt-3 : yypt+1]
 11397  		var yyLOCAL Statement
 11398  //line sql.y:3514
 11399  		{
 11400  			yyLOCAL = &ExplainStmt{Type: yyDollar[2].explainTypeUnion(), Statement: yyDollar[3].statementUnion()}
 11401  		}
 11402  		yyVAL.union = yyLOCAL
 11403  	case 668:
 11404  		yyDollar = yyS[yypt-2 : yypt+1]
 11405  		var yyLOCAL Statement
 11406  //line sql.y:3520
 11407  		{
 11408  			yyLOCAL = &OtherAdmin{}
 11409  		}
 11410  		yyVAL.union = yyLOCAL
 11411  	case 669:
 11412  		yyDollar = yyS[yypt-2 : yypt+1]
 11413  		var yyLOCAL Statement
 11414  //line sql.y:3524
 11415  		{
 11416  			yyLOCAL = &OtherAdmin{}
 11417  		}
 11418  		yyVAL.union = yyLOCAL
 11419  	case 670:
 11420  		yyDollar = yyS[yypt-3 : yypt+1]
 11421  		var yyLOCAL Statement
 11422  //line sql.y:3530
 11423  		{
 11424  			yyLOCAL = &LockTables{Tables: yyDollar[3].tableAndLockTypesUnion()}
 11425  		}
 11426  		yyVAL.union = yyLOCAL
 11427  	case 671:
 11428  		yyDollar = yyS[yypt-1 : yypt+1]
 11429  		var yyLOCAL TableAndLockTypes
 11430  //line sql.y:3536
 11431  		{
 11432  			yyLOCAL = TableAndLockTypes{yyDollar[1].tableAndLockTypeUnion()}
 11433  		}
 11434  		yyVAL.union = yyLOCAL
 11435  	case 672:
 11436  		yyDollar = yyS[yypt-3 : yypt+1]
 11437  //line sql.y:3540
 11438  		{
 11439  			yySLICE := (*TableAndLockTypes)(yyIaddr(yyVAL.union))
 11440  			*yySLICE = append(*yySLICE, yyDollar[3].tableAndLockTypeUnion())
 11441  		}
 11442  	case 673:
 11443  		yyDollar = yyS[yypt-2 : yypt+1]
 11444  		var yyLOCAL *TableAndLockType
 11445  //line sql.y:3546
 11446  		{
 11447  			yyLOCAL = &TableAndLockType{Table: yyDollar[1].aliasedTableNameUnion(), Lock: yyDollar[2].lockTypeUnion()}
 11448  		}
 11449  		yyVAL.union = yyLOCAL
 11450  	case 674:
 11451  		yyDollar = yyS[yypt-1 : yypt+1]
 11452  		var yyLOCAL LockType
 11453  //line sql.y:3552
 11454  		{
 11455  			yyLOCAL = Read
 11456  		}
 11457  		yyVAL.union = yyLOCAL
 11458  	case 675:
 11459  		yyDollar = yyS[yypt-2 : yypt+1]
 11460  		var yyLOCAL LockType
 11461  //line sql.y:3556
 11462  		{
 11463  			yyLOCAL = ReadLocal
 11464  		}
 11465  		yyVAL.union = yyLOCAL
 11466  	case 676:
 11467  		yyDollar = yyS[yypt-1 : yypt+1]
 11468  		var yyLOCAL LockType
 11469  //line sql.y:3560
 11470  		{
 11471  			yyLOCAL = Write
 11472  		}
 11473  		yyVAL.union = yyLOCAL
 11474  	case 677:
 11475  		yyDollar = yyS[yypt-2 : yypt+1]
 11476  		var yyLOCAL LockType
 11477  //line sql.y:3564
 11478  		{
 11479  			yyLOCAL = LowPriorityWrite
 11480  		}
 11481  		yyVAL.union = yyLOCAL
 11482  	case 678:
 11483  		yyDollar = yyS[yypt-2 : yypt+1]
 11484  		var yyLOCAL Statement
 11485  //line sql.y:3570
 11486  		{
 11487  			yyLOCAL = &UnlockTables{}
 11488  		}
 11489  		yyVAL.union = yyLOCAL
 11490  	case 679:
 11491  		yyDollar = yyS[yypt-4 : yypt+1]
 11492  		var yyLOCAL Statement
 11493  //line sql.y:3576
 11494  		{
 11495  			yyLOCAL = &RevertMigration{Comments: Comments(yyDollar[2].strs), UUID: string(yyDollar[4].str)}
 11496  		}
 11497  		yyVAL.union = yyLOCAL
 11498  	case 680:
 11499  		yyDollar = yyS[yypt-3 : yypt+1]
 11500  		var yyLOCAL Statement
 11501  //line sql.y:3582
 11502  		{
 11503  			yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), FlushOptions: yyDollar[3].strs}
 11504  		}
 11505  		yyVAL.union = yyLOCAL
 11506  	case 681:
 11507  		yyDollar = yyS[yypt-3 : yypt+1]
 11508  		var yyLOCAL Statement
 11509  //line sql.y:3586
 11510  		{
 11511  			yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion()}
 11512  		}
 11513  		yyVAL.union = yyLOCAL
 11514  	case 682:
 11515  		yyDollar = yyS[yypt-6 : yypt+1]
 11516  		var yyLOCAL Statement
 11517  //line sql.y:3590
 11518  		{
 11519  			yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), WithLock: true}
 11520  		}
 11521  		yyVAL.union = yyLOCAL
 11522  	case 683:
 11523  		yyDollar = yyS[yypt-4 : yypt+1]
 11524  		var yyLOCAL Statement
 11525  //line sql.y:3594
 11526  		{
 11527  			yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), TableNames: yyDollar[4].tableNamesUnion()}
 11528  		}
 11529  		yyVAL.union = yyLOCAL
 11530  	case 684:
 11531  		yyDollar = yyS[yypt-7 : yypt+1]
 11532  		var yyLOCAL Statement
 11533  //line sql.y:3598
 11534  		{
 11535  			yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), TableNames: yyDollar[4].tableNamesUnion(), WithLock: true}
 11536  		}
 11537  		yyVAL.union = yyLOCAL
 11538  	case 685:
 11539  		yyDollar = yyS[yypt-6 : yypt+1]
 11540  		var yyLOCAL Statement
 11541  //line sql.y:3602
 11542  		{
 11543  			yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), TableNames: yyDollar[4].tableNamesUnion(), ForExport: true}
 11544  		}
 11545  		yyVAL.union = yyLOCAL
 11546  	case 686:
 11547  		yyDollar = yyS[yypt-1 : yypt+1]
 11548  //line sql.y:3608
 11549  		{
 11550  			yyVAL.strs = []string{yyDollar[1].str}
 11551  		}
 11552  	case 687:
 11553  		yyDollar = yyS[yypt-3 : yypt+1]
 11554  //line sql.y:3612
 11555  		{
 11556  			yyVAL.strs = append(yyDollar[1].strs, yyDollar[3].str)
 11557  		}
 11558  	case 688:
 11559  		yyDollar = yyS[yypt-2 : yypt+1]
 11560  //line sql.y:3618
 11561  		{
 11562  			yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str)
 11563  		}
 11564  	case 689:
 11565  		yyDollar = yyS[yypt-2 : yypt+1]
 11566  //line sql.y:3622
 11567  		{
 11568  			yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str)
 11569  		}
 11570  	case 690:
 11571  		yyDollar = yyS[yypt-2 : yypt+1]
 11572  //line sql.y:3626
 11573  		{
 11574  			yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str)
 11575  		}
 11576  	case 691:
 11577  		yyDollar = yyS[yypt-2 : yypt+1]
 11578  //line sql.y:3630
 11579  		{
 11580  			yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str)
 11581  		}
 11582  	case 692:
 11583  		yyDollar = yyS[yypt-1 : yypt+1]
 11584  //line sql.y:3634
 11585  		{
 11586  			yyVAL.str = string(yyDollar[1].str)
 11587  		}
 11588  	case 693:
 11589  		yyDollar = yyS[yypt-1 : yypt+1]
 11590  //line sql.y:3638
 11591  		{
 11592  			yyVAL.str = string(yyDollar[1].str)
 11593  		}
 11594  	case 694:
 11595  		yyDollar = yyS[yypt-1 : yypt+1]
 11596  //line sql.y:3642
 11597  		{
 11598  			yyVAL.str = string(yyDollar[1].str)
 11599  		}
 11600  	case 695:
 11601  		yyDollar = yyS[yypt-3 : yypt+1]
 11602  //line sql.y:3646
 11603  		{
 11604  			yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) + yyDollar[3].str
 11605  		}
 11606  	case 696:
 11607  		yyDollar = yyS[yypt-2 : yypt+1]
 11608  //line sql.y:3650
 11609  		{
 11610  			yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str)
 11611  		}
 11612  	case 697:
 11613  		yyDollar = yyS[yypt-1 : yypt+1]
 11614  //line sql.y:3654
 11615  		{
 11616  			yyVAL.str = string(yyDollar[1].str)
 11617  		}
 11618  	case 698:
 11619  		yyDollar = yyS[yypt-1 : yypt+1]
 11620  //line sql.y:3658
 11621  		{
 11622  			yyVAL.str = string(yyDollar[1].str)
 11623  		}
 11624  	case 699:
 11625  		yyDollar = yyS[yypt-1 : yypt+1]
 11626  //line sql.y:3662
 11627  		{
 11628  			yyVAL.str = string(yyDollar[1].str)
 11629  		}
 11630  	case 700:
 11631  		yyDollar = yyS[yypt-0 : yypt+1]
 11632  		var yyLOCAL bool
 11633  //line sql.y:3667
 11634  		{
 11635  			yyLOCAL = false
 11636  		}
 11637  		yyVAL.union = yyLOCAL
 11638  	case 701:
 11639  		yyDollar = yyS[yypt-1 : yypt+1]
 11640  		var yyLOCAL bool
 11641  //line sql.y:3671
 11642  		{
 11643  			yyLOCAL = true
 11644  		}
 11645  		yyVAL.union = yyLOCAL
 11646  	case 702:
 11647  		yyDollar = yyS[yypt-1 : yypt+1]
 11648  		var yyLOCAL bool
 11649  //line sql.y:3675
 11650  		{
 11651  			yyLOCAL = true
 11652  		}
 11653  		yyVAL.union = yyLOCAL
 11654  	case 703:
 11655  		yyDollar = yyS[yypt-0 : yypt+1]
 11656  //line sql.y:3680
 11657  		{
 11658  			yyVAL.str = ""
 11659  		}
 11660  	case 704:
 11661  		yyDollar = yyS[yypt-3 : yypt+1]
 11662  //line sql.y:3684
 11663  		{
 11664  			yyVAL.str = " " + string(yyDollar[1].str) + " " + string(yyDollar[2].str) + " " + yyDollar[3].colIdent.String()
 11665  		}
 11666  	case 705:
 11667  		yyDollar = yyS[yypt-0 : yypt+1]
 11668  //line sql.y:3689
 11669  		{
 11670  			setAllowComments(yylex, true)
 11671  		}
 11672  	case 706:
 11673  		yyDollar = yyS[yypt-2 : yypt+1]
 11674  //line sql.y:3693
 11675  		{
 11676  			yyVAL.strs = yyDollar[2].strs
 11677  			setAllowComments(yylex, false)
 11678  		}
 11679  	case 707:
 11680  		yyDollar = yyS[yypt-0 : yypt+1]
 11681  //line sql.y:3699
 11682  		{
 11683  			yyVAL.strs = nil
 11684  		}
 11685  	case 708:
 11686  		yyDollar = yyS[yypt-2 : yypt+1]
 11687  //line sql.y:3703
 11688  		{
 11689  			yyVAL.strs = append(yyDollar[1].strs, yyDollar[2].str)
 11690  		}
 11691  	case 709:
 11692  		yyDollar = yyS[yypt-1 : yypt+1]
 11693  		var yyLOCAL bool
 11694  //line sql.y:3709
 11695  		{
 11696  			yyLOCAL = true
 11697  		}
 11698  		yyVAL.union = yyLOCAL
 11699  	case 710:
 11700  		yyDollar = yyS[yypt-2 : yypt+1]
 11701  		var yyLOCAL bool
 11702  //line sql.y:3713
 11703  		{
 11704  			yyLOCAL = false
 11705  		}
 11706  		yyVAL.union = yyLOCAL
 11707  	case 711:
 11708  		yyDollar = yyS[yypt-2 : yypt+1]
 11709  		var yyLOCAL bool
 11710  //line sql.y:3717
 11711  		{
 11712  			yyLOCAL = true
 11713  		}
 11714  		yyVAL.union = yyLOCAL
 11715  	case 712:
 11716  		yyDollar = yyS[yypt-0 : yypt+1]
 11717  //line sql.y:3722
 11718  		{
 11719  			yyVAL.str = ""
 11720  		}
 11721  	case 713:
 11722  		yyDollar = yyS[yypt-1 : yypt+1]
 11723  //line sql.y:3726
 11724  		{
 11725  			yyVAL.str = SQLNoCacheStr
 11726  		}
 11727  	case 714:
 11728  		yyDollar = yyS[yypt-1 : yypt+1]
 11729  //line sql.y:3730
 11730  		{
 11731  			yyVAL.str = SQLCacheStr
 11732  		}
 11733  	case 715:
 11734  		yyDollar = yyS[yypt-0 : yypt+1]
 11735  		var yyLOCAL bool
 11736  //line sql.y:3735
 11737  		{
 11738  			yyLOCAL = false
 11739  		}
 11740  		yyVAL.union = yyLOCAL
 11741  	case 716:
 11742  		yyDollar = yyS[yypt-1 : yypt+1]
 11743  		var yyLOCAL bool
 11744  //line sql.y:3739
 11745  		{
 11746  			yyLOCAL = true
 11747  		}
 11748  		yyVAL.union = yyLOCAL
 11749  	case 717:
 11750  		yyDollar = yyS[yypt-1 : yypt+1]
 11751  		var yyLOCAL bool
 11752  //line sql.y:3743
 11753  		{
 11754  			yyLOCAL = true
 11755  		}
 11756  		yyVAL.union = yyLOCAL
 11757  	case 718:
 11758  		yyDollar = yyS[yypt-0 : yypt+1]
 11759  		var yyLOCAL SelectExprs
 11760  //line sql.y:3748
 11761  		{
 11762  			yyLOCAL = nil
 11763  		}
 11764  		yyVAL.union = yyLOCAL
 11765  	case 719:
 11766  		yyDollar = yyS[yypt-1 : yypt+1]
 11767  		var yyLOCAL SelectExprs
 11768  //line sql.y:3752
 11769  		{
 11770  			yyLOCAL = yyDollar[1].selectExprsUnion()
 11771  		}
 11772  		yyVAL.union = yyLOCAL
 11773  	case 720:
 11774  		yyDollar = yyS[yypt-0 : yypt+1]
 11775  //line sql.y:3757
 11776  		{
 11777  			yyVAL.strs = nil
 11778  		}
 11779  	case 721:
 11780  		yyDollar = yyS[yypt-1 : yypt+1]
 11781  //line sql.y:3761
 11782  		{
 11783  			yyVAL.strs = []string{yyDollar[1].str}
 11784  		}
 11785  	case 722:
 11786  		yyDollar = yyS[yypt-2 : yypt+1]
 11787  //line sql.y:3765
 11788  		{ // TODO: This is a hack since I couldn't get it to work in a nicer way. I got 'conflicts: 8 shift/reduce'
 11789  			yyVAL.strs = []string{yyDollar[1].str, yyDollar[2].str}
 11790  		}
 11791  	case 723:
 11792  		yyDollar = yyS[yypt-3 : yypt+1]
 11793  //line sql.y:3769
 11794  		{
 11795  			yyVAL.strs = []string{yyDollar[1].str, yyDollar[2].str, yyDollar[3].str}
 11796  		}
 11797  	case 724:
 11798  		yyDollar = yyS[yypt-4 : yypt+1]
 11799  //line sql.y:3773
 11800  		{
 11801  			yyVAL.strs = []string{yyDollar[1].str, yyDollar[2].str, yyDollar[3].str, yyDollar[4].str}
 11802  		}
 11803  	case 725:
 11804  		yyDollar = yyS[yypt-1 : yypt+1]
 11805  //line sql.y:3779
 11806  		{
 11807  			yyVAL.str = SQLNoCacheStr
 11808  		}
 11809  	case 726:
 11810  		yyDollar = yyS[yypt-1 : yypt+1]
 11811  //line sql.y:3783
 11812  		{
 11813  			yyVAL.str = SQLCacheStr
 11814  		}
 11815  	case 727:
 11816  		yyDollar = yyS[yypt-1 : yypt+1]
 11817  //line sql.y:3787
 11818  		{
 11819  			yyVAL.str = DistinctStr
 11820  		}
 11821  	case 728:
 11822  		yyDollar = yyS[yypt-1 : yypt+1]
 11823  //line sql.y:3791
 11824  		{
 11825  			yyVAL.str = DistinctStr
 11826  		}
 11827  	case 729:
 11828  		yyDollar = yyS[yypt-1 : yypt+1]
 11829  //line sql.y:3795
 11830  		{
 11831  			yyVAL.str = StraightJoinHint
 11832  		}
 11833  	case 730:
 11834  		yyDollar = yyS[yypt-1 : yypt+1]
 11835  //line sql.y:3799
 11836  		{
 11837  			yyVAL.str = SQLCalcFoundRowsStr
 11838  		}
 11839  	case 731:
 11840  		yyDollar = yyS[yypt-1 : yypt+1]
 11841  //line sql.y:3803
 11842  		{
 11843  			yyVAL.str = AllStr // These are not picked up by NewSelect, and so ALL will be dropped. But this is OK, since it's redundant anyway
 11844  		}
 11845  	case 732:
 11846  		yyDollar = yyS[yypt-1 : yypt+1]
 11847  		var yyLOCAL SelectExprs
 11848  //line sql.y:3809
 11849  		{
 11850  			yyLOCAL = SelectExprs{yyDollar[1].selectExprUnion()}
 11851  		}
 11852  		yyVAL.union = yyLOCAL
 11853  	case 733:
 11854  		yyDollar = yyS[yypt-3 : yypt+1]
 11855  //line sql.y:3813
 11856  		{
 11857  			yySLICE := (*SelectExprs)(yyIaddr(yyVAL.union))
 11858  			*yySLICE = append(*yySLICE, yyDollar[3].selectExprUnion())
 11859  		}
 11860  	case 734:
 11861  		yyDollar = yyS[yypt-1 : yypt+1]
 11862  		var yyLOCAL SelectExpr
 11863  //line sql.y:3819
 11864  		{
 11865  			yyLOCAL = &StarExpr{}
 11866  		}
 11867  		yyVAL.union = yyLOCAL
 11868  	case 735:
 11869  		yyDollar = yyS[yypt-2 : yypt+1]
 11870  		var yyLOCAL SelectExpr
 11871  //line sql.y:3823
 11872  		{
 11873  			yyLOCAL = &AliasedExpr{Expr: yyDollar[1].exprUnion(), As: yyDollar[2].colIdent}
 11874  		}
 11875  		yyVAL.union = yyLOCAL
 11876  	case 736:
 11877  		yyDollar = yyS[yypt-3 : yypt+1]
 11878  		var yyLOCAL SelectExpr
 11879  //line sql.y:3827
 11880  		{
 11881  			yyLOCAL = &StarExpr{TableName: TableName{Name: yyDollar[1].tableIdent}}
 11882  		}
 11883  		yyVAL.union = yyLOCAL
 11884  	case 737:
 11885  		yyDollar = yyS[yypt-5 : yypt+1]
 11886  		var yyLOCAL SelectExpr
 11887  //line sql.y:3831
 11888  		{
 11889  			yyLOCAL = &StarExpr{TableName: TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent}}
 11890  		}
 11891  		yyVAL.union = yyLOCAL
 11892  	case 738:
 11893  		yyDollar = yyS[yypt-0 : yypt+1]
 11894  //line sql.y:3836
 11895  		{
 11896  			yyVAL.colIdent = ColIdent{}
 11897  		}
 11898  	case 739:
 11899  		yyDollar = yyS[yypt-1 : yypt+1]
 11900  //line sql.y:3840
 11901  		{
 11902  			yyVAL.colIdent = yyDollar[1].colIdent
 11903  		}
 11904  	case 740:
 11905  		yyDollar = yyS[yypt-2 : yypt+1]
 11906  //line sql.y:3844
 11907  		{
 11908  			yyVAL.colIdent = yyDollar[2].colIdent
 11909  		}
 11910  	case 742:
 11911  		yyDollar = yyS[yypt-1 : yypt+1]
 11912  //line sql.y:3851
 11913  		{
 11914  			yyVAL.colIdent = NewColIdent(string(yyDollar[1].str))
 11915  		}
 11916  	case 743:
 11917  		yyDollar = yyS[yypt-0 : yypt+1]
 11918  		var yyLOCAL TableExprs
 11919  //line sql.y:3856
 11920  		{
 11921  			yyLOCAL = TableExprs{&AliasedTableExpr{Expr: TableName{Name: NewTableIdent("dual")}}}
 11922  		}
 11923  		yyVAL.union = yyLOCAL
 11924  	case 744:
 11925  		yyDollar = yyS[yypt-1 : yypt+1]
 11926  		var yyLOCAL TableExprs
 11927  //line sql.y:3860
 11928  		{
 11929  			yyLOCAL = yyDollar[1].tableExprsUnion()
 11930  		}
 11931  		yyVAL.union = yyLOCAL
 11932  	case 745:
 11933  		yyDollar = yyS[yypt-2 : yypt+1]
 11934  		var yyLOCAL TableExprs
 11935  //line sql.y:3866
 11936  		{
 11937  			yyLOCAL = yyDollar[2].tableExprsUnion()
 11938  		}
 11939  		yyVAL.union = yyLOCAL
 11940  	case 746:
 11941  		yyDollar = yyS[yypt-1 : yypt+1]
 11942  		var yyLOCAL TableExprs
 11943  //line sql.y:3872
 11944  		{
 11945  			yyLOCAL = TableExprs{yyDollar[1].tableExprUnion()}
 11946  		}
 11947  		yyVAL.union = yyLOCAL
 11948  	case 747:
 11949  		yyDollar = yyS[yypt-3 : yypt+1]
 11950  //line sql.y:3876
 11951  		{
 11952  			yySLICE := (*TableExprs)(yyIaddr(yyVAL.union))
 11953  			*yySLICE = append(*yySLICE, yyDollar[3].tableExprUnion())
 11954  		}
 11955  	case 750:
 11956  		yyDollar = yyS[yypt-1 : yypt+1]
 11957  		var yyLOCAL TableExpr
 11958  //line sql.y:3886
 11959  		{
 11960  			yyLOCAL = yyDollar[1].aliasedTableNameUnion()
 11961  		}
 11962  		yyVAL.union = yyLOCAL
 11963  	case 751:
 11964  		yyDollar = yyS[yypt-4 : yypt+1]
 11965  		var yyLOCAL TableExpr
 11966  //line sql.y:3890
 11967  		{
 11968  			yyLOCAL = &AliasedTableExpr{Expr: yyDollar[1].derivedTableUnion(), As: yyDollar[3].tableIdent, Columns: yyDollar[4].columnsUnion()}
 11969  		}
 11970  		yyVAL.union = yyLOCAL
 11971  	case 752:
 11972  		yyDollar = yyS[yypt-3 : yypt+1]
 11973  		var yyLOCAL TableExpr
 11974  //line sql.y:3894
 11975  		{
 11976  			yyLOCAL = &ParenTableExpr{Exprs: yyDollar[2].tableExprsUnion()}
 11977  		}
 11978  		yyVAL.union = yyLOCAL
 11979  	case 753:
 11980  		yyDollar = yyS[yypt-3 : yypt+1]
 11981  		var yyLOCAL *DerivedTable
 11982  //line sql.y:3900
 11983  		{
 11984  			yyLOCAL = &DerivedTable{yyDollar[2].selStmtUnion()}
 11985  		}
 11986  		yyVAL.union = yyLOCAL
 11987  	case 754:
 11988  		yyDollar = yyS[yypt-3 : yypt+1]
 11989  		var yyLOCAL *AliasedTableExpr
 11990  //line sql.y:3906
 11991  		{
 11992  			yyLOCAL = &AliasedTableExpr{Expr: yyDollar[1].tableName, As: yyDollar[2].tableIdent, Hints: yyDollar[3].indexHintsUnion()}
 11993  		}
 11994  		yyVAL.union = yyLOCAL
 11995  	case 755:
 11996  		yyDollar = yyS[yypt-7 : yypt+1]
 11997  		var yyLOCAL *AliasedTableExpr
 11998  //line sql.y:3910
 11999  		{
 12000  			yyLOCAL = &AliasedTableExpr{Expr: yyDollar[1].tableName, Partitions: yyDollar[4].partitionsUnion(), As: yyDollar[6].tableIdent, Hints: yyDollar[7].indexHintsUnion()}
 12001  		}
 12002  		yyVAL.union = yyLOCAL
 12003  	case 756:
 12004  		yyDollar = yyS[yypt-0 : yypt+1]
 12005  		var yyLOCAL Columns
 12006  //line sql.y:3915
 12007  		{
 12008  			yyLOCAL = nil
 12009  		}
 12010  		yyVAL.union = yyLOCAL
 12011  	case 757:
 12012  		yyDollar = yyS[yypt-3 : yypt+1]
 12013  		var yyLOCAL Columns
 12014  //line sql.y:3919
 12015  		{
 12016  			yyLOCAL = yyDollar[2].columnsUnion()
 12017  		}
 12018  		yyVAL.union = yyLOCAL
 12019  	case 758:
 12020  		yyDollar = yyS[yypt-1 : yypt+1]
 12021  		var yyLOCAL Columns
 12022  //line sql.y:3925
 12023  		{
 12024  			yyLOCAL = Columns{yyDollar[1].colIdent}
 12025  		}
 12026  		yyVAL.union = yyLOCAL
 12027  	case 759:
 12028  		yyDollar = yyS[yypt-3 : yypt+1]
 12029  //line sql.y:3929
 12030  		{
 12031  			yySLICE := (*Columns)(yyIaddr(yyVAL.union))
 12032  			*yySLICE = append(*yySLICE, yyDollar[3].colIdent)
 12033  		}
 12034  	case 760:
 12035  		yyDollar = yyS[yypt-1 : yypt+1]
 12036  		var yyLOCAL Columns
 12037  //line sql.y:3935
 12038  		{
 12039  			yyLOCAL = Columns{yyDollar[1].colIdent}
 12040  		}
 12041  		yyVAL.union = yyLOCAL
 12042  	case 761:
 12043  		yyDollar = yyS[yypt-1 : yypt+1]
 12044  		var yyLOCAL Columns
 12045  //line sql.y:3939
 12046  		{
 12047  			yyLOCAL = Columns{NewColIdent(string(yyDollar[1].str))}
 12048  		}
 12049  		yyVAL.union = yyLOCAL
 12050  	case 762:
 12051  		yyDollar = yyS[yypt-3 : yypt+1]
 12052  //line sql.y:3943
 12053  		{
 12054  			yySLICE := (*Columns)(yyIaddr(yyVAL.union))
 12055  			*yySLICE = append(*yySLICE, yyDollar[3].colIdent)
 12056  		}
 12057  	case 763:
 12058  		yyDollar = yyS[yypt-3 : yypt+1]
 12059  //line sql.y:3947
 12060  		{
 12061  			yySLICE := (*Columns)(yyIaddr(yyVAL.union))
 12062  			*yySLICE = append(*yySLICE, NewColIdent(string(yyDollar[3].str)))
 12063  		}
 12064  	case 764:
 12065  		yyDollar = yyS[yypt-1 : yypt+1]
 12066  		var yyLOCAL Partitions
 12067  //line sql.y:3953
 12068  		{
 12069  			yyLOCAL = Partitions{yyDollar[1].colIdent}
 12070  		}
 12071  		yyVAL.union = yyLOCAL
 12072  	case 765:
 12073  		yyDollar = yyS[yypt-3 : yypt+1]
 12074  //line sql.y:3957
 12075  		{
 12076  			yySLICE := (*Partitions)(yyIaddr(yyVAL.union))
 12077  			*yySLICE = append(*yySLICE, yyDollar[3].colIdent)
 12078  		}
 12079  	case 766:
 12080  		yyDollar = yyS[yypt-4 : yypt+1]
 12081  		var yyLOCAL TableExpr
 12082  //line sql.y:3970
 12083  		{
 12084  			yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion(), Condition: yyDollar[4].joinCondition}
 12085  		}
 12086  		yyVAL.union = yyLOCAL
 12087  	case 767:
 12088  		yyDollar = yyS[yypt-4 : yypt+1]
 12089  		var yyLOCAL TableExpr
 12090  //line sql.y:3974
 12091  		{
 12092  			yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion(), Condition: yyDollar[4].joinCondition}
 12093  		}
 12094  		yyVAL.union = yyLOCAL
 12095  	case 768:
 12096  		yyDollar = yyS[yypt-4 : yypt+1]
 12097  		var yyLOCAL TableExpr
 12098  //line sql.y:3978
 12099  		{
 12100  			yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion(), Condition: yyDollar[4].joinCondition}
 12101  		}
 12102  		yyVAL.union = yyLOCAL
 12103  	case 769:
 12104  		yyDollar = yyS[yypt-3 : yypt+1]
 12105  		var yyLOCAL TableExpr
 12106  //line sql.y:3982
 12107  		{
 12108  			yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion()}
 12109  		}
 12110  		yyVAL.union = yyLOCAL
 12111  	case 770:
 12112  		yyDollar = yyS[yypt-2 : yypt+1]
 12113  //line sql.y:3988
 12114  		{
 12115  			yyVAL.joinCondition = &JoinCondition{On: yyDollar[2].exprUnion()}
 12116  		}
 12117  	case 771:
 12118  		yyDollar = yyS[yypt-4 : yypt+1]
 12119  //line sql.y:3990
 12120  		{
 12121  			yyVAL.joinCondition = &JoinCondition{Using: yyDollar[3].columnsUnion()}
 12122  		}
 12123  	case 772:
 12124  		yyDollar = yyS[yypt-0 : yypt+1]
 12125  //line sql.y:3994
 12126  		{
 12127  			yyVAL.joinCondition = &JoinCondition{}
 12128  		}
 12129  	case 773:
 12130  		yyDollar = yyS[yypt-1 : yypt+1]
 12131  //line sql.y:3996
 12132  		{
 12133  			yyVAL.joinCondition = yyDollar[1].joinCondition
 12134  		}
 12135  	case 774:
 12136  		yyDollar = yyS[yypt-0 : yypt+1]
 12137  //line sql.y:4000
 12138  		{
 12139  			yyVAL.joinCondition = &JoinCondition{}
 12140  		}
 12141  	case 775:
 12142  		yyDollar = yyS[yypt-2 : yypt+1]
 12143  //line sql.y:4002
 12144  		{
 12145  			yyVAL.joinCondition = &JoinCondition{On: yyDollar[2].exprUnion()}
 12146  		}
 12147  	case 776:
 12148  		yyDollar = yyS[yypt-0 : yypt+1]
 12149  //line sql.y:4005
 12150  		{
 12151  			yyVAL.empty = struct{}{}
 12152  		}
 12153  	case 777:
 12154  		yyDollar = yyS[yypt-1 : yypt+1]
 12155  //line sql.y:4007
 12156  		{
 12157  			yyVAL.empty = struct{}{}
 12158  		}
 12159  	case 778:
 12160  		yyDollar = yyS[yypt-0 : yypt+1]
 12161  //line sql.y:4010
 12162  		{
 12163  			yyVAL.tableIdent = NewTableIdent("")
 12164  		}
 12165  	case 779:
 12166  		yyDollar = yyS[yypt-1 : yypt+1]
 12167  //line sql.y:4014
 12168  		{
 12169  			yyVAL.tableIdent = yyDollar[1].tableIdent
 12170  		}
 12171  	case 780:
 12172  		yyDollar = yyS[yypt-2 : yypt+1]
 12173  //line sql.y:4018
 12174  		{
 12175  			yyVAL.tableIdent = yyDollar[2].tableIdent
 12176  		}
 12177  	case 782:
 12178  		yyDollar = yyS[yypt-1 : yypt+1]
 12179  //line sql.y:4025
 12180  		{
 12181  			yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].str))
 12182  		}
 12183  	case 783:
 12184  		yyDollar = yyS[yypt-1 : yypt+1]
 12185  		var yyLOCAL JoinType
 12186  //line sql.y:4031
 12187  		{
 12188  			yyLOCAL = NormalJoinType
 12189  		}
 12190  		yyVAL.union = yyLOCAL
 12191  	case 784:
 12192  		yyDollar = yyS[yypt-2 : yypt+1]
 12193  		var yyLOCAL JoinType
 12194  //line sql.y:4035
 12195  		{
 12196  			yyLOCAL = NormalJoinType
 12197  		}
 12198  		yyVAL.union = yyLOCAL
 12199  	case 785:
 12200  		yyDollar = yyS[yypt-2 : yypt+1]
 12201  		var yyLOCAL JoinType
 12202  //line sql.y:4039
 12203  		{
 12204  			yyLOCAL = NormalJoinType
 12205  		}
 12206  		yyVAL.union = yyLOCAL
 12207  	case 786:
 12208  		yyDollar = yyS[yypt-1 : yypt+1]
 12209  		var yyLOCAL JoinType
 12210  //line sql.y:4045
 12211  		{
 12212  			yyLOCAL = StraightJoinType
 12213  		}
 12214  		yyVAL.union = yyLOCAL
 12215  	case 787:
 12216  		yyDollar = yyS[yypt-2 : yypt+1]
 12217  		var yyLOCAL JoinType
 12218  //line sql.y:4051
 12219  		{
 12220  			yyLOCAL = LeftJoinType
 12221  		}
 12222  		yyVAL.union = yyLOCAL
 12223  	case 788:
 12224  		yyDollar = yyS[yypt-3 : yypt+1]
 12225  		var yyLOCAL JoinType
 12226  //line sql.y:4055
 12227  		{
 12228  			yyLOCAL = LeftJoinType
 12229  		}
 12230  		yyVAL.union = yyLOCAL
 12231  	case 789:
 12232  		yyDollar = yyS[yypt-2 : yypt+1]
 12233  		var yyLOCAL JoinType
 12234  //line sql.y:4059
 12235  		{
 12236  			yyLOCAL = RightJoinType
 12237  		}
 12238  		yyVAL.union = yyLOCAL
 12239  	case 790:
 12240  		yyDollar = yyS[yypt-3 : yypt+1]
 12241  		var yyLOCAL JoinType
 12242  //line sql.y:4063
 12243  		{
 12244  			yyLOCAL = RightJoinType
 12245  		}
 12246  		yyVAL.union = yyLOCAL
 12247  	case 791:
 12248  		yyDollar = yyS[yypt-2 : yypt+1]
 12249  		var yyLOCAL JoinType
 12250  //line sql.y:4069
 12251  		{
 12252  			yyLOCAL = NaturalJoinType
 12253  		}
 12254  		yyVAL.union = yyLOCAL
 12255  	case 792:
 12256  		yyDollar = yyS[yypt-2 : yypt+1]
 12257  		var yyLOCAL JoinType
 12258  //line sql.y:4073
 12259  		{
 12260  			if yyDollar[2].joinTypeUnion() == LeftJoinType {
 12261  				yyLOCAL = NaturalLeftJoinType
 12262  			} else {
 12263  				yyLOCAL = NaturalRightJoinType
 12264  			}
 12265  		}
 12266  		yyVAL.union = yyLOCAL
 12267  	case 793:
 12268  		yyDollar = yyS[yypt-2 : yypt+1]
 12269  //line sql.y:4083
 12270  		{
 12271  			yyVAL.tableName = yyDollar[2].tableName
 12272  		}
 12273  	case 794:
 12274  		yyDollar = yyS[yypt-1 : yypt+1]
 12275  //line sql.y:4087
 12276  		{
 12277  			yyVAL.tableName = yyDollar[1].tableName
 12278  		}
 12279  	case 795:
 12280  		yyDollar = yyS[yypt-1 : yypt+1]
 12281  //line sql.y:4093
 12282  		{
 12283  			yyVAL.tableName = TableName{Name: yyDollar[1].tableIdent}
 12284  		}
 12285  	case 796:
 12286  		yyDollar = yyS[yypt-3 : yypt+1]
 12287  //line sql.y:4097
 12288  		{
 12289  			yyVAL.tableName = TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent}
 12290  		}
 12291  	case 797:
 12292  		yyDollar = yyS[yypt-3 : yypt+1]
 12293  //line sql.y:4103
 12294  		{
 12295  			yyVAL.tableName = TableName{Name: yyDollar[1].tableIdent}
 12296  		}
 12297  	case 798:
 12298  		yyDollar = yyS[yypt-0 : yypt+1]
 12299  		var yyLOCAL *IndexHints
 12300  //line sql.y:4108
 12301  		{
 12302  			yyLOCAL = nil
 12303  		}
 12304  		yyVAL.union = yyLOCAL
 12305  	case 799:
 12306  		yyDollar = yyS[yypt-5 : yypt+1]
 12307  		var yyLOCAL *IndexHints
 12308  //line sql.y:4112
 12309  		{
 12310  			yyLOCAL = &IndexHints{Type: UseOp, Indexes: yyDollar[4].columnsUnion()}
 12311  		}
 12312  		yyVAL.union = yyLOCAL
 12313  	case 800:
 12314  		yyDollar = yyS[yypt-4 : yypt+1]
 12315  		var yyLOCAL *IndexHints
 12316  //line sql.y:4116
 12317  		{
 12318  			yyLOCAL = &IndexHints{Type: UseOp}
 12319  		}
 12320  		yyVAL.union = yyLOCAL
 12321  	case 801:
 12322  		yyDollar = yyS[yypt-5 : yypt+1]
 12323  		var yyLOCAL *IndexHints
 12324  //line sql.y:4120
 12325  		{
 12326  			yyLOCAL = &IndexHints{Type: IgnoreOp, Indexes: yyDollar[4].columnsUnion()}
 12327  		}
 12328  		yyVAL.union = yyLOCAL
 12329  	case 802:
 12330  		yyDollar = yyS[yypt-5 : yypt+1]
 12331  		var yyLOCAL *IndexHints
 12332  //line sql.y:4124
 12333  		{
 12334  			yyLOCAL = &IndexHints{Type: ForceOp, Indexes: yyDollar[4].columnsUnion()}
 12335  		}
 12336  		yyVAL.union = yyLOCAL
 12337  	case 803:
 12338  		yyDollar = yyS[yypt-0 : yypt+1]
 12339  		var yyLOCAL Expr
 12340  //line sql.y:4129
 12341  		{
 12342  			yyLOCAL = nil
 12343  		}
 12344  		yyVAL.union = yyLOCAL
 12345  	case 804:
 12346  		yyDollar = yyS[yypt-2 : yypt+1]
 12347  		var yyLOCAL Expr
 12348  //line sql.y:4133
 12349  		{
 12350  			yyLOCAL = yyDollar[2].exprUnion()
 12351  		}
 12352  		yyVAL.union = yyLOCAL
 12353  	case 805:
 12354  		yyDollar = yyS[yypt-3 : yypt+1]
 12355  		var yyLOCAL Expr
 12356  //line sql.y:4140
 12357  		{
 12358  			yyLOCAL = &OrExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].exprUnion()}
 12359  		}
 12360  		yyVAL.union = yyLOCAL
 12361  	case 806:
 12362  		yyDollar = yyS[yypt-3 : yypt+1]
 12363  		var yyLOCAL Expr
 12364  //line sql.y:4144
 12365  		{
 12366  			yyLOCAL = &XorExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].exprUnion()}
 12367  		}
 12368  		yyVAL.union = yyLOCAL
 12369  	case 807:
 12370  		yyDollar = yyS[yypt-3 : yypt+1]
 12371  		var yyLOCAL Expr
 12372  //line sql.y:4148
 12373  		{
 12374  			yyLOCAL = &AndExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].exprUnion()}
 12375  		}
 12376  		yyVAL.union = yyLOCAL
 12377  	case 808:
 12378  		yyDollar = yyS[yypt-2 : yypt+1]
 12379  		var yyLOCAL Expr
 12380  //line sql.y:4152
 12381  		{
 12382  			yyLOCAL = &NotExpr{Expr: yyDollar[2].exprUnion()}
 12383  		}
 12384  		yyVAL.union = yyLOCAL
 12385  	case 809:
 12386  		yyDollar = yyS[yypt-3 : yypt+1]
 12387  		var yyLOCAL Expr
 12388  //line sql.y:4156
 12389  		{
 12390  			yyLOCAL = &IsExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].isExprOperatorUnion()}
 12391  		}
 12392  		yyVAL.union = yyLOCAL
 12393  	case 810:
 12394  		yyDollar = yyS[yypt-1 : yypt+1]
 12395  		var yyLOCAL Expr
 12396  //line sql.y:4160
 12397  		{
 12398  			yyLOCAL = yyDollar[1].exprUnion()
 12399  		}
 12400  		yyVAL.union = yyLOCAL
 12401  	case 811:
 12402  		yyDollar = yyS[yypt-3 : yypt+1]
 12403  		var yyLOCAL Expr
 12404  //line sql.y:4167
 12405  		{
 12406  			yyLOCAL = &IsExpr{Left: yyDollar[1].exprUnion(), Right: IsNullOp}
 12407  		}
 12408  		yyVAL.union = yyLOCAL
 12409  	case 812:
 12410  		yyDollar = yyS[yypt-4 : yypt+1]
 12411  		var yyLOCAL Expr
 12412  //line sql.y:4171
 12413  		{
 12414  			yyLOCAL = &IsExpr{Left: yyDollar[1].exprUnion(), Right: IsNotNullOp}
 12415  		}
 12416  		yyVAL.union = yyLOCAL
 12417  	case 813:
 12418  		yyDollar = yyS[yypt-3 : yypt+1]
 12419  		var yyLOCAL Expr
 12420  //line sql.y:4175
 12421  		{
 12422  			yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: yyDollar[2].comparisonExprOperatorUnion(), Right: yyDollar[3].exprUnion()}
 12423  		}
 12424  		yyVAL.union = yyLOCAL
 12425  	case 814:
 12426  		yyDollar = yyS[yypt-1 : yypt+1]
 12427  		var yyLOCAL Expr
 12428  //line sql.y:4179
 12429  		{
 12430  			yyLOCAL = yyDollar[1].exprUnion()
 12431  		}
 12432  		yyVAL.union = yyLOCAL
 12433  	case 815:
 12434  		yyDollar = yyS[yypt-3 : yypt+1]
 12435  		var yyLOCAL Expr
 12436  //line sql.y:4185
 12437  		{
 12438  			yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: InOp, Right: yyDollar[3].colTupleUnion()}
 12439  		}
 12440  		yyVAL.union = yyLOCAL
 12441  	case 816:
 12442  		yyDollar = yyS[yypt-4 : yypt+1]
 12443  		var yyLOCAL Expr
 12444  //line sql.y:4189
 12445  		{
 12446  			yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotInOp, Right: yyDollar[4].colTupleUnion()}
 12447  		}
 12448  		yyVAL.union = yyLOCAL
 12449  	case 817:
 12450  		yyDollar = yyS[yypt-5 : yypt+1]
 12451  		var yyLOCAL Expr
 12452  //line sql.y:4193
 12453  		{
 12454  			yyLOCAL = &BetweenExpr{Left: yyDollar[1].exprUnion(), IsBetween: true, From: yyDollar[3].exprUnion(), To: yyDollar[5].exprUnion()}
 12455  		}
 12456  		yyVAL.union = yyLOCAL
 12457  	case 818:
 12458  		yyDollar = yyS[yypt-6 : yypt+1]
 12459  		var yyLOCAL Expr
 12460  //line sql.y:4197
 12461  		{
 12462  			yyLOCAL = &BetweenExpr{Left: yyDollar[1].exprUnion(), IsBetween: false, From: yyDollar[4].exprUnion(), To: yyDollar[6].exprUnion()}
 12463  		}
 12464  		yyVAL.union = yyLOCAL
 12465  	case 819:
 12466  		yyDollar = yyS[yypt-3 : yypt+1]
 12467  		var yyLOCAL Expr
 12468  //line sql.y:4201
 12469  		{
 12470  			yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: LikeOp, Right: yyDollar[3].exprUnion()}
 12471  		}
 12472  		yyVAL.union = yyLOCAL
 12473  	case 820:
 12474  		yyDollar = yyS[yypt-4 : yypt+1]
 12475  		var yyLOCAL Expr
 12476  //line sql.y:4205
 12477  		{
 12478  			yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotLikeOp, Right: yyDollar[4].exprUnion()}
 12479  		}
 12480  		yyVAL.union = yyLOCAL
 12481  	case 821:
 12482  		yyDollar = yyS[yypt-5 : yypt+1]
 12483  		var yyLOCAL Expr
 12484  //line sql.y:4209
 12485  		{
 12486  			yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: LikeOp, Right: yyDollar[3].exprUnion(), Escape: yyDollar[5].exprUnion()}
 12487  		}
 12488  		yyVAL.union = yyLOCAL
 12489  	case 822:
 12490  		yyDollar = yyS[yypt-6 : yypt+1]
 12491  		var yyLOCAL Expr
 12492  //line sql.y:4213
 12493  		{
 12494  			yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotLikeOp, Right: yyDollar[4].exprUnion(), Escape: yyDollar[6].exprUnion()}
 12495  		}
 12496  		yyVAL.union = yyLOCAL
 12497  	case 823:
 12498  		yyDollar = yyS[yypt-3 : yypt+1]
 12499  		var yyLOCAL Expr
 12500  //line sql.y:4217
 12501  		{
 12502  			yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: RegexpOp, Right: yyDollar[3].exprUnion()}
 12503  		}
 12504  		yyVAL.union = yyLOCAL
 12505  	case 824:
 12506  		yyDollar = yyS[yypt-4 : yypt+1]
 12507  		var yyLOCAL Expr
 12508  //line sql.y:4221
 12509  		{
 12510  			yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotRegexpOp, Right: yyDollar[4].exprUnion()}
 12511  		}
 12512  		yyVAL.union = yyLOCAL
 12513  	case 825:
 12514  		yyDollar = yyS[yypt-1 : yypt+1]
 12515  		var yyLOCAL Expr
 12516  //line sql.y:4225
 12517  		{
 12518  			yyLOCAL = yyDollar[1].exprUnion()
 12519  		}
 12520  		yyVAL.union = yyLOCAL
 12521  	case 826:
 12522  		yyDollar = yyS[yypt-3 : yypt+1]
 12523  		var yyLOCAL Expr
 12524  //line sql.y:4231
 12525  		{
 12526  			yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: BitOrOp, Right: yyDollar[3].exprUnion()}
 12527  		}
 12528  		yyVAL.union = yyLOCAL
 12529  	case 827:
 12530  		yyDollar = yyS[yypt-3 : yypt+1]
 12531  		var yyLOCAL Expr
 12532  //line sql.y:4235
 12533  		{
 12534  			yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: BitAndOp, Right: yyDollar[3].exprUnion()}
 12535  		}
 12536  		yyVAL.union = yyLOCAL
 12537  	case 828:
 12538  		yyDollar = yyS[yypt-3 : yypt+1]
 12539  		var yyLOCAL Expr
 12540  //line sql.y:4239
 12541  		{
 12542  			yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ShiftLeftOp, Right: yyDollar[3].exprUnion()}
 12543  		}
 12544  		yyVAL.union = yyLOCAL
 12545  	case 829:
 12546  		yyDollar = yyS[yypt-3 : yypt+1]
 12547  		var yyLOCAL Expr
 12548  //line sql.y:4243
 12549  		{
 12550  			yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ShiftRightOp, Right: yyDollar[3].exprUnion()}
 12551  		}
 12552  		yyVAL.union = yyLOCAL
 12553  	case 830:
 12554  		yyDollar = yyS[yypt-3 : yypt+1]
 12555  		var yyLOCAL Expr
 12556  //line sql.y:4247
 12557  		{
 12558  			yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: PlusOp, Right: yyDollar[3].exprUnion()}
 12559  		}
 12560  		yyVAL.union = yyLOCAL
 12561  	case 831:
 12562  		yyDollar = yyS[yypt-3 : yypt+1]
 12563  		var yyLOCAL Expr
 12564  //line sql.y:4251
 12565  		{
 12566  			yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: MinusOp, Right: yyDollar[3].exprUnion()}
 12567  		}
 12568  		yyVAL.union = yyLOCAL
 12569  	case 832:
 12570  		yyDollar = yyS[yypt-3 : yypt+1]
 12571  		var yyLOCAL Expr
 12572  //line sql.y:4255
 12573  		{
 12574  			yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: MultOp, Right: yyDollar[3].exprUnion()}
 12575  		}
 12576  		yyVAL.union = yyLOCAL
 12577  	case 833:
 12578  		yyDollar = yyS[yypt-3 : yypt+1]
 12579  		var yyLOCAL Expr
 12580  //line sql.y:4259
 12581  		{
 12582  			yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: DivOp, Right: yyDollar[3].exprUnion()}
 12583  		}
 12584  		yyVAL.union = yyLOCAL
 12585  	case 834:
 12586  		yyDollar = yyS[yypt-3 : yypt+1]
 12587  		var yyLOCAL Expr
 12588  //line sql.y:4263
 12589  		{
 12590  			yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ModOp, Right: yyDollar[3].exprUnion()}
 12591  		}
 12592  		yyVAL.union = yyLOCAL
 12593  	case 835:
 12594  		yyDollar = yyS[yypt-3 : yypt+1]
 12595  		var yyLOCAL Expr
 12596  //line sql.y:4267
 12597  		{
 12598  			yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: IntDivOp, Right: yyDollar[3].exprUnion()}
 12599  		}
 12600  		yyVAL.union = yyLOCAL
 12601  	case 836:
 12602  		yyDollar = yyS[yypt-3 : yypt+1]
 12603  		var yyLOCAL Expr
 12604  //line sql.y:4271
 12605  		{
 12606  			yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ModOp, Right: yyDollar[3].exprUnion()}
 12607  		}
 12608  		yyVAL.union = yyLOCAL
 12609  	case 837:
 12610  		yyDollar = yyS[yypt-3 : yypt+1]
 12611  		var yyLOCAL Expr
 12612  //line sql.y:4275
 12613  		{
 12614  			yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: BitXorOp, Right: yyDollar[3].exprUnion()}
 12615  		}
 12616  		yyVAL.union = yyLOCAL
 12617  	case 838:
 12618  		yyDollar = yyS[yypt-1 : yypt+1]
 12619  		var yyLOCAL Expr
 12620  //line sql.y:4279
 12621  		{
 12622  			yyLOCAL = yyDollar[1].exprUnion()
 12623  		}
 12624  		yyVAL.union = yyLOCAL
 12625  	case 839:
 12626  		yyDollar = yyS[yypt-1 : yypt+1]
 12627  		var yyLOCAL Expr
 12628  //line sql.y:4285
 12629  		{
 12630  			yyLOCAL = yyDollar[1].exprUnion()
 12631  		}
 12632  		yyVAL.union = yyLOCAL
 12633  	case 840:
 12634  		yyDollar = yyS[yypt-1 : yypt+1]
 12635  		var yyLOCAL Expr
 12636  //line sql.y:4289
 12637  		{
 12638  			yyLOCAL = yyDollar[1].exprUnion()
 12639  		}
 12640  		yyVAL.union = yyLOCAL
 12641  	case 841:
 12642  		yyDollar = yyS[yypt-1 : yypt+1]
 12643  		var yyLOCAL Expr
 12644  //line sql.y:4293
 12645  		{
 12646  			yyLOCAL = yyDollar[1].exprUnion()
 12647  		}
 12648  		yyVAL.union = yyLOCAL
 12649  	case 842:
 12650  		yyDollar = yyS[yypt-1 : yypt+1]
 12651  		var yyLOCAL Expr
 12652  //line sql.y:4297
 12653  		{
 12654  			yyLOCAL = yyDollar[1].exprUnion()
 12655  		}
 12656  		yyVAL.union = yyLOCAL
 12657  	case 843:
 12658  		yyDollar = yyS[yypt-3 : yypt+1]
 12659  		var yyLOCAL Expr
 12660  //line sql.y:4301
 12661  		{
 12662  			yyLOCAL = &CollateExpr{Expr: yyDollar[1].exprUnion(), Collation: yyDollar[3].str}
 12663  		}
 12664  		yyVAL.union = yyLOCAL
 12665  	case 844:
 12666  		yyDollar = yyS[yypt-1 : yypt+1]
 12667  		var yyLOCAL Expr
 12668  //line sql.y:4305
 12669  		{
 12670  			yyLOCAL = yyDollar[1].exprUnion()
 12671  		}
 12672  		yyVAL.union = yyLOCAL
 12673  	case 845:
 12674  		yyDollar = yyS[yypt-1 : yypt+1]
 12675  		var yyLOCAL Expr
 12676  //line sql.y:4309
 12677  		{
 12678  			yyLOCAL = yyDollar[1].colNameUnion()
 12679  		}
 12680  		yyVAL.union = yyLOCAL
 12681  	case 846:
 12682  		yyDollar = yyS[yypt-2 : yypt+1]
 12683  		var yyLOCAL Expr
 12684  //line sql.y:4313
 12685  		{
 12686  			yyLOCAL = yyDollar[2].exprUnion() // TODO: do we really want to ignore unary '+' before any kind of literals?
 12687  		}
 12688  		yyVAL.union = yyLOCAL
 12689  	case 847:
 12690  		yyDollar = yyS[yypt-2 : yypt+1]
 12691  		var yyLOCAL Expr
 12692  //line sql.y:4317
 12693  		{
 12694  			yyLOCAL = &UnaryExpr{Operator: UMinusOp, Expr: yyDollar[2].exprUnion()}
 12695  		}
 12696  		yyVAL.union = yyLOCAL
 12697  	case 848:
 12698  		yyDollar = yyS[yypt-2 : yypt+1]
 12699  		var yyLOCAL Expr
 12700  //line sql.y:4321
 12701  		{
 12702  			yyLOCAL = &UnaryExpr{Operator: TildaOp, Expr: yyDollar[2].exprUnion()}
 12703  		}
 12704  		yyVAL.union = yyLOCAL
 12705  	case 849:
 12706  		yyDollar = yyS[yypt-2 : yypt+1]
 12707  		var yyLOCAL Expr
 12708  //line sql.y:4325
 12709  		{
 12710  			yyLOCAL = &UnaryExpr{Operator: BangOp, Expr: yyDollar[2].exprUnion()}
 12711  		}
 12712  		yyVAL.union = yyLOCAL
 12713  	case 850:
 12714  		yyDollar = yyS[yypt-1 : yypt+1]
 12715  		var yyLOCAL Expr
 12716  //line sql.y:4329
 12717  		{
 12718  			yyLOCAL = yyDollar[1].subqueryUnion()
 12719  		}
 12720  		yyVAL.union = yyLOCAL
 12721  	case 851:
 12722  		yyDollar = yyS[yypt-1 : yypt+1]
 12723  		var yyLOCAL Expr
 12724  //line sql.y:4333
 12725  		{
 12726  			yyLOCAL = yyDollar[1].exprUnion()
 12727  		}
 12728  		yyVAL.union = yyLOCAL
 12729  	case 852:
 12730  		yyDollar = yyS[yypt-2 : yypt+1]
 12731  		var yyLOCAL Expr
 12732  //line sql.y:4337
 12733  		{
 12734  			yyLOCAL = &ExistsExpr{Subquery: yyDollar[2].subqueryUnion()}
 12735  		}
 12736  		yyVAL.union = yyLOCAL
 12737  	case 853:
 12738  		yyDollar = yyS[yypt-9 : yypt+1]
 12739  		var yyLOCAL Expr
 12740  //line sql.y:4341
 12741  		{
 12742  			yyLOCAL = &MatchExpr{Columns: yyDollar[3].selectExprsUnion(), Expr: yyDollar[7].exprUnion(), Option: yyDollar[8].matchExprOptionUnion()}
 12743  		}
 12744  		yyVAL.union = yyLOCAL
 12745  	case 854:
 12746  		yyDollar = yyS[yypt-6 : yypt+1]
 12747  		var yyLOCAL Expr
 12748  //line sql.y:4345
 12749  		{
 12750  			yyLOCAL = &ConvertExpr{Expr: yyDollar[3].exprUnion(), Type: yyDollar[5].convertTypeUnion()}
 12751  		}
 12752  		yyVAL.union = yyLOCAL
 12753  	case 855:
 12754  		yyDollar = yyS[yypt-6 : yypt+1]
 12755  		var yyLOCAL Expr
 12756  //line sql.y:4349
 12757  		{
 12758  			yyLOCAL = &ConvertExpr{Expr: yyDollar[3].exprUnion(), Type: yyDollar[5].convertTypeUnion()}
 12759  		}
 12760  		yyVAL.union = yyLOCAL
 12761  	case 856:
 12762  		yyDollar = yyS[yypt-6 : yypt+1]
 12763  		var yyLOCAL Expr
 12764  //line sql.y:4353
 12765  		{
 12766  			yyLOCAL = &ConvertUsingExpr{Expr: yyDollar[3].exprUnion(), Type: yyDollar[5].str}
 12767  		}
 12768  		yyVAL.union = yyLOCAL
 12769  	case 857:
 12770  		yyDollar = yyS[yypt-2 : yypt+1]
 12771  		var yyLOCAL Expr
 12772  //line sql.y:4357
 12773  		{
 12774  			yyLOCAL = &UnaryExpr{Operator: BinaryOp, Expr: yyDollar[2].exprUnion()}
 12775  		}
 12776  		yyVAL.union = yyLOCAL
 12777  	case 858:
 12778  		yyDollar = yyS[yypt-2 : yypt+1]
 12779  		var yyLOCAL Expr
 12780  //line sql.y:4361
 12781  		{
 12782  			yyLOCAL = &Default{ColName: yyDollar[2].str}
 12783  		}
 12784  		yyVAL.union = yyLOCAL
 12785  	case 859:
 12786  		yyDollar = yyS[yypt-3 : yypt+1]
 12787  		var yyLOCAL Expr
 12788  //line sql.y:4365
 12789  		{
 12790  			// This rule prevents the usage of INTERVAL
 12791  			// as a function. If support is needed for that,
 12792  			// we'll need to revisit this. The solution
 12793  			// will be non-trivial because of grammar conflicts.
 12794  			yyLOCAL = &IntervalExpr{Expr: yyDollar[2].exprUnion(), Unit: yyDollar[3].colIdent.String()}
 12795  		}
 12796  		yyVAL.union = yyLOCAL
 12797  	case 860:
 12798  		yyDollar = yyS[yypt-3 : yypt+1]
 12799  		var yyLOCAL Expr
 12800  //line sql.y:4373
 12801  		{
 12802  			yyLOCAL = &BinaryExpr{Left: yyDollar[1].colNameUnion(), Operator: JSONExtractOp, Right: yyDollar[3].exprUnion()}
 12803  		}
 12804  		yyVAL.union = yyLOCAL
 12805  	case 861:
 12806  		yyDollar = yyS[yypt-3 : yypt+1]
 12807  		var yyLOCAL Expr
 12808  //line sql.y:4377
 12809  		{
 12810  			yyLOCAL = &BinaryExpr{Left: yyDollar[1].colNameUnion(), Operator: JSONUnquoteExtractOp, Right: yyDollar[3].exprUnion()}
 12811  		}
 12812  		yyVAL.union = yyLOCAL
 12813  	case 862:
 12814  		yyDollar = yyS[yypt-0 : yypt+1]
 12815  //line sql.y:4384
 12816  		{
 12817  			yyVAL.str = ""
 12818  		}
 12819  	case 863:
 12820  		yyDollar = yyS[yypt-3 : yypt+1]
 12821  //line sql.y:4388
 12822  		{
 12823  			yyVAL.str = string(yyDollar[2].colIdent.String())
 12824  		}
 12825  	case 864:
 12826  		yyDollar = yyS[yypt-1 : yypt+1]
 12827  		var yyLOCAL BoolVal
 12828  //line sql.y:4394
 12829  		{
 12830  			yyLOCAL = BoolVal(true)
 12831  		}
 12832  		yyVAL.union = yyLOCAL
 12833  	case 865:
 12834  		yyDollar = yyS[yypt-1 : yypt+1]
 12835  		var yyLOCAL BoolVal
 12836  //line sql.y:4398
 12837  		{
 12838  			yyLOCAL = BoolVal(false)
 12839  		}
 12840  		yyVAL.union = yyLOCAL
 12841  	case 866:
 12842  		yyDollar = yyS[yypt-1 : yypt+1]
 12843  		var yyLOCAL IsExprOperator
 12844  //line sql.y:4405
 12845  		{
 12846  			yyLOCAL = IsTrueOp
 12847  		}
 12848  		yyVAL.union = yyLOCAL
 12849  	case 867:
 12850  		yyDollar = yyS[yypt-2 : yypt+1]
 12851  		var yyLOCAL IsExprOperator
 12852  //line sql.y:4409
 12853  		{
 12854  			yyLOCAL = IsNotTrueOp
 12855  		}
 12856  		yyVAL.union = yyLOCAL
 12857  	case 868:
 12858  		yyDollar = yyS[yypt-1 : yypt+1]
 12859  		var yyLOCAL IsExprOperator
 12860  //line sql.y:4413
 12861  		{
 12862  			yyLOCAL = IsFalseOp
 12863  		}
 12864  		yyVAL.union = yyLOCAL
 12865  	case 869:
 12866  		yyDollar = yyS[yypt-2 : yypt+1]
 12867  		var yyLOCAL IsExprOperator
 12868  //line sql.y:4417
 12869  		{
 12870  			yyLOCAL = IsNotFalseOp
 12871  		}
 12872  		yyVAL.union = yyLOCAL
 12873  	case 870:
 12874  		yyDollar = yyS[yypt-1 : yypt+1]
 12875  		var yyLOCAL ComparisonExprOperator
 12876  //line sql.y:4423
 12877  		{
 12878  			yyLOCAL = EqualOp
 12879  		}
 12880  		yyVAL.union = yyLOCAL
 12881  	case 871:
 12882  		yyDollar = yyS[yypt-1 : yypt+1]
 12883  		var yyLOCAL ComparisonExprOperator
 12884  //line sql.y:4427
 12885  		{
 12886  			yyLOCAL = LessThanOp
 12887  		}
 12888  		yyVAL.union = yyLOCAL
 12889  	case 872:
 12890  		yyDollar = yyS[yypt-1 : yypt+1]
 12891  		var yyLOCAL ComparisonExprOperator
 12892  //line sql.y:4431
 12893  		{
 12894  			yyLOCAL = GreaterThanOp
 12895  		}
 12896  		yyVAL.union = yyLOCAL
 12897  	case 873:
 12898  		yyDollar = yyS[yypt-1 : yypt+1]
 12899  		var yyLOCAL ComparisonExprOperator
 12900  //line sql.y:4435
 12901  		{
 12902  			yyLOCAL = LessEqualOp
 12903  		}
 12904  		yyVAL.union = yyLOCAL
 12905  	case 874:
 12906  		yyDollar = yyS[yypt-1 : yypt+1]
 12907  		var yyLOCAL ComparisonExprOperator
 12908  //line sql.y:4439
 12909  		{
 12910  			yyLOCAL = GreaterEqualOp
 12911  		}
 12912  		yyVAL.union = yyLOCAL
 12913  	case 875:
 12914  		yyDollar = yyS[yypt-1 : yypt+1]
 12915  		var yyLOCAL ComparisonExprOperator
 12916  //line sql.y:4443
 12917  		{
 12918  			yyLOCAL = NotEqualOp
 12919  		}
 12920  		yyVAL.union = yyLOCAL
 12921  	case 876:
 12922  		yyDollar = yyS[yypt-1 : yypt+1]
 12923  		var yyLOCAL ComparisonExprOperator
 12924  //line sql.y:4447
 12925  		{
 12926  			yyLOCAL = NullSafeEqualOp
 12927  		}
 12928  		yyVAL.union = yyLOCAL
 12929  	case 877:
 12930  		yyDollar = yyS[yypt-1 : yypt+1]
 12931  		var yyLOCAL ColTuple
 12932  //line sql.y:4453
 12933  		{
 12934  			yyLOCAL = yyDollar[1].valTupleUnion()
 12935  		}
 12936  		yyVAL.union = yyLOCAL
 12937  	case 878:
 12938  		yyDollar = yyS[yypt-1 : yypt+1]
 12939  		var yyLOCAL ColTuple
 12940  //line sql.y:4457
 12941  		{
 12942  			yyLOCAL = yyDollar[1].subqueryUnion()
 12943  		}
 12944  		yyVAL.union = yyLOCAL
 12945  	case 879:
 12946  		yyDollar = yyS[yypt-1 : yypt+1]
 12947  		var yyLOCAL ColTuple
 12948  //line sql.y:4461
 12949  		{
 12950  			yyLOCAL = ListArg(yyDollar[1].str[2:])
 12951  			bindVariable(yylex, yyDollar[1].str[2:])
 12952  		}
 12953  		yyVAL.union = yyLOCAL
 12954  	case 880:
 12955  		yyDollar = yyS[yypt-1 : yypt+1]
 12956  		var yyLOCAL *Subquery
 12957  //line sql.y:4468
 12958  		{
 12959  			yyLOCAL = &Subquery{yyDollar[1].selStmtUnion()}
 12960  		}
 12961  		yyVAL.union = yyLOCAL
 12962  	case 881:
 12963  		yyDollar = yyS[yypt-1 : yypt+1]
 12964  		var yyLOCAL Exprs
 12965  //line sql.y:4474
 12966  		{
 12967  			yyLOCAL = Exprs{yyDollar[1].exprUnion()}
 12968  		}
 12969  		yyVAL.union = yyLOCAL
 12970  	case 882:
 12971  		yyDollar = yyS[yypt-3 : yypt+1]
 12972  //line sql.y:4478
 12973  		{
 12974  			yySLICE := (*Exprs)(yyIaddr(yyVAL.union))
 12975  			*yySLICE = append(*yySLICE, yyDollar[3].exprUnion())
 12976  		}
 12977  	case 883:
 12978  		yyDollar = yyS[yypt-4 : yypt+1]
 12979  		var yyLOCAL Expr
 12980  //line sql.y:4488
 12981  		{
 12982  			yyLOCAL = &FuncExpr{Name: yyDollar[1].colIdent, Exprs: yyDollar[3].selectExprsUnion()}
 12983  		}
 12984  		yyVAL.union = yyLOCAL
 12985  	case 884:
 12986  		yyDollar = yyS[yypt-5 : yypt+1]
 12987  		var yyLOCAL Expr
 12988  //line sql.y:4492
 12989  		{
 12990  			yyLOCAL = &FuncExpr{Name: yyDollar[1].colIdent, Distinct: true, Exprs: yyDollar[4].selectExprsUnion()}
 12991  		}
 12992  		yyVAL.union = yyLOCAL
 12993  	case 885:
 12994  		yyDollar = yyS[yypt-5 : yypt+1]
 12995  		var yyLOCAL Expr
 12996  //line sql.y:4496
 12997  		{
 12998  			yyLOCAL = &FuncExpr{Name: yyDollar[1].colIdent, Distinct: true, Exprs: yyDollar[4].selectExprsUnion()}
 12999  		}
 13000  		yyVAL.union = yyLOCAL
 13001  	case 886:
 13002  		yyDollar = yyS[yypt-6 : yypt+1]
 13003  		var yyLOCAL Expr
 13004  //line sql.y:4500
 13005  		{
 13006  			yyLOCAL = &FuncExpr{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].colIdent, Exprs: yyDollar[5].selectExprsUnion()}
 13007  		}
 13008  		yyVAL.union = yyLOCAL
 13009  	case 887:
 13010  		yyDollar = yyS[yypt-4 : yypt+1]
 13011  		var yyLOCAL Expr
 13012  //line sql.y:4510
 13013  		{
 13014  			yyLOCAL = &FuncExpr{Name: NewColIdent("left"), Exprs: yyDollar[3].selectExprsUnion()}
 13015  		}
 13016  		yyVAL.union = yyLOCAL
 13017  	case 888:
 13018  		yyDollar = yyS[yypt-4 : yypt+1]
 13019  		var yyLOCAL Expr
 13020  //line sql.y:4514
 13021  		{
 13022  			yyLOCAL = &FuncExpr{Name: NewColIdent("right"), Exprs: yyDollar[3].selectExprsUnion()}
 13023  		}
 13024  		yyVAL.union = yyLOCAL
 13025  	case 889:
 13026  		yyDollar = yyS[yypt-8 : yypt+1]
 13027  		var yyLOCAL Expr
 13028  //line sql.y:4518
 13029  		{
 13030  			yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion(), To: yyDollar[7].exprUnion()}
 13031  		}
 13032  		yyVAL.union = yyLOCAL
 13033  	case 890:
 13034  		yyDollar = yyS[yypt-6 : yypt+1]
 13035  		var yyLOCAL Expr
 13036  //line sql.y:4522
 13037  		{
 13038  			yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion()}
 13039  		}
 13040  		yyVAL.union = yyLOCAL
 13041  	case 891:
 13042  		yyDollar = yyS[yypt-8 : yypt+1]
 13043  		var yyLOCAL Expr
 13044  //line sql.y:4526
 13045  		{
 13046  			yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion(), To: yyDollar[7].exprUnion()}
 13047  		}
 13048  		yyVAL.union = yyLOCAL
 13049  	case 892:
 13050  		yyDollar = yyS[yypt-6 : yypt+1]
 13051  		var yyLOCAL Expr
 13052  //line sql.y:4530
 13053  		{
 13054  			yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion()}
 13055  		}
 13056  		yyVAL.union = yyLOCAL
 13057  	case 893:
 13058  		yyDollar = yyS[yypt-8 : yypt+1]
 13059  		var yyLOCAL Expr
 13060  //line sql.y:4534
 13061  		{
 13062  			yyLOCAL = &GroupConcatExpr{Distinct: yyDollar[3].booleanUnion(), Exprs: yyDollar[4].selectExprsUnion(), OrderBy: yyDollar[5].orderByUnion(), Separator: yyDollar[6].str, Limit: yyDollar[7].limitUnion()}
 13063  		}
 13064  		yyVAL.union = yyLOCAL
 13065  	case 894:
 13066  		yyDollar = yyS[yypt-5 : yypt+1]
 13067  		var yyLOCAL Expr
 13068  //line sql.y:4538
 13069  		{
 13070  			yyLOCAL = &CaseExpr{Expr: yyDollar[2].exprUnion(), Whens: yyDollar[3].whensUnion(), Else: yyDollar[4].exprUnion()}
 13071  		}
 13072  		yyVAL.union = yyLOCAL
 13073  	case 895:
 13074  		yyDollar = yyS[yypt-4 : yypt+1]
 13075  		var yyLOCAL Expr
 13076  //line sql.y:4542
 13077  		{
 13078  			yyLOCAL = &ValuesFuncExpr{Name: yyDollar[3].colNameUnion()}
 13079  		}
 13080  		yyVAL.union = yyLOCAL
 13081  	case 896:
 13082  		yyDollar = yyS[yypt-2 : yypt+1]
 13083  		var yyLOCAL Expr
 13084  //line sql.y:4546
 13085  		{
 13086  			yyLOCAL = &FuncExpr{Name: NewColIdent(yyDollar[1].str)}
 13087  		}
 13088  		yyVAL.union = yyLOCAL
 13089  	case 897:
 13090  		yyDollar = yyS[yypt-2 : yypt+1]
 13091  		var yyLOCAL Expr
 13092  //line sql.y:4557
 13093  		{
 13094  			yyLOCAL = &FuncExpr{Name: NewColIdent("utc_date")}
 13095  		}
 13096  		yyVAL.union = yyLOCAL
 13097  	case 898:
 13098  		yyDollar = yyS[yypt-1 : yypt+1]
 13099  		var yyLOCAL Expr
 13100  //line sql.y:4561
 13101  		{
 13102  			yyLOCAL = yyDollar[1].exprUnion()
 13103  		}
 13104  		yyVAL.union = yyLOCAL
 13105  	case 899:
 13106  		yyDollar = yyS[yypt-2 : yypt+1]
 13107  		var yyLOCAL Expr
 13108  //line sql.y:4567
 13109  		{
 13110  			yyLOCAL = &FuncExpr{Name: NewColIdent("current_date")}
 13111  		}
 13112  		yyVAL.union = yyLOCAL
 13113  	case 900:
 13114  		yyDollar = yyS[yypt-2 : yypt+1]
 13115  		var yyLOCAL Expr
 13116  //line sql.y:4571
 13117  		{
 13118  			yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("utc_time"), Fsp: yyDollar[2].exprUnion()}
 13119  		}
 13120  		yyVAL.union = yyLOCAL
 13121  	case 901:
 13122  		yyDollar = yyS[yypt-2 : yypt+1]
 13123  		var yyLOCAL Expr
 13124  //line sql.y:4576
 13125  		{
 13126  			yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("current_time"), Fsp: yyDollar[2].exprUnion()}
 13127  		}
 13128  		yyVAL.union = yyLOCAL
 13129  	case 902:
 13130  		yyDollar = yyS[yypt-8 : yypt+1]
 13131  		var yyLOCAL Expr
 13132  //line sql.y:4580
 13133  		{
 13134  			yyLOCAL = &TimestampFuncExpr{Name: string("timestampadd"), Unit: yyDollar[3].colIdent.String(), Expr1: yyDollar[5].exprUnion(), Expr2: yyDollar[7].exprUnion()}
 13135  		}
 13136  		yyVAL.union = yyLOCAL
 13137  	case 903:
 13138  		yyDollar = yyS[yypt-8 : yypt+1]
 13139  		var yyLOCAL Expr
 13140  //line sql.y:4584
 13141  		{
 13142  			yyLOCAL = &TimestampFuncExpr{Name: string("timestampdiff"), Unit: yyDollar[3].colIdent.String(), Expr1: yyDollar[5].exprUnion(), Expr2: yyDollar[7].exprUnion()}
 13143  		}
 13144  		yyVAL.union = yyLOCAL
 13145  	case 904:
 13146  		yyDollar = yyS[yypt-6 : yypt+1]
 13147  		var yyLOCAL Expr
 13148  //line sql.y:4588
 13149  		{
 13150  			yyLOCAL = &ExtractFuncExpr{IntervalTypes: yyDollar[3].intervalTypeUnion(), Expr: yyDollar[5].exprUnion()}
 13151  		}
 13152  		yyVAL.union = yyLOCAL
 13153  	case 905:
 13154  		yyDollar = yyS[yypt-1 : yypt+1]
 13155  //line sql.y:4594
 13156  		{
 13157  		}
 13158  	case 906:
 13159  		yyDollar = yyS[yypt-1 : yypt+1]
 13160  		var yyLOCAL IntervalTypes
 13161  //line sql.y:4596
 13162  		{
 13163  			yyLOCAL = IntervalDayHour
 13164  		}
 13165  		yyVAL.union = yyLOCAL
 13166  	case 907:
 13167  		yyDollar = yyS[yypt-1 : yypt+1]
 13168  		var yyLOCAL IntervalTypes
 13169  //line sql.y:4600
 13170  		{
 13171  			yyLOCAL = IntervalDayMicrosecond
 13172  		}
 13173  		yyVAL.union = yyLOCAL
 13174  	case 908:
 13175  		yyDollar = yyS[yypt-1 : yypt+1]
 13176  		var yyLOCAL IntervalTypes
 13177  //line sql.y:4604
 13178  		{
 13179  			yyLOCAL = IntervalDayMinute
 13180  		}
 13181  		yyVAL.union = yyLOCAL
 13182  	case 909:
 13183  		yyDollar = yyS[yypt-1 : yypt+1]
 13184  		var yyLOCAL IntervalTypes
 13185  //line sql.y:4608
 13186  		{
 13187  			yyLOCAL = IntervalDaySecond
 13188  		}
 13189  		yyVAL.union = yyLOCAL
 13190  	case 910:
 13191  		yyDollar = yyS[yypt-1 : yypt+1]
 13192  		var yyLOCAL IntervalTypes
 13193  //line sql.y:4612
 13194  		{
 13195  			yyLOCAL = IntervalHourMicrosecond
 13196  		}
 13197  		yyVAL.union = yyLOCAL
 13198  	case 911:
 13199  		yyDollar = yyS[yypt-1 : yypt+1]
 13200  		var yyLOCAL IntervalTypes
 13201  //line sql.y:4616
 13202  		{
 13203  			yyLOCAL = IntervalHourMinute
 13204  		}
 13205  		yyVAL.union = yyLOCAL
 13206  	case 912:
 13207  		yyDollar = yyS[yypt-1 : yypt+1]
 13208  		var yyLOCAL IntervalTypes
 13209  //line sql.y:4620
 13210  		{
 13211  			yyLOCAL = IntervalHourSecond
 13212  		}
 13213  		yyVAL.union = yyLOCAL
 13214  	case 913:
 13215  		yyDollar = yyS[yypt-1 : yypt+1]
 13216  		var yyLOCAL IntervalTypes
 13217  //line sql.y:4624
 13218  		{
 13219  			yyLOCAL = IntervalMinuteMicrosecond
 13220  		}
 13221  		yyVAL.union = yyLOCAL
 13222  	case 914:
 13223  		yyDollar = yyS[yypt-1 : yypt+1]
 13224  		var yyLOCAL IntervalTypes
 13225  //line sql.y:4628
 13226  		{
 13227  			yyLOCAL = IntervalMinuteSecond
 13228  		}
 13229  		yyVAL.union = yyLOCAL
 13230  	case 915:
 13231  		yyDollar = yyS[yypt-1 : yypt+1]
 13232  		var yyLOCAL IntervalTypes
 13233  //line sql.y:4632
 13234  		{
 13235  			yyLOCAL = IntervalSecondMicrosecond
 13236  		}
 13237  		yyVAL.union = yyLOCAL
 13238  	case 916:
 13239  		yyDollar = yyS[yypt-1 : yypt+1]
 13240  		var yyLOCAL IntervalTypes
 13241  //line sql.y:4636
 13242  		{
 13243  			yyLOCAL = IntervalYearMonth
 13244  		}
 13245  		yyVAL.union = yyLOCAL
 13246  	case 917:
 13247  		yyDollar = yyS[yypt-1 : yypt+1]
 13248  		var yyLOCAL IntervalTypes
 13249  //line sql.y:4642
 13250  		{
 13251  			yyLOCAL = IntervalDay
 13252  		}
 13253  		yyVAL.union = yyLOCAL
 13254  	case 918:
 13255  		yyDollar = yyS[yypt-1 : yypt+1]
 13256  		var yyLOCAL IntervalTypes
 13257  //line sql.y:4646
 13258  		{
 13259  			yyLOCAL = IntervalWeek
 13260  		}
 13261  		yyVAL.union = yyLOCAL
 13262  	case 919:
 13263  		yyDollar = yyS[yypt-1 : yypt+1]
 13264  		var yyLOCAL IntervalTypes
 13265  //line sql.y:4650
 13266  		{
 13267  			yyLOCAL = IntervalHour
 13268  		}
 13269  		yyVAL.union = yyLOCAL
 13270  	case 920:
 13271  		yyDollar = yyS[yypt-1 : yypt+1]
 13272  		var yyLOCAL IntervalTypes
 13273  //line sql.y:4654
 13274  		{
 13275  			yyLOCAL = IntervalMinute
 13276  		}
 13277  		yyVAL.union = yyLOCAL
 13278  	case 921:
 13279  		yyDollar = yyS[yypt-1 : yypt+1]
 13280  		var yyLOCAL IntervalTypes
 13281  //line sql.y:4658
 13282  		{
 13283  			yyLOCAL = IntervalMonth
 13284  		}
 13285  		yyVAL.union = yyLOCAL
 13286  	case 922:
 13287  		yyDollar = yyS[yypt-1 : yypt+1]
 13288  		var yyLOCAL IntervalTypes
 13289  //line sql.y:4662
 13290  		{
 13291  			yyLOCAL = IntervalQuarter
 13292  		}
 13293  		yyVAL.union = yyLOCAL
 13294  	case 923:
 13295  		yyDollar = yyS[yypt-1 : yypt+1]
 13296  		var yyLOCAL IntervalTypes
 13297  //line sql.y:4666
 13298  		{
 13299  			yyLOCAL = IntervalSecond
 13300  		}
 13301  		yyVAL.union = yyLOCAL
 13302  	case 924:
 13303  		yyDollar = yyS[yypt-1 : yypt+1]
 13304  		var yyLOCAL IntervalTypes
 13305  //line sql.y:4670
 13306  		{
 13307  			yyLOCAL = IntervalMicrosecond
 13308  		}
 13309  		yyVAL.union = yyLOCAL
 13310  	case 925:
 13311  		yyDollar = yyS[yypt-1 : yypt+1]
 13312  		var yyLOCAL IntervalTypes
 13313  //line sql.y:4674
 13314  		{
 13315  			yyLOCAL = IntervalYear
 13316  		}
 13317  		yyVAL.union = yyLOCAL
 13318  	case 928:
 13319  		yyDollar = yyS[yypt-0 : yypt+1]
 13320  		var yyLOCAL Expr
 13321  //line sql.y:4684
 13322  		{
 13323  			yyLOCAL = nil
 13324  		}
 13325  		yyVAL.union = yyLOCAL
 13326  	case 929:
 13327  		yyDollar = yyS[yypt-2 : yypt+1]
 13328  		var yyLOCAL Expr
 13329  //line sql.y:4688
 13330  		{
 13331  			yyLOCAL = nil
 13332  		}
 13333  		yyVAL.union = yyLOCAL
 13334  	case 930:
 13335  		yyDollar = yyS[yypt-3 : yypt+1]
 13336  		var yyLOCAL Expr
 13337  //line sql.y:4692
 13338  		{
 13339  			yyLOCAL = NewIntLiteral(yyDollar[2].str)
 13340  		}
 13341  		yyVAL.union = yyLOCAL
 13342  	case 931:
 13343  		yyDollar = yyS[yypt-3 : yypt+1]
 13344  		var yyLOCAL Expr
 13345  //line sql.y:4696
 13346  		{
 13347  			yyLOCAL = NewArgument(yyDollar[2].str[1:])
 13348  			bindVariable(yylex, yyDollar[2].str[1:])
 13349  		}
 13350  		yyVAL.union = yyLOCAL
 13351  	case 932:
 13352  		yyDollar = yyS[yypt-4 : yypt+1]
 13353  		var yyLOCAL Expr
 13354  //line sql.y:4707
 13355  		{
 13356  			yyLOCAL = &FuncExpr{Name: NewColIdent("if"), Exprs: yyDollar[3].selectExprsUnion()}
 13357  		}
 13358  		yyVAL.union = yyLOCAL
 13359  	case 933:
 13360  		yyDollar = yyS[yypt-4 : yypt+1]
 13361  		var yyLOCAL Expr
 13362  //line sql.y:4711
 13363  		{
 13364  			yyLOCAL = &FuncExpr{Name: NewColIdent("database"), Exprs: yyDollar[3].selectExprsUnion()}
 13365  		}
 13366  		yyVAL.union = yyLOCAL
 13367  	case 934:
 13368  		yyDollar = yyS[yypt-4 : yypt+1]
 13369  		var yyLOCAL Expr
 13370  //line sql.y:4715
 13371  		{
 13372  			yyLOCAL = &FuncExpr{Name: NewColIdent("schema"), Exprs: yyDollar[3].selectExprsUnion()}
 13373  		}
 13374  		yyVAL.union = yyLOCAL
 13375  	case 935:
 13376  		yyDollar = yyS[yypt-4 : yypt+1]
 13377  		var yyLOCAL Expr
 13378  //line sql.y:4719
 13379  		{
 13380  			yyLOCAL = &FuncExpr{Name: NewColIdent("mod"), Exprs: yyDollar[3].selectExprsUnion()}
 13381  		}
 13382  		yyVAL.union = yyLOCAL
 13383  	case 936:
 13384  		yyDollar = yyS[yypt-4 : yypt+1]
 13385  		var yyLOCAL Expr
 13386  //line sql.y:4723
 13387  		{
 13388  			yyLOCAL = &FuncExpr{Name: NewColIdent("replace"), Exprs: yyDollar[3].selectExprsUnion()}
 13389  		}
 13390  		yyVAL.union = yyLOCAL
 13391  	case 937:
 13392  		yyDollar = yyS[yypt-0 : yypt+1]
 13393  		var yyLOCAL MatchExprOption
 13394  //line sql.y:4729
 13395  		{
 13396  			yyLOCAL = NoOption
 13397  		}
 13398  		yyVAL.union = yyLOCAL
 13399  	case 938:
 13400  		yyDollar = yyS[yypt-3 : yypt+1]
 13401  		var yyLOCAL MatchExprOption
 13402  //line sql.y:4733
 13403  		{
 13404  			yyLOCAL = BooleanModeOpt
 13405  		}
 13406  		yyVAL.union = yyLOCAL
 13407  	case 939:
 13408  		yyDollar = yyS[yypt-4 : yypt+1]
 13409  		var yyLOCAL MatchExprOption
 13410  //line sql.y:4737
 13411  		{
 13412  			yyLOCAL = NaturalLanguageModeOpt
 13413  		}
 13414  		yyVAL.union = yyLOCAL
 13415  	case 940:
 13416  		yyDollar = yyS[yypt-7 : yypt+1]
 13417  		var yyLOCAL MatchExprOption
 13418  //line sql.y:4741
 13419  		{
 13420  			yyLOCAL = NaturalLanguageModeWithQueryExpansionOpt
 13421  		}
 13422  		yyVAL.union = yyLOCAL
 13423  	case 941:
 13424  		yyDollar = yyS[yypt-3 : yypt+1]
 13425  		var yyLOCAL MatchExprOption
 13426  //line sql.y:4745
 13427  		{
 13428  			yyLOCAL = QueryExpansionOpt
 13429  		}
 13430  		yyVAL.union = yyLOCAL
 13431  	case 942:
 13432  		yyDollar = yyS[yypt-1 : yypt+1]
 13433  //line sql.y:4751
 13434  		{
 13435  			yyVAL.str = string(yyDollar[1].colIdent.String())
 13436  		}
 13437  	case 943:
 13438  		yyDollar = yyS[yypt-1 : yypt+1]
 13439  //line sql.y:4755
 13440  		{
 13441  			yyVAL.str = string(yyDollar[1].str)
 13442  		}
 13443  	case 944:
 13444  		yyDollar = yyS[yypt-1 : yypt+1]
 13445  //line sql.y:4759
 13446  		{
 13447  			yyVAL.str = string(yyDollar[1].str)
 13448  		}
 13449  	case 945:
 13450  		yyDollar = yyS[yypt-2 : yypt+1]
 13451  		var yyLOCAL *ConvertType
 13452  //line sql.y:4765
 13453  		{
 13454  			yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()}
 13455  		}
 13456  		yyVAL.union = yyLOCAL
 13457  	case 946:
 13458  		yyDollar = yyS[yypt-3 : yypt+1]
 13459  		var yyLOCAL *ConvertType
 13460  //line sql.y:4769
 13461  		{
 13462  			yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion(), Charset: yyDollar[3].str, Operator: CharacterSetOp}
 13463  		}
 13464  		yyVAL.union = yyLOCAL
 13465  	case 947:
 13466  		yyDollar = yyS[yypt-3 : yypt+1]
 13467  		var yyLOCAL *ConvertType
 13468  //line sql.y:4773
 13469  		{
 13470  			yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion(), Charset: string(yyDollar[3].colIdent.String())}
 13471  		}
 13472  		yyVAL.union = yyLOCAL
 13473  	case 948:
 13474  		yyDollar = yyS[yypt-1 : yypt+1]
 13475  		var yyLOCAL *ConvertType
 13476  //line sql.y:4777
 13477  		{
 13478  			yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)}
 13479  		}
 13480  		yyVAL.union = yyLOCAL
 13481  	case 949:
 13482  		yyDollar = yyS[yypt-2 : yypt+1]
 13483  		var yyLOCAL *ConvertType
 13484  //line sql.y:4781
 13485  		{
 13486  			yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()}
 13487  		}
 13488  		yyVAL.union = yyLOCAL
 13489  	case 950:
 13490  		yyDollar = yyS[yypt-2 : yypt+1]
 13491  		var yyLOCAL *ConvertType
 13492  //line sql.y:4785
 13493  		{
 13494  			yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)}
 13495  			yyLOCAL.Length = yyDollar[2].LengthScaleOption.Length
 13496  			yyLOCAL.Scale = yyDollar[2].LengthScaleOption.Scale
 13497  		}
 13498  		yyVAL.union = yyLOCAL
 13499  	case 951:
 13500  		yyDollar = yyS[yypt-1 : yypt+1]
 13501  		var yyLOCAL *ConvertType
 13502  //line sql.y:4791
 13503  		{
 13504  			yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)}
 13505  		}
 13506  		yyVAL.union = yyLOCAL
 13507  	case 952:
 13508  		yyDollar = yyS[yypt-2 : yypt+1]
 13509  		var yyLOCAL *ConvertType
 13510  //line sql.y:4795
 13511  		{
 13512  			yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()}
 13513  		}
 13514  		yyVAL.union = yyLOCAL
 13515  	case 953:
 13516  		yyDollar = yyS[yypt-1 : yypt+1]
 13517  		var yyLOCAL *ConvertType
 13518  //line sql.y:4799
 13519  		{
 13520  			yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)}
 13521  		}
 13522  		yyVAL.union = yyLOCAL
 13523  	case 954:
 13524  		yyDollar = yyS[yypt-2 : yypt+1]
 13525  		var yyLOCAL *ConvertType
 13526  //line sql.y:4803
 13527  		{
 13528  			yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)}
 13529  		}
 13530  		yyVAL.union = yyLOCAL
 13531  	case 955:
 13532  		yyDollar = yyS[yypt-2 : yypt+1]
 13533  		var yyLOCAL *ConvertType
 13534  //line sql.y:4807
 13535  		{
 13536  			yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()}
 13537  		}
 13538  		yyVAL.union = yyLOCAL
 13539  	case 956:
 13540  		yyDollar = yyS[yypt-1 : yypt+1]
 13541  		var yyLOCAL *ConvertType
 13542  //line sql.y:4811
 13543  		{
 13544  			yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)}
 13545  		}
 13546  		yyVAL.union = yyLOCAL
 13547  	case 957:
 13548  		yyDollar = yyS[yypt-2 : yypt+1]
 13549  		var yyLOCAL *ConvertType
 13550  //line sql.y:4815
 13551  		{
 13552  			yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)}
 13553  		}
 13554  		yyVAL.union = yyLOCAL
 13555  	case 958:
 13556  		yyDollar = yyS[yypt-0 : yypt+1]
 13557  		var yyLOCAL Expr
 13558  //line sql.y:4820
 13559  		{
 13560  			yyLOCAL = nil
 13561  		}
 13562  		yyVAL.union = yyLOCAL
 13563  	case 959:
 13564  		yyDollar = yyS[yypt-1 : yypt+1]
 13565  		var yyLOCAL Expr
 13566  //line sql.y:4824
 13567  		{
 13568  			yyLOCAL = yyDollar[1].exprUnion()
 13569  		}
 13570  		yyVAL.union = yyLOCAL
 13571  	case 960:
 13572  		yyDollar = yyS[yypt-0 : yypt+1]
 13573  //line sql.y:4829
 13574  		{
 13575  			yyVAL.str = string("")
 13576  		}
 13577  	case 961:
 13578  		yyDollar = yyS[yypt-2 : yypt+1]
 13579  //line sql.y:4833
 13580  		{
 13581  			yyVAL.str = " separator " + encodeSQLString(yyDollar[2].str)
 13582  		}
 13583  	case 962:
 13584  		yyDollar = yyS[yypt-1 : yypt+1]
 13585  		var yyLOCAL []*When
 13586  //line sql.y:4839
 13587  		{
 13588  			yyLOCAL = []*When{yyDollar[1].whenUnion()}
 13589  		}
 13590  		yyVAL.union = yyLOCAL
 13591  	case 963:
 13592  		yyDollar = yyS[yypt-2 : yypt+1]
 13593  //line sql.y:4843
 13594  		{
 13595  			yySLICE := (*[]*When)(yyIaddr(yyVAL.union))
 13596  			*yySLICE = append(*yySLICE, yyDollar[2].whenUnion())
 13597  		}
 13598  	case 964:
 13599  		yyDollar = yyS[yypt-4 : yypt+1]
 13600  		var yyLOCAL *When
 13601  //line sql.y:4849
 13602  		{
 13603  			yyLOCAL = &When{Cond: yyDollar[2].exprUnion(), Val: yyDollar[4].exprUnion()}
 13604  		}
 13605  		yyVAL.union = yyLOCAL
 13606  	case 965:
 13607  		yyDollar = yyS[yypt-0 : yypt+1]
 13608  		var yyLOCAL Expr
 13609  //line sql.y:4854
 13610  		{
 13611  			yyLOCAL = nil
 13612  		}
 13613  		yyVAL.union = yyLOCAL
 13614  	case 966:
 13615  		yyDollar = yyS[yypt-2 : yypt+1]
 13616  		var yyLOCAL Expr
 13617  //line sql.y:4858
 13618  		{
 13619  			yyLOCAL = yyDollar[2].exprUnion()
 13620  		}
 13621  		yyVAL.union = yyLOCAL
 13622  	case 967:
 13623  		yyDollar = yyS[yypt-1 : yypt+1]
 13624  		var yyLOCAL *ColName
 13625  //line sql.y:4864
 13626  		{
 13627  			yyLOCAL = &ColName{Name: yyDollar[1].colIdent}
 13628  		}
 13629  		yyVAL.union = yyLOCAL
 13630  	case 968:
 13631  		yyDollar = yyS[yypt-3 : yypt+1]
 13632  		var yyLOCAL *ColName
 13633  //line sql.y:4868
 13634  		{
 13635  			yyLOCAL = &ColName{Qualifier: TableName{Name: yyDollar[1].tableIdent}, Name: yyDollar[3].colIdent}
 13636  		}
 13637  		yyVAL.union = yyLOCAL
 13638  	case 969:
 13639  		yyDollar = yyS[yypt-5 : yypt+1]
 13640  		var yyLOCAL *ColName
 13641  //line sql.y:4872
 13642  		{
 13643  			yyLOCAL = &ColName{Qualifier: TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent}, Name: yyDollar[5].colIdent}
 13644  		}
 13645  		yyVAL.union = yyLOCAL
 13646  	case 970:
 13647  		yyDollar = yyS[yypt-1 : yypt+1]
 13648  		var yyLOCAL Expr
 13649  //line sql.y:4878
 13650  		{
 13651  			// TODO(sougou): Deprecate this construct.
 13652  			if yyDollar[1].colIdent.Lowered() != "value" {
 13653  				yylex.Error("expecting value after next")
 13654  				return 1
 13655  			}
 13656  			yyLOCAL = NewIntLiteral("1")
 13657  		}
 13658  		yyVAL.union = yyLOCAL
 13659  	case 971:
 13660  		yyDollar = yyS[yypt-2 : yypt+1]
 13661  		var yyLOCAL Expr
 13662  //line sql.y:4887
 13663  		{
 13664  			yyLOCAL = NewIntLiteral(yyDollar[1].str)
 13665  		}
 13666  		yyVAL.union = yyLOCAL
 13667  	case 972:
 13668  		yyDollar = yyS[yypt-2 : yypt+1]
 13669  		var yyLOCAL Expr
 13670  //line sql.y:4891
 13671  		{
 13672  			yyLOCAL = NewArgument(yyDollar[1].str[1:])
 13673  			bindVariable(yylex, yyDollar[1].str[1:])
 13674  		}
 13675  		yyVAL.union = yyLOCAL
 13676  	case 973:
 13677  		yyDollar = yyS[yypt-0 : yypt+1]
 13678  		var yyLOCAL Exprs
 13679  //line sql.y:4897
 13680  		{
 13681  			yyLOCAL = nil
 13682  		}
 13683  		yyVAL.union = yyLOCAL
 13684  	case 974:
 13685  		yyDollar = yyS[yypt-3 : yypt+1]
 13686  		var yyLOCAL Exprs
 13687  //line sql.y:4901
 13688  		{
 13689  			yyLOCAL = yyDollar[3].exprsUnion()
 13690  		}
 13691  		yyVAL.union = yyLOCAL
 13692  	case 975:
 13693  		yyDollar = yyS[yypt-0 : yypt+1]
 13694  		var yyLOCAL Expr
 13695  //line sql.y:4906
 13696  		{
 13697  			yyLOCAL = nil
 13698  		}
 13699  		yyVAL.union = yyLOCAL
 13700  	case 976:
 13701  		yyDollar = yyS[yypt-2 : yypt+1]
 13702  		var yyLOCAL Expr
 13703  //line sql.y:4910
 13704  		{
 13705  			yyLOCAL = yyDollar[2].exprUnion()
 13706  		}
 13707  		yyVAL.union = yyLOCAL
 13708  	case 977:
 13709  		yyDollar = yyS[yypt-0 : yypt+1]
 13710  		var yyLOCAL OrderBy
 13711  //line sql.y:4915
 13712  		{
 13713  			yyLOCAL = nil
 13714  		}
 13715  		yyVAL.union = yyLOCAL
 13716  	case 978:
 13717  		yyDollar = yyS[yypt-1 : yypt+1]
 13718  		var yyLOCAL OrderBy
 13719  //line sql.y:4919
 13720  		{
 13721  			yyLOCAL = yyDollar[1].orderByUnion()
 13722  		}
 13723  		yyVAL.union = yyLOCAL
 13724  	case 979:
 13725  		yyDollar = yyS[yypt-3 : yypt+1]
 13726  		var yyLOCAL OrderBy
 13727  //line sql.y:4925
 13728  		{
 13729  			yyLOCAL = yyDollar[3].orderByUnion()
 13730  		}
 13731  		yyVAL.union = yyLOCAL
 13732  	case 980:
 13733  		yyDollar = yyS[yypt-1 : yypt+1]
 13734  		var yyLOCAL OrderBy
 13735  //line sql.y:4931
 13736  		{
 13737  			yyLOCAL = OrderBy{yyDollar[1].orderUnion()}
 13738  		}
 13739  		yyVAL.union = yyLOCAL
 13740  	case 981:
 13741  		yyDollar = yyS[yypt-3 : yypt+1]
 13742  //line sql.y:4935
 13743  		{
 13744  			yySLICE := (*OrderBy)(yyIaddr(yyVAL.union))
 13745  			*yySLICE = append(*yySLICE, yyDollar[3].orderUnion())
 13746  		}
 13747  	case 982:
 13748  		yyDollar = yyS[yypt-2 : yypt+1]
 13749  		var yyLOCAL *Order
 13750  //line sql.y:4941
 13751  		{
 13752  			yyLOCAL = &Order{Expr: yyDollar[1].exprUnion(), Direction: yyDollar[2].orderDirectionUnion()}
 13753  		}
 13754  		yyVAL.union = yyLOCAL
 13755  	case 983:
 13756  		yyDollar = yyS[yypt-0 : yypt+1]
 13757  		var yyLOCAL OrderDirection
 13758  //line sql.y:4946
 13759  		{
 13760  			yyLOCAL = AscOrder
 13761  		}
 13762  		yyVAL.union = yyLOCAL
 13763  	case 984:
 13764  		yyDollar = yyS[yypt-1 : yypt+1]
 13765  		var yyLOCAL OrderDirection
 13766  //line sql.y:4950
 13767  		{
 13768  			yyLOCAL = AscOrder
 13769  		}
 13770  		yyVAL.union = yyLOCAL
 13771  	case 985:
 13772  		yyDollar = yyS[yypt-1 : yypt+1]
 13773  		var yyLOCAL OrderDirection
 13774  //line sql.y:4954
 13775  		{
 13776  			yyLOCAL = DescOrder
 13777  		}
 13778  		yyVAL.union = yyLOCAL
 13779  	case 986:
 13780  		yyDollar = yyS[yypt-0 : yypt+1]
 13781  		var yyLOCAL *Limit
 13782  //line sql.y:4959
 13783  		{
 13784  			yyLOCAL = nil
 13785  		}
 13786  		yyVAL.union = yyLOCAL
 13787  	case 987:
 13788  		yyDollar = yyS[yypt-1 : yypt+1]
 13789  		var yyLOCAL *Limit
 13790  //line sql.y:4963
 13791  		{
 13792  			yyLOCAL = yyDollar[1].limitUnion()
 13793  		}
 13794  		yyVAL.union = yyLOCAL
 13795  	case 988:
 13796  		yyDollar = yyS[yypt-2 : yypt+1]
 13797  		var yyLOCAL *Limit
 13798  //line sql.y:4969
 13799  		{
 13800  			yyLOCAL = &Limit{Rowcount: yyDollar[2].exprUnion()}
 13801  		}
 13802  		yyVAL.union = yyLOCAL
 13803  	case 989:
 13804  		yyDollar = yyS[yypt-4 : yypt+1]
 13805  		var yyLOCAL *Limit
 13806  //line sql.y:4973
 13807  		{
 13808  			yyLOCAL = &Limit{Offset: yyDollar[2].exprUnion(), Rowcount: yyDollar[4].exprUnion()}
 13809  		}
 13810  		yyVAL.union = yyLOCAL
 13811  	case 990:
 13812  		yyDollar = yyS[yypt-4 : yypt+1]
 13813  		var yyLOCAL *Limit
 13814  //line sql.y:4977
 13815  		{
 13816  			yyLOCAL = &Limit{Offset: yyDollar[4].exprUnion(), Rowcount: yyDollar[2].exprUnion()}
 13817  		}
 13818  		yyVAL.union = yyLOCAL
 13819  	case 991:
 13820  		yyDollar = yyS[yypt-0 : yypt+1]
 13821  		var yyLOCAL []AlterOption
 13822  //line sql.y:4982
 13823  		{
 13824  			yyLOCAL = nil
 13825  		}
 13826  		yyVAL.union = yyLOCAL
 13827  	case 992:
 13828  		yyDollar = yyS[yypt-2 : yypt+1]
 13829  		var yyLOCAL []AlterOption
 13830  //line sql.y:4986
 13831  		{
 13832  			yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion(), yyDollar[2].alterOptionUnion()}
 13833  		}
 13834  		yyVAL.union = yyLOCAL
 13835  	case 993:
 13836  		yyDollar = yyS[yypt-2 : yypt+1]
 13837  		var yyLOCAL []AlterOption
 13838  //line sql.y:4990
 13839  		{
 13840  			yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion(), yyDollar[2].alterOptionUnion()}
 13841  		}
 13842  		yyVAL.union = yyLOCAL
 13843  	case 994:
 13844  		yyDollar = yyS[yypt-1 : yypt+1]
 13845  		var yyLOCAL []AlterOption
 13846  //line sql.y:4994
 13847  		{
 13848  			yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()}
 13849  		}
 13850  		yyVAL.union = yyLOCAL
 13851  	case 995:
 13852  		yyDollar = yyS[yypt-1 : yypt+1]
 13853  		var yyLOCAL []AlterOption
 13854  //line sql.y:4998
 13855  		{
 13856  			yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()}
 13857  		}
 13858  		yyVAL.union = yyLOCAL
 13859  	case 996:
 13860  		yyDollar = yyS[yypt-3 : yypt+1]
 13861  		var yyLOCAL AlterOption
 13862  //line sql.y:5005
 13863  		{
 13864  			yyLOCAL = &LockOption{Type: DefaultType}
 13865  		}
 13866  		yyVAL.union = yyLOCAL
 13867  	case 997:
 13868  		yyDollar = yyS[yypt-3 : yypt+1]
 13869  		var yyLOCAL AlterOption
 13870  //line sql.y:5009
 13871  		{
 13872  			yyLOCAL = &LockOption{Type: NoneType}
 13873  		}
 13874  		yyVAL.union = yyLOCAL
 13875  	case 998:
 13876  		yyDollar = yyS[yypt-3 : yypt+1]
 13877  		var yyLOCAL AlterOption
 13878  //line sql.y:5013
 13879  		{
 13880  			yyLOCAL = &LockOption{Type: SharedType}
 13881  		}
 13882  		yyVAL.union = yyLOCAL
 13883  	case 999:
 13884  		yyDollar = yyS[yypt-3 : yypt+1]
 13885  		var yyLOCAL AlterOption
 13886  //line sql.y:5017
 13887  		{
 13888  			yyLOCAL = &LockOption{Type: ExclusiveType}
 13889  		}
 13890  		yyVAL.union = yyLOCAL
 13891  	case 1000:
 13892  		yyDollar = yyS[yypt-3 : yypt+1]
 13893  		var yyLOCAL AlterOption
 13894  //line sql.y:5023
 13895  		{
 13896  			yyLOCAL = AlgorithmValue(yyDollar[3].str)
 13897  		}
 13898  		yyVAL.union = yyLOCAL
 13899  	case 1001:
 13900  		yyDollar = yyS[yypt-3 : yypt+1]
 13901  		var yyLOCAL AlterOption
 13902  //line sql.y:5027
 13903  		{
 13904  			yyLOCAL = AlgorithmValue(yyDollar[3].str)
 13905  		}
 13906  		yyVAL.union = yyLOCAL
 13907  	case 1002:
 13908  		yyDollar = yyS[yypt-3 : yypt+1]
 13909  		var yyLOCAL AlterOption
 13910  //line sql.y:5031
 13911  		{
 13912  			yyLOCAL = AlgorithmValue(yyDollar[3].str)
 13913  		}
 13914  		yyVAL.union = yyLOCAL
 13915  	case 1003:
 13916  		yyDollar = yyS[yypt-0 : yypt+1]
 13917  //line sql.y:5036
 13918  		{
 13919  			yyVAL.str = ""
 13920  		}
 13921  	case 1004:
 13922  		yyDollar = yyS[yypt-3 : yypt+1]
 13923  //line sql.y:5040
 13924  		{
 13925  			yyVAL.str = string(yyDollar[3].str)
 13926  		}
 13927  	case 1005:
 13928  		yyDollar = yyS[yypt-3 : yypt+1]
 13929  //line sql.y:5044
 13930  		{
 13931  			yyVAL.str = string(yyDollar[3].str)
 13932  		}
 13933  	case 1006:
 13934  		yyDollar = yyS[yypt-3 : yypt+1]
 13935  //line sql.y:5048
 13936  		{
 13937  			yyVAL.str = string(yyDollar[3].str)
 13938  		}
 13939  	case 1007:
 13940  		yyDollar = yyS[yypt-0 : yypt+1]
 13941  //line sql.y:5053
 13942  		{
 13943  			yyVAL.str = ""
 13944  		}
 13945  	case 1008:
 13946  		yyDollar = yyS[yypt-3 : yypt+1]
 13947  //line sql.y:5057
 13948  		{
 13949  			yyVAL.str = yyDollar[3].str
 13950  		}
 13951  	case 1009:
 13952  		yyDollar = yyS[yypt-1 : yypt+1]
 13953  //line sql.y:5063
 13954  		{
 13955  			yyVAL.str = string(yyDollar[1].str)
 13956  		}
 13957  	case 1010:
 13958  		yyDollar = yyS[yypt-1 : yypt+1]
 13959  //line sql.y:5067
 13960  		{
 13961  			yyVAL.str = string(yyDollar[1].str)
 13962  		}
 13963  	case 1011:
 13964  		yyDollar = yyS[yypt-0 : yypt+1]
 13965  //line sql.y:5072
 13966  		{
 13967  			yyVAL.str = ""
 13968  		}
 13969  	case 1012:
 13970  		yyDollar = yyS[yypt-4 : yypt+1]
 13971  //line sql.y:5076
 13972  		{
 13973  			yyVAL.str = yyDollar[2].str
 13974  		}
 13975  	case 1013:
 13976  		yyDollar = yyS[yypt-0 : yypt+1]
 13977  //line sql.y:5081
 13978  		{
 13979  			yyVAL.str = "cascaded"
 13980  		}
 13981  	case 1014:
 13982  		yyDollar = yyS[yypt-1 : yypt+1]
 13983  //line sql.y:5085
 13984  		{
 13985  			yyVAL.str = string(yyDollar[1].str)
 13986  		}
 13987  	case 1015:
 13988  		yyDollar = yyS[yypt-1 : yypt+1]
 13989  //line sql.y:5089
 13990  		{
 13991  			yyVAL.str = string(yyDollar[1].str)
 13992  		}
 13993  	case 1016:
 13994  		yyDollar = yyS[yypt-0 : yypt+1]
 13995  //line sql.y:5094
 13996  		{
 13997  			yyVAL.str = ""
 13998  		}
 13999  	case 1017:
 14000  		yyDollar = yyS[yypt-3 : yypt+1]
 14001  //line sql.y:5098
 14002  		{
 14003  			yyVAL.str = yyDollar[3].str
 14004  		}
 14005  	case 1018:
 14006  		yyDollar = yyS[yypt-1 : yypt+1]
 14007  //line sql.y:5104
 14008  		{
 14009  			yyVAL.str = string(yyDollar[1].str)
 14010  		}
 14011  	case 1019:
 14012  		yyDollar = yyS[yypt-3 : yypt+1]
 14013  //line sql.y:5108
 14014  		{
 14015  			yyVAL.str = string(yyDollar[1].str)
 14016  		}
 14017  	case 1020:
 14018  		yyDollar = yyS[yypt-2 : yypt+1]
 14019  //line sql.y:5112
 14020  		{
 14021  			yyVAL.str = encodeSQLString(yyDollar[1].str) + "@" + string(yyDollar[2].str)
 14022  		}
 14023  	case 1021:
 14024  		yyDollar = yyS[yypt-1 : yypt+1]
 14025  //line sql.y:5116
 14026  		{
 14027  			yyVAL.str = string(yyDollar[1].str)
 14028  		}
 14029  	case 1022:
 14030  		yyDollar = yyS[yypt-2 : yypt+1]
 14031  		var yyLOCAL Lock
 14032  //line sql.y:5122
 14033  		{
 14034  			yyLOCAL = ForUpdateLock
 14035  		}
 14036  		yyVAL.union = yyLOCAL
 14037  	case 1023:
 14038  		yyDollar = yyS[yypt-4 : yypt+1]
 14039  		var yyLOCAL Lock
 14040  //line sql.y:5126
 14041  		{
 14042  			yyLOCAL = ShareModeLock
 14043  		}
 14044  		yyVAL.union = yyLOCAL
 14045  	case 1024:
 14046  		yyDollar = yyS[yypt-9 : yypt+1]
 14047  		var yyLOCAL *SelectInto
 14048  //line sql.y:5132
 14049  		{
 14050  			yyLOCAL = &SelectInto{Type: IntoOutfileS3, FileName: encodeSQLString(yyDollar[4].str), Charset: yyDollar[5].str, FormatOption: yyDollar[6].str, ExportOption: yyDollar[7].str, Manifest: yyDollar[8].str, Overwrite: yyDollar[9].str}
 14051  		}
 14052  		yyVAL.union = yyLOCAL
 14053  	case 1025:
 14054  		yyDollar = yyS[yypt-3 : yypt+1]
 14055  		var yyLOCAL *SelectInto
 14056  //line sql.y:5136
 14057  		{
 14058  			yyLOCAL = &SelectInto{Type: IntoDumpfile, FileName: encodeSQLString(yyDollar[3].str), Charset: "", FormatOption: "", ExportOption: "", Manifest: "", Overwrite: ""}
 14059  		}
 14060  		yyVAL.union = yyLOCAL
 14061  	case 1026:
 14062  		yyDollar = yyS[yypt-5 : yypt+1]
 14063  		var yyLOCAL *SelectInto
 14064  //line sql.y:5140
 14065  		{
 14066  			yyLOCAL = &SelectInto{Type: IntoOutfile, FileName: encodeSQLString(yyDollar[3].str), Charset: yyDollar[4].str, FormatOption: "", ExportOption: yyDollar[5].str, Manifest: "", Overwrite: ""}
 14067  		}
 14068  		yyVAL.union = yyLOCAL
 14069  	case 1027:
 14070  		yyDollar = yyS[yypt-0 : yypt+1]
 14071  //line sql.y:5145
 14072  		{
 14073  			yyVAL.str = ""
 14074  		}
 14075  	case 1028:
 14076  		yyDollar = yyS[yypt-3 : yypt+1]
 14077  //line sql.y:5149
 14078  		{
 14079  			yyVAL.str = " format csv" + yyDollar[3].str
 14080  		}
 14081  	case 1029:
 14082  		yyDollar = yyS[yypt-3 : yypt+1]
 14083  //line sql.y:5153
 14084  		{
 14085  			yyVAL.str = " format text" + yyDollar[3].str
 14086  		}
 14087  	case 1030:
 14088  		yyDollar = yyS[yypt-0 : yypt+1]
 14089  //line sql.y:5158
 14090  		{
 14091  			yyVAL.str = ""
 14092  		}
 14093  	case 1031:
 14094  		yyDollar = yyS[yypt-1 : yypt+1]
 14095  //line sql.y:5162
 14096  		{
 14097  			yyVAL.str = " header"
 14098  		}
 14099  	case 1032:
 14100  		yyDollar = yyS[yypt-0 : yypt+1]
 14101  //line sql.y:5167
 14102  		{
 14103  			yyVAL.str = ""
 14104  		}
 14105  	case 1033:
 14106  		yyDollar = yyS[yypt-2 : yypt+1]
 14107  //line sql.y:5171
 14108  		{
 14109  			yyVAL.str = " manifest on"
 14110  		}
 14111  	case 1034:
 14112  		yyDollar = yyS[yypt-2 : yypt+1]
 14113  //line sql.y:5175
 14114  		{
 14115  			yyVAL.str = " manifest off"
 14116  		}
 14117  	case 1035:
 14118  		yyDollar = yyS[yypt-0 : yypt+1]
 14119  //line sql.y:5180
 14120  		{
 14121  			yyVAL.str = ""
 14122  		}
 14123  	case 1036:
 14124  		yyDollar = yyS[yypt-2 : yypt+1]
 14125  //line sql.y:5184
 14126  		{
 14127  			yyVAL.str = " overwrite on"
 14128  		}
 14129  	case 1037:
 14130  		yyDollar = yyS[yypt-2 : yypt+1]
 14131  //line sql.y:5188
 14132  		{
 14133  			yyVAL.str = " overwrite off"
 14134  		}
 14135  	case 1038:
 14136  		yyDollar = yyS[yypt-2 : yypt+1]
 14137  //line sql.y:5194
 14138  		{
 14139  			yyVAL.str = yyDollar[1].str + yyDollar[2].str
 14140  		}
 14141  	case 1039:
 14142  		yyDollar = yyS[yypt-0 : yypt+1]
 14143  //line sql.y:5199
 14144  		{
 14145  			yyVAL.str = ""
 14146  		}
 14147  	case 1040:
 14148  		yyDollar = yyS[yypt-2 : yypt+1]
 14149  //line sql.y:5203
 14150  		{
 14151  			yyVAL.str = " lines" + yyDollar[2].str
 14152  		}
 14153  	case 1041:
 14154  		yyDollar = yyS[yypt-1 : yypt+1]
 14155  //line sql.y:5209
 14156  		{
 14157  			yyVAL.str = yyDollar[1].str
 14158  		}
 14159  	case 1042:
 14160  		yyDollar = yyS[yypt-2 : yypt+1]
 14161  //line sql.y:5213
 14162  		{
 14163  			yyVAL.str = yyDollar[1].str + yyDollar[2].str
 14164  		}
 14165  	case 1043:
 14166  		yyDollar = yyS[yypt-3 : yypt+1]
 14167  //line sql.y:5219
 14168  		{
 14169  			yyVAL.str = " starting by " + encodeSQLString(yyDollar[3].str)
 14170  		}
 14171  	case 1044:
 14172  		yyDollar = yyS[yypt-3 : yypt+1]
 14173  //line sql.y:5223
 14174  		{
 14175  			yyVAL.str = " terminated by " + encodeSQLString(yyDollar[3].str)
 14176  		}
 14177  	case 1045:
 14178  		yyDollar = yyS[yypt-0 : yypt+1]
 14179  //line sql.y:5228
 14180  		{
 14181  			yyVAL.str = ""
 14182  		}
 14183  	case 1046:
 14184  		yyDollar = yyS[yypt-2 : yypt+1]
 14185  //line sql.y:5232
 14186  		{
 14187  			yyVAL.str = " " + yyDollar[1].str + yyDollar[2].str
 14188  		}
 14189  	case 1047:
 14190  		yyDollar = yyS[yypt-1 : yypt+1]
 14191  //line sql.y:5238
 14192  		{
 14193  			yyVAL.str = yyDollar[1].str
 14194  		}
 14195  	case 1048:
 14196  		yyDollar = yyS[yypt-2 : yypt+1]
 14197  //line sql.y:5242
 14198  		{
 14199  			yyVAL.str = yyDollar[1].str + yyDollar[2].str
 14200  		}
 14201  	case 1049:
 14202  		yyDollar = yyS[yypt-3 : yypt+1]
 14203  //line sql.y:5248
 14204  		{
 14205  			yyVAL.str = " terminated by " + encodeSQLString(yyDollar[3].str)
 14206  		}
 14207  	case 1050:
 14208  		yyDollar = yyS[yypt-4 : yypt+1]
 14209  //line sql.y:5252
 14210  		{
 14211  			yyVAL.str = yyDollar[1].str + " enclosed by " + encodeSQLString(yyDollar[4].str)
 14212  		}
 14213  	case 1051:
 14214  		yyDollar = yyS[yypt-3 : yypt+1]
 14215  //line sql.y:5256
 14216  		{
 14217  			yyVAL.str = " escaped by " + encodeSQLString(yyDollar[3].str)
 14218  		}
 14219  	case 1052:
 14220  		yyDollar = yyS[yypt-0 : yypt+1]
 14221  //line sql.y:5261
 14222  		{
 14223  			yyVAL.str = ""
 14224  		}
 14225  	case 1053:
 14226  		yyDollar = yyS[yypt-1 : yypt+1]
 14227  //line sql.y:5265
 14228  		{
 14229  			yyVAL.str = " optionally"
 14230  		}
 14231  	case 1054:
 14232  		yyDollar = yyS[yypt-2 : yypt+1]
 14233  		var yyLOCAL *Insert
 14234  //line sql.y:5278
 14235  		{
 14236  			yyLOCAL = &Insert{Rows: yyDollar[2].valuesUnion()}
 14237  		}
 14238  		yyVAL.union = yyLOCAL
 14239  	case 1055:
 14240  		yyDollar = yyS[yypt-1 : yypt+1]
 14241  		var yyLOCAL *Insert
 14242  //line sql.y:5282
 14243  		{
 14244  			yyLOCAL = &Insert{Rows: yyDollar[1].selStmtUnion()}
 14245  		}
 14246  		yyVAL.union = yyLOCAL
 14247  	case 1056:
 14248  		yyDollar = yyS[yypt-5 : yypt+1]
 14249  		var yyLOCAL *Insert
 14250  //line sql.y:5286
 14251  		{
 14252  			yyLOCAL = &Insert{Columns: yyDollar[2].columnsUnion(), Rows: yyDollar[5].valuesUnion()}
 14253  		}
 14254  		yyVAL.union = yyLOCAL
 14255  	case 1057:
 14256  		yyDollar = yyS[yypt-4 : yypt+1]
 14257  		var yyLOCAL *Insert
 14258  //line sql.y:5290
 14259  		{
 14260  			yyLOCAL = &Insert{Rows: yyDollar[4].valuesUnion()}
 14261  		}
 14262  		yyVAL.union = yyLOCAL
 14263  	case 1058:
 14264  		yyDollar = yyS[yypt-4 : yypt+1]
 14265  		var yyLOCAL *Insert
 14266  //line sql.y:5294
 14267  		{
 14268  			yyLOCAL = &Insert{Columns: yyDollar[2].columnsUnion(), Rows: yyDollar[4].selStmtUnion()}
 14269  		}
 14270  		yyVAL.union = yyLOCAL
 14271  	case 1059:
 14272  		yyDollar = yyS[yypt-1 : yypt+1]
 14273  		var yyLOCAL Columns
 14274  //line sql.y:5300
 14275  		{
 14276  			yyLOCAL = Columns{yyDollar[1].colIdent}
 14277  		}
 14278  		yyVAL.union = yyLOCAL
 14279  	case 1060:
 14280  		yyDollar = yyS[yypt-3 : yypt+1]
 14281  		var yyLOCAL Columns
 14282  //line sql.y:5304
 14283  		{
 14284  			yyLOCAL = Columns{yyDollar[3].colIdent}
 14285  		}
 14286  		yyVAL.union = yyLOCAL
 14287  	case 1061:
 14288  		yyDollar = yyS[yypt-3 : yypt+1]
 14289  //line sql.y:5308
 14290  		{
 14291  			yySLICE := (*Columns)(yyIaddr(yyVAL.union))
 14292  			*yySLICE = append(*yySLICE, yyDollar[3].colIdent)
 14293  		}
 14294  	case 1062:
 14295  		yyDollar = yyS[yypt-5 : yypt+1]
 14296  //line sql.y:5312
 14297  		{
 14298  			yySLICE := (*Columns)(yyIaddr(yyVAL.union))
 14299  			*yySLICE = append(*yySLICE, yyDollar[5].colIdent)
 14300  		}
 14301  	case 1063:
 14302  		yyDollar = yyS[yypt-0 : yypt+1]
 14303  		var yyLOCAL UpdateExprs
 14304  //line sql.y:5317
 14305  		{
 14306  			yyLOCAL = nil
 14307  		}
 14308  		yyVAL.union = yyLOCAL
 14309  	case 1064:
 14310  		yyDollar = yyS[yypt-5 : yypt+1]
 14311  		var yyLOCAL UpdateExprs
 14312  //line sql.y:5321
 14313  		{
 14314  			yyLOCAL = yyDollar[5].updateExprsUnion()
 14315  		}
 14316  		yyVAL.union = yyLOCAL
 14317  	case 1065:
 14318  		yyDollar = yyS[yypt-1 : yypt+1]
 14319  		var yyLOCAL Values
 14320  //line sql.y:5327
 14321  		{
 14322  			yyLOCAL = Values{yyDollar[1].valTupleUnion()}
 14323  		}
 14324  		yyVAL.union = yyLOCAL
 14325  	case 1066:
 14326  		yyDollar = yyS[yypt-3 : yypt+1]
 14327  //line sql.y:5331
 14328  		{
 14329  			yySLICE := (*Values)(yyIaddr(yyVAL.union))
 14330  			*yySLICE = append(*yySLICE, yyDollar[3].valTupleUnion())
 14331  		}
 14332  	case 1067:
 14333  		yyDollar = yyS[yypt-1 : yypt+1]
 14334  		var yyLOCAL ValTuple
 14335  //line sql.y:5337
 14336  		{
 14337  			yyLOCAL = yyDollar[1].valTupleUnion()
 14338  		}
 14339  		yyVAL.union = yyLOCAL
 14340  	case 1068:
 14341  		yyDollar = yyS[yypt-2 : yypt+1]
 14342  		var yyLOCAL ValTuple
 14343  //line sql.y:5341
 14344  		{
 14345  			yyLOCAL = ValTuple{}
 14346  		}
 14347  		yyVAL.union = yyLOCAL
 14348  	case 1069:
 14349  		yyDollar = yyS[yypt-3 : yypt+1]
 14350  		var yyLOCAL ValTuple
 14351  //line sql.y:5347
 14352  		{
 14353  			yyLOCAL = ValTuple(yyDollar[2].exprsUnion())
 14354  		}
 14355  		yyVAL.union = yyLOCAL
 14356  	case 1070:
 14357  		yyDollar = yyS[yypt-1 : yypt+1]
 14358  		var yyLOCAL Expr
 14359  //line sql.y:5352
 14360  		{
 14361  			if len(yyDollar[1].valTupleUnion()) == 1 {
 14362  				yyLOCAL = yyDollar[1].valTupleUnion()[0]
 14363  			} else {
 14364  				yyLOCAL = yyDollar[1].valTupleUnion()
 14365  			}
 14366  		}
 14367  		yyVAL.union = yyLOCAL
 14368  	case 1071:
 14369  		yyDollar = yyS[yypt-1 : yypt+1]
 14370  		var yyLOCAL UpdateExprs
 14371  //line sql.y:5362
 14372  		{
 14373  			yyLOCAL = UpdateExprs{yyDollar[1].updateExprUnion()}
 14374  		}
 14375  		yyVAL.union = yyLOCAL
 14376  	case 1072:
 14377  		yyDollar = yyS[yypt-3 : yypt+1]
 14378  //line sql.y:5366
 14379  		{
 14380  			yySLICE := (*UpdateExprs)(yyIaddr(yyVAL.union))
 14381  			*yySLICE = append(*yySLICE, yyDollar[3].updateExprUnion())
 14382  		}
 14383  	case 1073:
 14384  		yyDollar = yyS[yypt-3 : yypt+1]
 14385  		var yyLOCAL *UpdateExpr
 14386  //line sql.y:5372
 14387  		{
 14388  			yyLOCAL = &UpdateExpr{Name: yyDollar[1].colNameUnion(), Expr: yyDollar[3].exprUnion()}
 14389  		}
 14390  		yyVAL.union = yyLOCAL
 14391  	case 1074:
 14392  		yyDollar = yyS[yypt-1 : yypt+1]
 14393  		var yyLOCAL SetExprs
 14394  //line sql.y:5378
 14395  		{
 14396  			yyLOCAL = SetExprs{yyDollar[1].setExprUnion()}
 14397  		}
 14398  		yyVAL.union = yyLOCAL
 14399  	case 1075:
 14400  		yyDollar = yyS[yypt-3 : yypt+1]
 14401  //line sql.y:5382
 14402  		{
 14403  			yySLICE := (*SetExprs)(yyIaddr(yyVAL.union))
 14404  			*yySLICE = append(*yySLICE, yyDollar[3].setExprUnion())
 14405  		}
 14406  	case 1076:
 14407  		yyDollar = yyS[yypt-3 : yypt+1]
 14408  		var yyLOCAL *SetExpr
 14409  //line sql.y:5388
 14410  		{
 14411  			yyLOCAL = &SetExpr{Name: yyDollar[1].colIdent, Scope: ImplicitScope, Expr: NewStrLiteral("on")}
 14412  		}
 14413  		yyVAL.union = yyLOCAL
 14414  	case 1077:
 14415  		yyDollar = yyS[yypt-3 : yypt+1]
 14416  		var yyLOCAL *SetExpr
 14417  //line sql.y:5392
 14418  		{
 14419  			yyLOCAL = &SetExpr{Name: yyDollar[1].colIdent, Scope: ImplicitScope, Expr: NewStrLiteral("off")}
 14420  		}
 14421  		yyVAL.union = yyLOCAL
 14422  	case 1078:
 14423  		yyDollar = yyS[yypt-3 : yypt+1]
 14424  		var yyLOCAL *SetExpr
 14425  //line sql.y:5396
 14426  		{
 14427  			yyLOCAL = &SetExpr{Name: yyDollar[1].colIdent, Scope: ImplicitScope, Expr: yyDollar[3].exprUnion()}
 14428  		}
 14429  		yyVAL.union = yyLOCAL
 14430  	case 1079:
 14431  		yyDollar = yyS[yypt-3 : yypt+1]
 14432  		var yyLOCAL *SetExpr
 14433  //line sql.y:5400
 14434  		{
 14435  			yyLOCAL = &SetExpr{Name: NewColIdent(string(yyDollar[1].str)), Scope: ImplicitScope, Expr: yyDollar[2].exprUnion()}
 14436  		}
 14437  		yyVAL.union = yyLOCAL
 14438  	case 1080:
 14439  		yyDollar = yyS[yypt-2 : yypt+1]
 14440  		var yyLOCAL *SetExpr
 14441  //line sql.y:5404
 14442  		{
 14443  			yyDollar[2].setExprUnion().Scope = yyDollar[1].scopeUnion()
 14444  			yyLOCAL = yyDollar[2].setExprUnion()
 14445  		}
 14446  		yyVAL.union = yyLOCAL
 14447  	case 1082:
 14448  		yyDollar = yyS[yypt-2 : yypt+1]
 14449  //line sql.y:5412
 14450  		{
 14451  			yyVAL.str = "charset"
 14452  		}
 14453  	case 1085:
 14454  		yyDollar = yyS[yypt-1 : yypt+1]
 14455  		var yyLOCAL Expr
 14456  //line sql.y:5422
 14457  		{
 14458  			yyLOCAL = NewStrLiteral(yyDollar[1].colIdent.String())
 14459  		}
 14460  		yyVAL.union = yyLOCAL
 14461  	case 1086:
 14462  		yyDollar = yyS[yypt-1 : yypt+1]
 14463  		var yyLOCAL Expr
 14464  //line sql.y:5426
 14465  		{
 14466  			yyLOCAL = NewStrLiteral(yyDollar[1].str)
 14467  		}
 14468  		yyVAL.union = yyLOCAL
 14469  	case 1087:
 14470  		yyDollar = yyS[yypt-1 : yypt+1]
 14471  		var yyLOCAL Expr
 14472  //line sql.y:5430
 14473  		{
 14474  			yyLOCAL = &Default{}
 14475  		}
 14476  		yyVAL.union = yyLOCAL
 14477  	case 1090:
 14478  		yyDollar = yyS[yypt-0 : yypt+1]
 14479  		var yyLOCAL bool
 14480  //line sql.y:5439
 14481  		{
 14482  			yyLOCAL = false
 14483  		}
 14484  		yyVAL.union = yyLOCAL
 14485  	case 1091:
 14486  		yyDollar = yyS[yypt-1 : yypt+1]
 14487  		var yyLOCAL bool
 14488  //line sql.y:5441
 14489  		{
 14490  			yyLOCAL = true
 14491  		}
 14492  		yyVAL.union = yyLOCAL
 14493  	case 1092:
 14494  		yyDollar = yyS[yypt-0 : yypt+1]
 14495  		var yyLOCAL bool
 14496  //line sql.y:5444
 14497  		{
 14498  			yyLOCAL = false
 14499  		}
 14500  		yyVAL.union = yyLOCAL
 14501  	case 1093:
 14502  		yyDollar = yyS[yypt-2 : yypt+1]
 14503  		var yyLOCAL bool
 14504  //line sql.y:5446
 14505  		{
 14506  			yyLOCAL = true
 14507  		}
 14508  		yyVAL.union = yyLOCAL
 14509  	case 1094:
 14510  		yyDollar = yyS[yypt-0 : yypt+1]
 14511  		var yyLOCAL bool
 14512  //line sql.y:5449
 14513  		{
 14514  			yyLOCAL = false
 14515  		}
 14516  		yyVAL.union = yyLOCAL
 14517  	case 1095:
 14518  		yyDollar = yyS[yypt-3 : yypt+1]
 14519  		var yyLOCAL bool
 14520  //line sql.y:5451
 14521  		{
 14522  			yyLOCAL = true
 14523  		}
 14524  		yyVAL.union = yyLOCAL
 14525  	case 1096:
 14526  		yyDollar = yyS[yypt-0 : yypt+1]
 14527  		var yyLOCAL Ignore
 14528  //line sql.y:5454
 14529  		{
 14530  			yyLOCAL = false
 14531  		}
 14532  		yyVAL.union = yyLOCAL
 14533  	case 1097:
 14534  		yyDollar = yyS[yypt-1 : yypt+1]
 14535  		var yyLOCAL Ignore
 14536  //line sql.y:5456
 14537  		{
 14538  			yyLOCAL = true
 14539  		}
 14540  		yyVAL.union = yyLOCAL
 14541  	case 1098:
 14542  		yyDollar = yyS[yypt-0 : yypt+1]
 14543  //line sql.y:5459
 14544  		{
 14545  			yyVAL.empty = struct{}{}
 14546  		}
 14547  	case 1099:
 14548  		yyDollar = yyS[yypt-1 : yypt+1]
 14549  //line sql.y:5461
 14550  		{
 14551  			yyVAL.empty = struct{}{}
 14552  		}
 14553  	case 1100:
 14554  		yyDollar = yyS[yypt-1 : yypt+1]
 14555  //line sql.y:5463
 14556  		{
 14557  			yyVAL.empty = struct{}{}
 14558  		}
 14559  	case 1101:
 14560  		yyDollar = yyS[yypt-5 : yypt+1]
 14561  		var yyLOCAL Statement
 14562  //line sql.y:5467
 14563  		{
 14564  			yyLOCAL = &CallProc{Name: yyDollar[2].tableName, Params: yyDollar[4].exprsUnion()}
 14565  		}
 14566  		yyVAL.union = yyLOCAL
 14567  	case 1102:
 14568  		yyDollar = yyS[yypt-0 : yypt+1]
 14569  		var yyLOCAL Exprs
 14570  //line sql.y:5472
 14571  		{
 14572  			yyLOCAL = nil
 14573  		}
 14574  		yyVAL.union = yyLOCAL
 14575  	case 1103:
 14576  		yyDollar = yyS[yypt-1 : yypt+1]
 14577  		var yyLOCAL Exprs
 14578  //line sql.y:5476
 14579  		{
 14580  			yyLOCAL = yyDollar[1].exprsUnion()
 14581  		}
 14582  		yyVAL.union = yyLOCAL
 14583  	case 1104:
 14584  		yyDollar = yyS[yypt-0 : yypt+1]
 14585  		var yyLOCAL []*IndexOption
 14586  //line sql.y:5481
 14587  		{
 14588  			yyLOCAL = nil
 14589  		}
 14590  		yyVAL.union = yyLOCAL
 14591  	case 1105:
 14592  		yyDollar = yyS[yypt-1 : yypt+1]
 14593  		var yyLOCAL []*IndexOption
 14594  //line sql.y:5483
 14595  		{
 14596  			yyLOCAL = []*IndexOption{yyDollar[1].indexOptionUnion()}
 14597  		}
 14598  		yyVAL.union = yyLOCAL
 14599  	case 1106:
 14600  		yyDollar = yyS[yypt-2 : yypt+1]
 14601  		var yyLOCAL *IndexOption
 14602  //line sql.y:5487
 14603  		{
 14604  			yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), String: string(yyDollar[2].colIdent.String())}
 14605  		}
 14606  		yyVAL.union = yyLOCAL
 14607  	case 1107:
 14608  		yyDollar = yyS[yypt-1 : yypt+1]
 14609  //line sql.y:5493
 14610  		{
 14611  			yyVAL.colIdent = yyDollar[1].colIdent
 14612  		}
 14613  	case 1108:
 14614  		yyDollar = yyS[yypt-1 : yypt+1]
 14615  //line sql.y:5497
 14616  		{
 14617  			yyVAL.colIdent = NewColIdent(string(yyDollar[1].str))
 14618  		}
 14619  	case 1110:
 14620  		yyDollar = yyS[yypt-1 : yypt+1]
 14621  //line sql.y:5504
 14622  		{
 14623  			yyVAL.colIdent = NewColIdent(string(yyDollar[1].str))
 14624  		}
 14625  	case 1111:
 14626  		yyDollar = yyS[yypt-1 : yypt+1]
 14627  //line sql.y:5510
 14628  		{
 14629  			yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].colIdent.String()))
 14630  		}
 14631  	case 1112:
 14632  		yyDollar = yyS[yypt-1 : yypt+1]
 14633  //line sql.y:5514
 14634  		{
 14635  			yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].str))
 14636  		}
 14637  	case 1113:
 14638  		yyDollar = yyS[yypt-0 : yypt+1]
 14639  //line sql.y:5520
 14640  		{
 14641  			yyVAL.tableIdent = NewTableIdent("")
 14642  		}
 14643  	case 1114:
 14644  		yyDollar = yyS[yypt-1 : yypt+1]
 14645  //line sql.y:5524
 14646  		{
 14647  			yyVAL.tableIdent = yyDollar[1].tableIdent
 14648  		}
 14649  	case 1116:
 14650  		yyDollar = yyS[yypt-1 : yypt+1]
 14651  //line sql.y:5531
 14652  		{
 14653  			yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].str))
 14654  		}
 14655  	case 1559:
 14656  		yyDollar = yyS[yypt-1 : yypt+1]
 14657  //line sql.y:5998
 14658  		{
 14659  			if incNesting(yylex) {
 14660  				yylex.Error("max nesting level reached")
 14661  				return 1
 14662  			}
 14663  		}
 14664  	case 1560:
 14665  		yyDollar = yyS[yypt-1 : yypt+1]
 14666  //line sql.y:6007
 14667  		{
 14668  			decNesting(yylex)
 14669  		}
 14670  	case 1561:
 14671  		yyDollar = yyS[yypt-0 : yypt+1]
 14672  //line sql.y:6012
 14673  		{
 14674  			skipToEnd(yylex)
 14675  		}
 14676  	case 1562:
 14677  		yyDollar = yyS[yypt-0 : yypt+1]
 14678  //line sql.y:6017
 14679  		{
 14680  			skipToEnd(yylex)
 14681  		}
 14682  	case 1563:
 14683  		yyDollar = yyS[yypt-1 : yypt+1]
 14684  //line sql.y:6021
 14685  		{
 14686  			skipToEnd(yylex)
 14687  		}
 14688  	case 1564:
 14689  		yyDollar = yyS[yypt-1 : yypt+1]
 14690  //line sql.y:6025
 14691  		{
 14692  			skipToEnd(yylex)
 14693  		}
 14694  	}
 14695  	goto yystack /* stack new state and value */
 14696  }